UNPKG

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