| var browserify = require('../'); |
| var test = require('tap').test; |
| var vm = require('vm'); |
| |
| test('utf8 buffer to base64', function (t) { |
| t.plan(1); |
| var b = browserify(); |
| b.require('buffer'); |
| b.bundle(function (err, src) { |
| if (err) return t.fail(err); |
| var c = context(); |
| vm.runInNewContext(src, c); |
| t.equal( |
| new c.require('buffer').Buffer("Ձאab", "utf8").toString("base64"), |
| new Buffer("Ձאab", "utf8").toString("base64") |
| ); |
| }); |
| }); |
| |
| test('utf8 buffer to hex', function (t) { |
| t.plan(1); |
| var b = browserify(); |
| b.require('buffer'); |
| b.bundle(function (err, src) { |
| var c = context(); |
| vm.runInNewContext(src, c); |
| t.equal( |
| new c.require('buffer').Buffer("Ձאab", "utf8").toString("hex"), |
| new Buffer("Ձאab", "utf8").toString("hex") |
| ); |
| }); |
| }); |
| |
| test('ascii buffer to base64', function (t) { |
| t.plan(1); |
| var b = browserify(); |
| b.require('buffer'); |
| |
| b.bundle(function (err, src) { |
| var c = context(); |
| vm.runInNewContext(src, c); |
| t.equal( |
| new c.require('buffer').Buffer("123456!@#$%^", "ascii").toString("base64"), |
| new Buffer("123456!@#$%^", "ascii").toString("base64") |
| ); |
| }); |
| }); |
| |
| test('ascii buffer to hex', function (t) { |
| t.plan(1); |
| var b = browserify(); |
| b.require('buffer'); |
| b.bundle(function (err, src) { |
| var c = context(); |
| vm.runInNewContext(src, c); |
| t.equal( |
| new c.require('buffer').Buffer("123456!@#$%^", "ascii").toString("hex"), |
| new Buffer("123456!@#$%^", "ascii").toString("hex") |
| ); |
| }); |
| }); |
| |
| test('base64 buffer to utf8', function (t) { |
| t.plan(1); |
| var b = browserify(); |
| b.require('buffer'); |
| b.bundle(function (err, src) { |
| var c = context(); |
| vm.runInNewContext(src, c); |
| t.equal( |
| new c.require('buffer').Buffer("1YHXkGFi", "base64").toString("utf8"), |
| new Buffer("1YHXkGFi", "base64").toString("utf8") |
| ); |
| }); |
| }); |
| |
| test('hex buffer to utf8', function (t) { |
| t.plan(1); |
| var b = browserify(); |
| b.require('buffer'); |
| b.bundle(function (err, src) { |
| var c = context(); |
| vm.runInNewContext(src, c); |
| var B = c.require('buffer'); |
| t.equal( |
| new B.Buffer("d581d7906162", "hex").toString("utf8"), |
| new Buffer("d581d7906162", "hex").toString("utf8") |
| ); |
| }); |
| }); |
| |
| test('base64 buffer to ascii', function (t) { |
| t.plan(1); |
| var b = browserify(); |
| b.require('buffer'); |
| b.bundle(function (err, src) { |
| var c = context(); |
| vm.runInNewContext(src, c); |
| t.equal( |
| new c.require('buffer').Buffer("MTIzNDU2IUAjJCVe", "base64").toString("ascii"), |
| new Buffer("MTIzNDU2IUAjJCVe", "base64").toString("ascii") |
| ); |
| }); |
| }); |
| |
| test('hex buffer to ascii', function (t) { |
| t.plan(1); |
| var b = browserify(); |
| b.require('buffer'); |
| b.bundle(function (err, src) { |
| var c = context(); |
| vm.runInNewContext(src, c); |
| t.equal( |
| new c.require('buffer').Buffer("31323334353621402324255e", "hex").toString("ascii"), |
| new Buffer("31323334353621402324255e", "hex").toString("ascii") |
| ); |
| }); |
| }); |
| |
| test('indexing a buffer', function (t) { |
| t.plan(5); |
| var b = browserify(); |
| b.require('buffer'); |
| b.bundle(function (err, src) { |
| var c = context(); |
| vm.runInNewContext(src, c); |
| var buf = c.require('buffer').Buffer('abc'); |
| t.equal(buf[0], 97); |
| t.equal(buf[1], 98); |
| t.equal(buf[2], 99); |
| t.equal(buf[3], undefined); |
| t.equal(buf.toString('utf8'), 'abc'); |
| }); |
| }); |
| |
| function context () { |
| return { |
| ArrayBuffer: ArrayBuffer, |
| Uint8Array: Uint8Array, |
| DataView: DataView |
| }; |
| } |