| // Flags: --expose-internals |
| 'use strict'; |
| |
| require('../common'); |
| const assert = require('assert'); |
| const util = require('internal/util'); |
| |
| const tests = [ |
| [undefined, 'utf8'], |
| [null, 'utf8'], |
| ['', 'utf8'], |
| ['utf8', 'utf8'], |
| ['utf-8', 'utf8'], |
| ['UTF-8', 'utf8'], |
| ['UTF8', 'utf8'], |
| ['Utf8', 'utf8'], |
| ['uTf-8', 'utf8'], |
| ['utF-8', 'utf8'], |
| ['ucs2', 'utf16le'], |
| ['UCS2', 'utf16le'], |
| ['UcS2', 'utf16le'], |
| ['ucs-2', 'utf16le'], |
| ['UCS-2', 'utf16le'], |
| ['UcS-2', 'utf16le'], |
| ['utf16le', 'utf16le'], |
| ['utf-16le', 'utf16le'], |
| ['UTF-16LE', 'utf16le'], |
| ['UTF16LE', 'utf16le'], |
| ['binary', 'latin1'], |
| ['BINARY', 'latin1'], |
| ['latin1', 'latin1'], |
| ['LaTiN1', 'latin1'], |
| ['base64', 'base64'], |
| ['BASE64', 'base64'], |
| ['Base64', 'base64'], |
| ['base64url', 'base64url'], |
| ['BASE64url', 'base64url'], |
| ['Base64url', 'base64url'], |
| ['hex', 'hex'], |
| ['HEX', 'hex'], |
| ['ASCII', 'ascii'], |
| ['AsCii', 'ascii'], |
| ['foo', undefined], |
| [1, undefined], |
| [false, undefined], |
| [NaN, undefined], |
| [0, undefined], |
| [[], undefined], |
| [{}, undefined], |
| ]; |
| |
| tests.forEach((e, i) => { |
| const res = util.normalizeEncoding(e[0]); |
| assert.strictEqual(res, e[1], `#${i} failed: expected ${e[1]}, got ${res}`); |
| }); |