UNPKG

4.01 kBJavaScriptView Raw
1var browserify = require('../');
2var test = require('tap').test;
3var vm = require('vm');
4
5if (!ArrayBuffer.isView) ArrayBuffer.isView = function () { return false; };
6
7test('utf8 buffer to base64', function (t) {
8 t.plan(1);
9 var b = browserify();
10 b.require('buffer');
11 b.bundle(function (err, src) {
12 if (err) return t.fail(err);
13 var c = context();
14 vm.runInNewContext(src, c);
15 t.equal(
16 new c.require('buffer').Buffer("Ձאab", "utf8").toString("base64"),
17 new Buffer("Ձאab", "utf8").toString("base64")
18 );
19 });
20});
21
22test('utf8 buffer to hex', function (t) {
23 t.plan(1);
24 var b = browserify();
25 b.require('buffer');
26 b.bundle(function (err, src) {
27 var c = context();
28 vm.runInNewContext(src, c);
29 t.equal(
30 new c.require('buffer').Buffer("Ձאab", "utf8").toString("hex"),
31 new Buffer("Ձאab", "utf8").toString("hex")
32 );
33 });
34});
35
36test('ascii buffer to base64', function (t) {
37 t.plan(1);
38 var b = browserify();
39 b.require('buffer');
40
41 b.bundle(function (err, src) {
42 var c = context();
43 vm.runInNewContext(src, c);
44 t.equal(
45 new c.require('buffer').Buffer("123456!@#$%^", "ascii").toString("base64"),
46 new Buffer("123456!@#$%^", "ascii").toString("base64")
47 );
48 });
49});
50
51test('ascii buffer to hex', function (t) {
52 t.plan(1);
53 var b = browserify();
54 b.require('buffer');
55 b.bundle(function (err, src) {
56 var c = context();
57 vm.runInNewContext(src, c);
58 t.equal(
59 new c.require('buffer').Buffer("123456!@#$%^", "ascii").toString("hex"),
60 new Buffer("123456!@#$%^", "ascii").toString("hex")
61 );
62 });
63});
64
65test('base64 buffer to utf8', function (t) {
66 t.plan(1);
67 var b = browserify();
68 b.require('buffer');
69 b.bundle(function (err, src) {
70 var c = context();
71 vm.runInNewContext(src, c);
72 t.equal(
73 new c.require('buffer').Buffer("1YHXkGFi", "base64").toString("utf8"),
74 new Buffer("1YHXkGFi", "base64").toString("utf8")
75 );
76 });
77});
78
79test('hex buffer to utf8', function (t) {
80 t.plan(1);
81 var b = browserify();
82 b.require('buffer');
83 b.bundle(function (err, src) {
84 var c = context();
85 vm.runInNewContext(src, c);
86 var B = c.require('buffer');
87 t.equal(
88 new B.Buffer("d581d7906162", "hex").toString("utf8"),
89 new Buffer("d581d7906162", "hex").toString("utf8")
90 );
91 });
92});
93
94test('base64 buffer to ascii', function (t) {
95 t.plan(1);
96 var b = browserify();
97 b.require('buffer');
98 b.bundle(function (err, src) {
99 var c = context();
100 vm.runInNewContext(src, c);
101 t.equal(
102 new c.require('buffer').Buffer("MTIzNDU2IUAjJCVe", "base64").toString("ascii"),
103 new Buffer("MTIzNDU2IUAjJCVe", "base64").toString("ascii")
104 );
105 });
106});
107
108test('hex buffer to ascii', function (t) {
109 t.plan(1);
110 var b = browserify();
111 b.require('buffer');
112 b.bundle(function (err, src) {
113 var c = context();
114 vm.runInNewContext(src, c);
115 t.equal(
116 new c.require('buffer').Buffer("31323334353621402324255e", "hex").toString("ascii"),
117 new Buffer("31323334353621402324255e", "hex").toString("ascii")
118 );
119 });
120});
121
122test('indexing a buffer', function (t) {
123 t.plan(5);
124 var b = browserify();
125 b.require('buffer');
126 b.bundle(function (err, src) {
127 var c = context();
128 vm.runInNewContext(src, c);
129 var buf = c.require('buffer').Buffer('abc');
130 t.equal(buf[0], 97);
131 t.equal(buf[1], 98);
132 t.equal(buf[2], 99);
133 t.equal(buf[3], undefined);
134 t.equal(buf.toString('utf8'), 'abc');
135 });
136});
137
138function context () {
139 return {
140 ArrayBuffer: ArrayBuffer,
141 Uint8Array: Uint8Array,
142 DataView: DataView
143 };
144}