node/test/parallel/test-internal-util-normalizeencoding.js
Rich Trott 330f25ef82 test: prepare for consistent comma-dangle lint rule
Make changes so that tests will pass when the comma-dangle settings
applied to the rest of the code base are also applied to tests.

PR-URL: https://github.com/nodejs/node/pull/37930
Reviewed-By: James M Snell <jasnell@gmail.com>
Reviewed-By: Derek Lewis <DerekNonGeneric@inf.is>
2021-04-01 23:14:29 -07:00

56 lines
1.2 KiB
JavaScript

// 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}`);
});