/* global describe, it */ var assert = require('assert'); var Address = require('../src/address.js'); describe('Address', function() { describe('toString', function() { it('defaults to base58', function() { var addr = '18fN1QTGWmHWCA9r2dyDH6FbMEyc7XHmQQ'; assert.equal((new Address(addr)).toString(), addr); }) }) describe('validate', function() { it('validates known good addresses', function() { function validate(addr) { assert.ok(Address.validate(addr)); } 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'); }) it('does not validate illegal examples', function() { function invalid(addr) { assert.ok(!Address.validate(addr)); } invalid(''); invalid('mzBc4XEFSdzCDcTxAgf6EZXgsZWpztRhe'); // invalid('1A1zP1eP5QGefi2DMPTfTL5SLmv7DivfNa', 'testnet'); // invalid('mzBc4XEFSdzCDcTxAgf6EZXgsZWpztRhef', 'prod'); // invalid base58 string invalid('%%@'); }) }) })