/* * $Id: dankogai.js,v 0.4 2012/08/24 05:23:18 dankogai Exp dankogai $ * * use mocha to test me * http://visionmedia.github.com/mocha/ */ var assert = assert || require("assert"); var Base64 = Base64 || require('../base64.js').Base64; var is = function (a, e, m) { return function () { assert.equal(a, e, m) } }; describe('basic', function () { it('d', is(Base64.encode('d'), 'ZA==')); it('da', is(Base64.encode('da'), 'ZGE=')); it('dan', is(Base64.encode('dan'), 'ZGFu')); it('ZA==', is(Base64.decode('ZA=='), 'd' )); it('ZGE=', is(Base64.decode('ZGE='), 'da' )); it('ZGFu', is(Base64.decode('ZGFu'), 'dan' )); }); describe('whitespace', function () { it('Z A==', is(Base64.decode('ZA =='), 'd' )); it('ZG E=', is(Base64.decode('ZG E='), 'da' )); it('ZGF u', is(Base64.decode('ZGF u'), 'dan' )); }); describe('null', function () { it('\\0', is(Base64.encode('\0'), 'AA==')); it('\\0\\0', is(Base64.encode('\0\0'), 'AAA=')); it('\\0\\0\\0', is(Base64.encode('\0\0\0'), 'AAAA')); it('AA==', is(Base64.decode('AA=='), '\0' )); it('AAA=', is(Base64.decode('AAA='), '\0\0' )); it('AAAA', is(Base64.decode('AAAA'), '\0\0\0')); }); describe('Base64', function () { it('.encode', is(Base64.encode('小飼弾'), '5bCP6aO85by+')); it('.encodeURI', is(Base64.encodeURI('小飼弾'), '5bCP6aO85by-')); it('.decode', is(Base64.decode('5bCP6aO85by+'), '小飼弾')); it('.decode', is(Base64.decode('5bCP6aO85by-'), '小飼弾')); }); if (typeof Uint8Array === 'function') describe('fromUint8Array', function() { it('dankogai', is(Base64.fromUint8Array(new Uint8Array([100,97,110,107,111,103,97,105])), Base64.encode('dankogai'))); it('dankoga', is(Base64.fromUint8Array(new Uint8Array([100,97,110,107,111,103,97])), Base64.encode('dankoga'))); it('dankog', is(Base64.fromUint8Array(new Uint8Array([100,97,110,107,111,103])), Base64.encode('dankog'))); it('danko', is(Base64.fromUint8Array(new Uint8Array([100,97,110,107,111])), Base64.encode('danko'))); it('dank', is(Base64.fromUint8Array(new Uint8Array([100,97,110,107])), Base64.encode('dank'))); it('dan', is(Base64.fromUint8Array(new Uint8Array([100,97,110])), Base64.encode('dan'))); it('da', is(Base64.fromUint8Array(new Uint8Array([100,97])), Base64.encode('da'))); it('d', is(Base64.fromUint8Array(new Uint8Array([100])), Base64.encode('d'))); it('', is(Base64.fromUint8Array(new Uint8Array([])), Base64.encode(''))); }); if (typeof Uint8Array === 'function') describe('toUint8Array', function() { it('ZGFua29nYWk=', is(Base64.toUint8Array('ZGFua29nYWk=').toString(), '100,97,110,107,111,103,97,105')); it('ZGFua29nYQ==', is(Base64.toUint8Array('ZGFua29nYQ==').toString(), '100,97,110,107,111,103,97')); it('ZGFua29n', is(Base64.toUint8Array('ZGFua29n').toString(), '100,97,110,107,111,103')); it('ZGFua28=', is(Base64.toUint8Array('ZGFua28=').toString(), '100,97,110,107,111')); it('ZGFuaw==', is(Base64.toUint8Array('ZGFuaw==').toString(), '100,97,110,107')); it('ZGFu', is(Base64.toUint8Array('ZGFu').toString(), '100,97,110')); it('ZGE=', is(Base64.toUint8Array('ZGE=').toString(), '100,97')); it('ZA==', is(Base64.toUint8Array('ZA==').toString(), '100')); it('', is(Base64.toUint8Array('').toString(), '')); });