node/test/parallel/test-v8-string-is-one-byte-representation.js
theweipeng 6cb0690fcc src: detect whether the string is one byte representation or not
References: nodejs#56090
PR-URL: https://github.com/nodejs/node/pull/56147
Fixes: https://github.com/nodejs/node/issues/56090
Reviewed-By: James M Snell <jasnell@gmail.com>
Reviewed-By: Anna Henningsen <anna@addaleax.net>
2025-02-25 08:01:28 -08:00

37 lines
788 B
JavaScript

'use strict';
require('../common');
const assert = require('assert');
const { isStringOneByteRepresentation } = require('v8');
[
undefined,
null,
false,
5n,
5,
Symbol(),
() => {},
{},
].forEach((value) => {
assert.throws(
() => { isStringOneByteRepresentation(value); },
/The "content" argument must be of type string/
);
});
{
const latin1String = 'hello world!';
// Run this inside a for loop to trigger the fast API
for (let i = 0; i < 10_000; i++) {
assert.strictEqual(isStringOneByteRepresentation(latin1String), true);
}
}
{
const utf16String = '你好😀😃';
// Run this inside a for loop to trigger the fast API
for (let i = 0; i < 10_000; i++) {
assert.strictEqual(isStringOneByteRepresentation(utf16String), false);
}
}