aboutsummaryrefslogtreecommitdiff
path: root/test/parallel/test-internal-util-normalizeencoding.js
diff options
context:
space:
mode:
authorJames M Snell <jasnell@gmail.com>2016-06-07 16:03:27 -0700
committerJames M Snell <jasnell@gmail.com>2016-06-21 09:28:38 -0700
commit6dd093da261bc12fe5c2d2669eaca96ef4583f10 (patch)
treec5e59fdade5983d4b13279aafd5329b5573dd49d /test/parallel/test-internal-util-normalizeencoding.js
parent193afef3b03ecb65c4905843f4bca7b5d7b2ea31 (diff)
downloadandroid-node-v8-6dd093da261bc12fe5c2d2669eaca96ef4583f10.tar.gz
android-node-v8-6dd093da261bc12fe5c2d2669eaca96ef4583f10.tar.bz2
android-node-v8-6dd093da261bc12fe5c2d2669eaca96ef4583f10.zip
buffer,string_decoder: consolidate encoding validation logic
Buffer.isEncoding and string_decoder.normalizeEncoding shared quite a bit of logic. This moves the primary logic into internal/util. The userland modules that monkey patch Buffer.isEncoding should still work. PR-URL: https://github.com/nodejs/node/pull/7207 Reviewed-By: Brian White <mscdex@mscdex.net> Reviewed-By: Trevor Norris <trev.norris@gmail.com>
Diffstat (limited to 'test/parallel/test-internal-util-normalizeencoding.js')
-rw-r--r--test/parallel/test-internal-util-normalizeencoding.js39
1 files changed, 39 insertions, 0 deletions
diff --git a/test/parallel/test-internal-util-normalizeencoding.js b/test/parallel/test-internal-util-normalizeencoding.js
new file mode 100644
index 0000000000..9adc3753e8
--- /dev/null
+++ b/test/parallel/test-internal-util-normalizeencoding.js
@@ -0,0 +1,39 @@
+// Flags: --expose-internals
+'use strict';
+
+require('../common');
+const assert = require('assert');
+const util = require('internal/util');
+
+const tests = [
+ ['', 'utf8'],
+ ['utf8', 'utf8'],
+ ['utf-8', 'utf8'],
+ ['UTF-8', 'utf8'],
+ ['UTF8', 'utf8'],
+ ['Utf8', 'utf8'],
+ ['uTf-8', 'utf8'],
+ ['utF-8', 'utf8'],
+ ['ucs2', 'utf16le'],
+ ['UCS2', 'utf16le'],
+ ['utf16le', 'utf16le'],
+ ['utf-16le', 'utf16le'],
+ ['UTF-16LE', 'utf16le'],
+ ['UTF16LE', 'utf16le'],
+ ['binary', 'latin1'],
+ ['BINARY', 'latin1'],
+ ['latin1', 'latin1'],
+ ['base64', 'base64'],
+ ['BASE64', 'base64'],
+ ['hex', 'hex'],
+ ['HEX', 'hex'],
+ ['foo', undefined],
+ [1, undefined],
+ [false, 'utf8'],
+ [undefined, 'utf8'],
+ [[], undefined],
+];
+
+tests.forEach((i) => {
+ assert.strictEqual(util.normalizeEncoding(i[0]), i[1]);
+});