]>
Commit | Line | Data |
---|---|---|
f8e9b9f1 SR |
1 | // requires local modules: base64 |
2 | var assert = chai.assert; | |
3 | var expect = chai.expect; | |
4 | ||
5 | describe('Base64 Tools', function() { | |
6 | "use strict"; | |
7 | ||
8 | var BIN_ARR = new Array(256); | |
9 | for (var i = 0; i < 256; i++) { | |
10 | BIN_ARR[i] = i; | |
11 | } | |
12 | ||
13 | var B64_STR = "AAECAwQFBgcICQoLDA0ODxAREhMUFRYXGBkaGxwdHh8gISIjJCUmJygpKissLS4vMDEyMzQ1Njc4OTo7PD0+P0BBQkNERUZHSElKS0xNTk9QUVJTVFVWV1hZWltcXV5fYGFiY2RlZmdoaWprbG1ub3BxcnN0dXZ3eHl6e3x9fn+AgYKDhIWGh4iJiouMjY6PkJGSk5SVlpeYmZqbnJ2en6ChoqOkpaanqKmqq6ytrq+wsbKztLW2t7i5uru8vb6/wMHCw8TFxsfIycrLzM3Oz9DR0tPU1dbX2Nna29zd3t/g4eLj5OXm5+jp6uvs7e7v8PHy8/T19vf4+fr7/P3+/w=="; | |
14 | ||
15 | ||
16 | describe('encode', function() { | |
17 | it('should encode a binary string into Base64', function() { | |
18 | var encoded = Base64.encode(BIN_ARR); | |
19 | expect(encoded).to.equal(B64_STR); | |
20 | }); | |
21 | }); | |
22 | ||
23 | describe('decode', function() { | |
24 | it('should decode a Base64 string into a normal string', function() { | |
25 | var decoded = Base64.decode(B64_STR); | |
26 | expect(decoded).to.deep.equal(BIN_ARR); | |
27 | }); | |
28 | ||
29 | it('should throw an error if we have extra characters at the end of the string', function() { | |
30 | expect(function () { Base64.decode(B64_STR+'abcdef'); }).to.throw(Error); | |
31 | }); | |
32 | }); | |
33 | }); |