node/test/parallel/test-internal-util-normalizeencoding.js
Filip Skokan 832cd015d5
buffer: add base64url encoding option
PR-URL: https://github.com/nodejs/node/pull/36952
Reviewed-By: James M Snell <jasnell@gmail.com>
Reviewed-By: Antoine du Hamel <duhamelantoine1995@gmail.com>
Reviewed-By: Rich Trott <rtrott@gmail.com>
Reviewed-By: Anna Henningsen <anna@addaleax.net>
2021-01-21 17:57:33 -05:00

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