arnaucube
arnaucube/comunicationLeapPublic Self-hosted repository
comunicationLeap/node_modules/base64-arraybuffer/test/base64-arraybuffer_test.js
node_modules/base64-arraybuffer/test/base64-arraybuffer_test.jsRaw
 1(function(){
 2  "use strict";
 3  var base64_arraybuffer = require('../lib/base64-arraybuffer.js');
 4
 5  /*
 6  ======== A Handy Little Nodeunit Reference ========
 7  https://github.com/caolan/nodeunit
 8
 9  Test methods:
10    test.expect(numAssertions)
11    test.done()
12  Test assertions:
13    test.ok(value, [message])
14    test.equal(actual, expected, [message])
15    test.notEqual(actual, expected, [message])
16    test.deepEqual(actual, expected, [message])
17    test.notDeepEqual(actual, expected, [message])
18    test.strictEqual(actual, expected, [message])
19    test.notStrictEqual(actual, expected, [message])
20    test.throws(block, [error], [message])
21    test.doesNotThrow(block, [error], [message])
22    test.ifError(value)
23*/
24
25
26  function stringArrayBuffer(str) {
27    var buffer = new ArrayBuffer(str.length);
28    var bytes = new Uint8Array(buffer);
29
30    str.split('').forEach(function(str, i) {
31      bytes[i] = str.charCodeAt(0);
32    });
33
34    return buffer;
35  }
36
37  function testArrayBuffers(buffer1, buffer2) {
38    var len1 = buffer1.byteLength,
39    len2 = buffer2.byteLength;
40    if (len1 !== len2) {
41      console.log(buffer1, buffer2);
42      return false;
43    }
44
45    for (var i = 0; i < len1; i++) {
46      if (buffer1[i] !== buffer1[i]) {
47        console.log(i, buffer1, buffer2);
48        return false;
49      }
50    }
51    return true;
52  }
53
54  exports['base64tests'] = {
55    'encode': function(test) {
56      test.expect(4);
57
58      test.equal(base64_arraybuffer.encode(stringArrayBuffer("Hello world")), "SGVsbG8gd29ybGQ=", 'encode "Hello world"');
59      test.equal(base64_arraybuffer.encode(stringArrayBuffer("Man")), 'TWFu', 'encode "Man"');
60      test.equal(base64_arraybuffer.encode(stringArrayBuffer("Ma")), "TWE=", 'encode "Ma"');
61      test.equal(base64_arraybuffer.encode(stringArrayBuffer("Hello worlds!")), "SGVsbG8gd29ybGRzIQ==", 'encode "Hello worlds!"');
62      test.done();
63    },
64    'decode': function(test) {
65      test.expect(3);
66      test.ok(testArrayBuffers(base64_arraybuffer.decode("TWFu"), stringArrayBuffer("Man")), 'decode "Man"');
67      test.ok(testArrayBuffers(base64_arraybuffer.decode("SGVsbG8gd29ybGQ="), stringArrayBuffer("Hello world")), 'decode "Hello world"');
68      test.ok(testArrayBuffers(base64_arraybuffer.decode("SGVsbG8gd29ybGRzIQ=="), stringArrayBuffer("Hello worlds!")), 'decode "Hello worlds!"');
69      test.done();
70    }
71  };
72})();