Browse Source

test: increase coverage of string-decoder

Make use of Arrow Function.
Add normalizeencoding's test.
normalizeEncoding:
https://github.com/nodejs/node/blob/master/lib/string_decoder.js#L9

PR-URL: https://github.com/nodejs/node/pull/10863
Reviewed-By: James M Snell <jasnell@gmail.com>
Reviewed-By: Luigi Pinca <luigipinca@gmail.com>
Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
Reviewed-By: Anna Henningsen <anna@addaleax.net>
v6.x
abouthiroppy 8 years ago
committed by Myles Borins
parent
commit
9ac22cdcaf
No known key found for this signature in database GPG Key ID: 933B01F40B5CA946
  1. 12
      test/parallel/test-string-decoder-end.js
  2. 16
      test/parallel/test-string-decoder.js

12
test/parallel/test-string-decoder-end.js

@ -8,15 +8,11 @@ var assert = require('assert');
var SD = require('string_decoder').StringDecoder;
var encodings = ['base64', 'hex', 'utf8', 'utf16le', 'ucs2'];
var bufs = [ '☃💩', 'asdf' ].map(function(b) {
return Buffer.from(b);
});
const bufs = [ '☃💩', 'asdf' ].map((b) => Buffer.from(b));
// also test just arbitrary bytes from 0-15.
for (var i = 1; i <= 16; i++) {
var bytes = new Array(i).join('.').split('.').map(function(_, j) {
return j + 0x78;
});
for (let i = 1; i <= 16; i++) {
const bytes = new Array(i).join('.').split('.').map((_, j) => j + 0x78);
bufs.push(Buffer.from(bytes));
}
@ -25,7 +21,7 @@ encodings.forEach(testEncoding);
console.log('ok');
function testEncoding(encoding) {
bufs.forEach(function(buf) {
bufs.forEach((buf) => {
testBuf(encoding, buf);
});
}

16
test/parallel/test-string-decoder.js

@ -107,6 +107,14 @@ assert.strictEqual(decoder.write(Buffer.from('3DD8', 'hex')), '');
assert.strictEqual(decoder.write(Buffer.from('4D', 'hex')), '');
assert.strictEqual(decoder.end(), '\ud83d');
assert.throws(() => {
new StringDecoder(1);
}, /^Error: Unknown encoding: 1$/);
assert.throws(() => {
new StringDecoder('test');
}, /^Error: Unknown encoding: test$/);
// test verifies that StringDecoder will correctly decode the given input
// buffer with the given encoding to the expected output. It will attempt all
// possible ways to write() the input buffer, see writeSequences(). The
@ -119,10 +127,10 @@ function test(encoding, input, expected, singleSequence) {
} else {
sequences = [singleSequence];
}
sequences.forEach(function(sequence) {
var decoder = new StringDecoder(encoding);
var output = '';
sequence.forEach(function(write) {
sequences.forEach((sequence) => {
const decoder = new StringDecoder(encoding);
let output = '';
sequence.forEach((write) => {
output += decoder.write(input.slice(write[0], write[1]));
});
output += decoder.end();

Loading…
Cancel
Save