1 | var browserify = require('../');
|
2 | var test = require('tap').test;
|
3 | var vm = require('vm');
|
4 |
|
5 | test('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 |
|
20 | test('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 |
|
34 | test('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 |
|
49 | test('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 |
|
63 | test('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 |
|
77 | test('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 |
|
92 | test('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 |
|
106 | test('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 |
|
120 | test('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 |
|
136 | function context () {
|
137 | return {
|
138 | ArrayBuffer: ArrayBuffer,
|
139 | Uint8Array: Uint8Array,
|
140 | DataView: DataView
|
141 | };
|
142 | }
|