mirror of
https://github.com/nodejs/node.git
synced 2025-05-02 03:31:35 +00:00

1) This improves the performance for Buffer#fill by using shortcuts. 2) It also ports throwing errors to JS. That way they contain the proper error code. 3) Using negative `end` values will from now on result in an error instead of just doing nothing. 4) Passing in `null` as encoding is from now on accepted as 'utf8'. PR-URL: https://github.com/nodejs/node/pull/18790 Reviewed-By: James M Snell <jasnell@gmail.com> Reviewed-By: Benjamin Gruenbaum <benjamingr@gmail.com> Reviewed-By: Matteo Collina <matteo.collina@gmail.com>
45 lines
965 B
JavaScript
45 lines
965 B
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'],
|
|
['utf16le', 'utf16le'],
|
|
['utf-16le', 'utf16le'],
|
|
['UTF-16LE', 'utf16le'],
|
|
['UTF16LE', 'utf16le'],
|
|
['binary', 'latin1'],
|
|
['BINARY', 'latin1'],
|
|
['latin1', 'latin1'],
|
|
['LaTiN1', 'latin1'],
|
|
['base64', 'base64'],
|
|
['BASE64', 'base64'],
|
|
['hex', 'hex'],
|
|
['HEX', 'hex'],
|
|
['foo', undefined],
|
|
[1, undefined],
|
|
[false, undefined],
|
|
[NaN, undefined],
|
|
[0, undefined],
|
|
[[], undefined],
|
|
];
|
|
|
|
tests.forEach((e, i) => {
|
|
const res = util.normalizeEncoding(e[0]);
|
|
assert.strictEqual(res, e[1], `#${i} failed: expected ${e[1]}, got ${res}`);
|
|
});
|