From 537d954ed2f4811a8ca82e0cf04a49e55e4f1aa4 Mon Sep 17 00:00:00 2001 From: abouthiroppy Date: Wed, 18 Jan 2017 10:25:31 +0900 Subject: [PATCH] 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 Reviewed-By: Luigi Pinca Reviewed-By: Colin Ihrig Reviewed-By: Anna Henningsen --- test/parallel/test-string-decoder-end.js | 10 +++------- test/parallel/test-string-decoder.js | 12 ++++++++++-- 2 files changed, 13 insertions(+), 9 deletions(-) diff --git a/test/parallel/test-string-decoder-end.js b/test/parallel/test-string-decoder-end.js index a04972e545bf1d..6e9eea3193e163 100644 --- a/test/parallel/test-string-decoder-end.js +++ b/test/parallel/test-string-decoder-end.js @@ -8,15 +8,11 @@ const assert = require('assert'); const SD = require('string_decoder').StringDecoder; const encodings = ['base64', 'hex', 'utf8', 'utf16le', 'ucs2']; -const 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 (let i = 1; i <= 16; i++) { - const bytes = new Array(i).join('.').split('.').map(function(_, j) { - return j + 0x78; - }); + 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); }); } diff --git a/test/parallel/test-string-decoder.js b/test/parallel/test-string-decoder.js index 77ffbfcc73b1e1..a8fdb999a0923f 100644 --- a/test/parallel/test-string-decoder.js +++ b/test/parallel/test-string-decoder.js @@ -104,6 +104,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 @@ -116,10 +124,10 @@ function test(encoding, input, expected, singleSequence) { } else { sequences = [singleSequence]; } - sequences.forEach(function(sequence) { + sequences.forEach((sequence) => { const decoder = new StringDecoder(encoding); let output = ''; - sequence.forEach(function(write) { + sequence.forEach((write) => { output += decoder.write(input.slice(write[0], write[1])); }); output += decoder.end();