aswi2020vldc-gitlab/templetes/node_modules/buffer/test/to-string.js @ 3a515b92
1 |
if (process.env.OBJECT_IMPL) global.TYPED_ARRAY_SUPPORT = false |
---|---|
2 |
var B = require('../').Buffer |
3 |
var test = require('tape') |
4 |
|
5 |
test('utf8 buffer to base64', function (t) { |
6 |
t.equal( |
7 |
new B('Ձאab', 'utf8').toString('base64'), |
8 |
'1YHXkGFi' |
9 |
)
|
10 |
t.end() |
11 |
})
|
12 |
|
13 |
test('utf8 buffer to hex', function (t) { |
14 |
t.equal( |
15 |
new B('Ձאab', 'utf8').toString('hex'), |
16 |
'd581d7906162' |
17 |
)
|
18 |
t.end() |
19 |
})
|
20 |
|
21 |
test('utf8 to utf8', function (t) { |
22 |
t.equal( |
23 |
new B('öäüõÖÄÜÕ', 'utf8').toString('utf8'), |
24 |
'öäüõÖÄÜÕ' |
25 |
)
|
26 |
t.end() |
27 |
})
|
28 |
|
29 |
test('utf16le to utf16', function (t) { |
30 |
t.equal( |
31 |
new B(new B('abcd', 'utf8').toString('utf16le'), 'utf16le').toString('utf8'), |
32 |
'abcd' |
33 |
)
|
34 |
t.end() |
35 |
})
|
36 |
|
37 |
test('utf16le to hex', function (t) { |
38 |
t.equal( |
39 |
new B('abcd', 'utf16le').toString('hex'), |
40 |
'6100620063006400' |
41 |
)
|
42 |
t.end() |
43 |
})
|
44 |
|
45 |
test('ascii buffer to base64', function (t) { |
46 |
t.equal( |
47 |
new B('123456!@#$%^', 'ascii').toString('base64'), |
48 |
'MTIzNDU2IUAjJCVe' |
49 |
)
|
50 |
t.end() |
51 |
})
|
52 |
|
53 |
test('ascii buffer to hex', function (t) { |
54 |
t.equal( |
55 |
new B('123456!@#$%^', 'ascii').toString('hex'), |
56 |
'31323334353621402324255e' |
57 |
)
|
58 |
t.end() |
59 |
})
|
60 |
|
61 |
test('base64 buffer to utf8', function (t) { |
62 |
t.equal( |
63 |
new B('1YHXkGFi', 'base64').toString('utf8'), |
64 |
'Ձאab' |
65 |
)
|
66 |
t.end() |
67 |
})
|
68 |
|
69 |
test('hex buffer to utf8', function (t) { |
70 |
t.equal( |
71 |
new B('d581d7906162', 'hex').toString('utf8'), |
72 |
'Ձאab' |
73 |
)
|
74 |
t.end() |
75 |
})
|
76 |
|
77 |
test('base64 buffer to ascii', function (t) { |
78 |
t.equal( |
79 |
new B('MTIzNDU2IUAjJCVe', 'base64').toString('ascii'), |
80 |
'123456!@#$%^' |
81 |
)
|
82 |
t.end() |
83 |
})
|
84 |
|
85 |
test('hex buffer to ascii', function (t) { |
86 |
t.equal( |
87 |
new B('31323334353621402324255e', 'hex').toString('ascii'), |
88 |
'123456!@#$%^' |
89 |
)
|
90 |
t.end() |
91 |
})
|
92 |
|
93 |
test('base64 buffer to binary', function (t) { |
94 |
t.equal( |
95 |
new B('MTIzNDU2IUAjJCVe', 'base64').toString('binary'), |
96 |
'123456!@#$%^' |
97 |
)
|
98 |
t.end() |
99 |
})
|
100 |
|
101 |
test('hex buffer to binary', function (t) { |
102 |
t.equal( |
103 |
new B('31323334353621402324255e', 'hex').toString('binary'), |
104 |
'123456!@#$%^' |
105 |
)
|
106 |
t.end() |
107 |
})
|
108 |
|
109 |
test('utf8 to binary', function (t) { |
110 |
/* jshint -W100 */
|
111 |
t.equal( |
112 |
new B('öäüõÖÄÜÕ', 'utf8').toString('binary'), |
113 |
'öäüõÃÃÃÃ' |
114 |
)
|
115 |
/* jshint +W100 */
|
116 |
t.end() |
117 |
})
|
118 |
|
119 |
test('utf8 replacement chars (1 byte sequence)', function (t) { |
120 |
t.equal( |
121 |
new B([ 0x80 ]).toString(), |
122 |
'\uFFFD' |
123 |
)
|
124 |
t.equal( |
125 |
new B([ 0x7F ]).toString(), |
126 |
'\u007F' |
127 |
)
|
128 |
t.end() |
129 |
})
|
130 |
|
131 |
test('utf8 replacement chars (2 byte sequences)', function (t) { |
132 |
t.equal( |
133 |
new B([ 0xC7 ]).toString(), |
134 |
'\uFFFD' |
135 |
)
|
136 |
t.equal( |
137 |
new B([ 0xC7, 0xB1 ]).toString(), |
138 |
'\u01F1' |
139 |
)
|
140 |
t.equal( |
141 |
new B([ 0xC0, 0xB1 ]).toString(), |
142 |
'\uFFFD\uFFFD' |
143 |
)
|
144 |
t.equal( |
145 |
new B([ 0xC1, 0xB1 ]).toString(), |
146 |
'\uFFFD\uFFFD' |
147 |
)
|
148 |
t.end() |
149 |
})
|
150 |
|
151 |
test('utf8 replacement chars (3 byte sequences)', function (t) { |
152 |
t.equal( |
153 |
new B([ 0xE0 ]).toString(), |
154 |
'\uFFFD' |
155 |
)
|
156 |
t.equal( |
157 |
new B([ 0xE0, 0xAC ]).toString(), |
158 |
'\uFFFD\uFFFD' |
159 |
)
|
160 |
t.equal( |
161 |
new B([ 0xE0, 0xAC, 0xB9 ]).toString(), |
162 |
'\u0B39' |
163 |
)
|
164 |
t.end() |
165 |
})
|
166 |
|
167 |
test('utf8 replacement chars (4 byte sequences)', function (t) { |
168 |
t.equal( |
169 |
new B([ 0xF4 ]).toString(), |
170 |
'\uFFFD' |
171 |
)
|
172 |
t.equal( |
173 |
new B([ 0xF4, 0x8F ]).toString(), |
174 |
'\uFFFD\uFFFD' |
175 |
)
|
176 |
t.equal( |
177 |
new B([ 0xF4, 0x8F, 0x80 ]).toString(), |
178 |
'\uFFFD\uFFFD\uFFFD' |
179 |
)
|
180 |
t.equal( |
181 |
new B([ 0xF4, 0x8F, 0x80, 0x84 ]).toString(), |
182 |
'\uDBFC\uDC04' |
183 |
)
|
184 |
t.equal( |
185 |
new B([ 0xFF ]).toString(), |
186 |
'\uFFFD' |
187 |
)
|
188 |
t.equal( |
189 |
new B([ 0xFF, 0x8F, 0x80, 0x84 ]).toString(), |
190 |
'\uFFFD\uFFFD\uFFFD\uFFFD' |
191 |
)
|
192 |
t.end() |
193 |
})
|
194 |
|
195 |
test('utf8 replacement chars on 256 random bytes', function (t) { |
196 |
t.equal( |
197 |
new B([ 152, 130, 206, 23, 243, 238, 197, 44, 27, 86, 208, 36, 163, 184, 164, 21, 94, 242, 178, 46, 25, 26, 253, 178, 72, 147, 207, 112, 236, 68, 179, 190, 29, 83, 239, 147, 125, 55, 143, 19, 157, 68, 157, 58, 212, 224, 150, 39, 128, 24, 94, 225, 120, 121, 75, 192, 112, 19, 184, 142, 203, 36, 43, 85, 26, 147, 227, 139, 242, 186, 57, 78, 11, 102, 136, 117, 180, 210, 241, 92, 3, 215, 54, 167, 249, 1, 44, 225, 146, 86, 2, 42, 68, 21, 47, 238, 204, 153, 216, 252, 183, 66, 222, 255, 15, 202, 16, 51, 134, 1, 17, 19, 209, 76, 238, 38, 76, 19, 7, 103, 249, 5, 107, 137, 64, 62, 170, 57, 16, 85, 179, 193, 97, 86, 166, 196, 36, 148, 138, 193, 210, 69, 187, 38, 242, 97, 195, 219, 252, 244, 38, 1, 197, 18, 31, 246, 53, 47, 134, 52, 105, 72, 43, 239, 128, 203, 73, 93, 199, 75, 222, 220, 166, 34, 63, 236, 11, 212, 76, 243, 171, 110, 78, 39, 205, 204, 6, 177, 233, 212, 243, 0, 33, 41, 122, 118, 92, 252, 0, 157, 108, 120, 70, 137, 100, 223, 243, 171, 232, 66, 126, 111, 142, 33, 3, 39, 117, 27, 107, 54, 1, 217, 227, 132, 13, 166, 3, 73, 53, 127, 225, 236, 134, 219, 98, 214, 125, 148, 24, 64, 142, 111, 231, 194, 42, 150, 185, 10, 182, 163, 244, 19, 4, 59, 135, 16 ]).toString(), |
198 |
'\uFFFD\uFFFD\uFFFD\u0017\uFFFD\uFFFD\uFFFD\u002C\u001B\u0056\uFFFD\u0024\uFFFD\uFFFD\uFFFD\u0015\u005E\uFFFD\uFFFD\u002E\u0019\u001A\uFFFD\uFFFD\u0048\uFFFD\uFFFD\u0070\uFFFD\u0044\uFFFD\uFFFD\u001D\u0053\uFFFD\uFFFD\u007D\u0037\uFFFD\u0013\uFFFD\u0044\uFFFD\u003A\uFFFD\uFFFD\uFFFD\u0027\uFFFD\u0018\u005E\uFFFD\u0078\u0079\u004B\uFFFD\u0070\u0013\uFFFD\uFFFD\uFFFD\u0024\u002B\u0055\u001A\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\u0039\u004E\u000B\u0066\uFFFD\u0075\uFFFD\uFFFD\uFFFD\u005C\u0003\uFFFD\u0036\uFFFD\uFFFD\u0001\u002C\uFFFD\uFFFD\u0056\u0002\u002A\u0044\u0015\u002F\uFFFD\u0319\uFFFD\uFFFD\uFFFD\u0042\uFFFD\uFFFD\u000F\uFFFD\u0010\u0033\uFFFD\u0001\u0011\u0013\uFFFD\u004C\uFFFD\u0026\u004C\u0013\u0007\u0067\uFFFD\u0005\u006B\uFFFD\u0040\u003E\uFFFD\u0039\u0010\u0055\uFFFD\uFFFD\u0061\u0056\uFFFD\uFFFD\u0024\uFFFD\uFFFD\uFFFD\uFFFD\u0045\uFFFD\u0026\uFFFD\u0061\uFFFD\uFFFD\uFFFD\uFFFD\u0026\u0001\uFFFD\u0012\u001F\uFFFD\u0035\u002F\uFFFD\u0034\u0069\u0048\u002B\uFFFD\uFFFD\uFFFD\u0049\u005D\uFFFD\u004B\uFFFD\u0726\u0022\u003F\uFFFD\u000B\uFFFD\u004C\uFFFD\uFFFD\u006E\u004E\u0027\uFFFD\uFFFD\u0006\uFFFD\uFFFD\uFFFD\uFFFD\u0000\u0021\u0029\u007A\u0076\u005C\uFFFD\u0000\uFFFD\u006C\u0078\u0046\uFFFD\u0064\uFFFD\uFFFD\uFFFD\uFFFD\u0042\u007E\u006F\uFFFD\u0021\u0003\u0027\u0075\u001B\u006B\u0036\u0001\uFFFD\uFFFD\uFFFD\u000D\uFFFD\u0003\u0049\u0035\u007F\uFFFD\uFFFD\uFFFD\uFFFD\u0062\uFFFD\u007D\uFFFD\u0018\u0040\uFFFD\u006F\uFFFD\uFFFD\u002A\uFFFD\uFFFD\u000A\uFFFD\uFFFD\uFFFD\u0013\u0004\u003B\uFFFD\u0010' |
199 |
)
|
200 |
t.end() |
201 |
})
|
202 |
|
203 |
test('utf8 replacement chars for anything in the surrogate pair range', function (t) { |
204 |
t.equal( |
205 |
new B([ 0xED, 0x9F, 0xBF ]).toString(), |
206 |
'\uD7FF' |
207 |
)
|
208 |
t.equal( |
209 |
new B([ 0xED, 0xA0, 0x80 ]).toString(), |
210 |
'\uFFFD\uFFFD\uFFFD' |
211 |
)
|
212 |
t.equal( |
213 |
new B([ 0xED, 0xBE, 0x8B ]).toString(), |
214 |
'\uFFFD\uFFFD\uFFFD' |
215 |
)
|
216 |
t.equal( |
217 |
new B([ 0xED, 0xBF, 0xBF ]).toString(), |
218 |
'\uFFFD\uFFFD\uFFFD' |
219 |
)
|
220 |
t.equal( |
221 |
new B([ 0xEE, 0x80, 0x80 ]).toString(), |
222 |
'\uE000' |
223 |
)
|
224 |
t.end() |
225 |
})
|
226 |
|
227 |
test('utf8 don\'t replace the replacement char', function (t) { |
228 |
t.equal( |
229 |
new B('\uFFFD').toString(), |
230 |
'\uFFFD' |
231 |
)
|
232 |
t.end() |
233 |
})
|