Book a Demo!
CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutPoliciesSign UpSign In
Download
80512 views
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
}
143
144