aboutsummaryrefslogtreecommitdiff
path: root/node_modules/base64-js/test/convert.js
diff options
context:
space:
mode:
Diffstat (limited to 'node_modules/base64-js/test/convert.js')
-rw-r--r--node_modules/base64-js/test/convert.js40
1 files changed, 40 insertions, 0 deletions
diff --git a/node_modules/base64-js/test/convert.js b/node_modules/base64-js/test/convert.js
index d68e105d7..017a13322 100644
--- a/node_modules/base64-js/test/convert.js
+++ b/node_modules/base64-js/test/convert.js
@@ -29,6 +29,46 @@ test('convert to base64 and back', function (t) {
}
})
+var data = [
+ [[0, 0, 0], 'AAAA'],
+ [[0, 0, 1], 'AAAB'],
+ [[0, 1, -1], 'AAH/'],
+ [[1, 1, 1], 'AQEB'],
+ [[0, -73, 23], 'ALcX']
+]
+
+test('convert known data to string', function (t) {
+ for (var i = 0; i < data.length; i++) {
+ var bytes = data[i][0]
+ var expected = data[i][1]
+ var actual = b64.fromByteArray(bytes)
+ t.equal(actual, expected, 'Ensure that ' + bytes + ' serialise to ' + expected)
+ }
+ t.end()
+})
+
+test('convert known data from string', function (t) {
+ for (var i = 0; i < data.length; i++) {
+ var expected = data[i][0]
+ var string = data[i][1]
+ var actual = b64.toByteArray(string)
+ t.ok(equal(actual, expected), 'Ensure that ' + string + ' deserialise to ' + expected)
+ var length = b64.byteLength(string)
+ t.equal(length, expected.length, 'Ensure that ' + string + ' has byte lentgh of ' + expected.length)
+ }
+ t.end()
+})
+
+function equal (a, b) {
+ var i
+ var length = a.length
+ if (length !== b.length) return false
+ for (i = 0; i < length; ++i) {
+ if ((a[i] & 0xFF) !== (b[i] & 0xFF)) return false
+ }
+ return true
+}
+
function map (arr, callback) {
var res = []
var kValue, mappedValue