2013-02-17 06:39:15 +01:00
|
|
|
var assert = require('assert');
|
2013-02-17 06:51:16 +01:00
|
|
|
var Address = require('..').Address;
|
2013-02-17 06:39:15 +01:00
|
|
|
|
|
|
|
test('string', function() {
|
|
|
|
var addr = '18fN1QTGWmHWCA9r2dyDH6FbMEyc7XHmQQ';
|
|
|
|
assert.equal((new Address(addr)).toString(), addr);
|
|
|
|
});
|
|
|
|
|
|
|
|
test('valid', function() {
|
|
|
|
function validate(addr, type) {
|
|
|
|
assert.ok(Address.validate(addr, type));
|
|
|
|
};
|
|
|
|
|
|
|
|
validate('1A1zP1eP5QGefi2DMPTfTL5SLmv7DivfNa');
|
|
|
|
validate('1A1zP1eP5QGefi2DMPTfTL5SLmv7DivfNa', 'prod');
|
|
|
|
validate('mzBc4XEFSdzCDcTxAgf6EZXgsZWpztRhef');
|
|
|
|
validate('mzBc4XEFSdzCDcTxAgf6EZXgsZWpztRhef', 'testnet');
|
|
|
|
|
|
|
|
validate('12KYrjTdVGjFMtaxERSk3gphreJ5US8aUP');
|
|
|
|
validate('12QeMLzSrB8XH8FvEzPMVoRxVAzTr5XM2y');
|
|
|
|
validate('1oNLrsHnBcR6dpaBpwz3LSwutbUNkNSjs');
|
|
|
|
validate('1SQHtwR5oJRKLfiWQ2APsAd9miUc4k2ez');
|
|
|
|
validate('116CGDLddrZhMrTwhCVJXtXQpxygTT1kHd');
|
|
|
|
|
|
|
|
// p2sh addresses
|
|
|
|
validate('3NJZLcZEEYBpxYEUGewU4knsQRn1WM5Fkt');
|
|
|
|
validate('3NJZLcZEEYBpxYEUGewU4knsQRn1WM5Fkt', 'prod');
|
|
|
|
validate('2MxKEf2su6FGAUfCEAHreGFQvEYrfYNHvL7');
|
|
|
|
validate('2MxKEf2su6FGAUfCEAHreGFQvEYrfYNHvL7', 'testnet');
|
|
|
|
});
|
|
|
|
|
|
|
|
|
|
|
|
test('invalid', function() {
|
|
|
|
function invalid(addr, type) {
|
|
|
|
assert.ok(!Address.validate(addr, type));
|
|
|
|
};
|
|
|
|
|
|
|
|
invalid('');
|
|
|
|
invalid('mzBc4XEFSdzCDcTxAgf6EZXgsZWpztRhe');
|
|
|
|
invalid('1A1zP1eP5QGefi2DMPTfTL5SLmv7DivfNa', 'testnet');
|
|
|
|
invalid('mzBc4XEFSdzCDcTxAgf6EZXgsZWpztRhef', 'prod');
|
|
|
|
|
|
|
|
// invalid base58 string
|
|
|
|
invalid('%%@');
|
|
|
|
});
|
|
|
|
|