mirror of
https://github.com/nodejs/node.git
synced 2025-05-21 14:23:55 +00:00

PR-URL: https://github.com/nodejs/node/pull/47251 Reviewed-By: Yagiz Nizipli <yagiz@nizipli.com> Reviewed-By: Jiawen Geng <technicalcute@gmail.com> Reviewed-By: Rafael Gonzaga <rafael.nunu@hotmail.com> Reviewed-By: Richard Lau <rlau@redhat.com>
36 lines
917 B
JavaScript
36 lines
917 B
JavaScript
// Copyright 2022 the V8 project authors. All rights reserved.
|
||
// Use of this source code is governed by a BSD-style license that can be
|
||
// found in the LICENSE file.
|
||
|
||
// Flags: --harmony-string-is-well-formed
|
||
|
||
(function TestSliced() {
|
||
// toString on the function returns a sliced string on the script source,
|
||
// which is 2-byte.
|
||
const fooString = foo.toString();
|
||
assertTrue(fooString.isWellFormed());
|
||
assertEquals(fooString, fooString.toWellFormed());
|
||
})();
|
||
|
||
function TestCons(a, b) {
|
||
const s = a + b;
|
||
// Flatten it before calling isWellFormed to get a flat cons.
|
||
s.endsWith('a');
|
||
assertTrue(s.isWellFormed());
|
||
assertEquals(s, s.toWellFormed());
|
||
}
|
||
TestCons('<27>', '<27>');
|
||
|
||
function TestThin(a, b) {
|
||
const s = a + b;
|
||
const o = {};
|
||
o[s];
|
||
assertTrue(s.isWellFormed());
|
||
assertEquals(s, s.toWellFormed());
|
||
}
|
||
TestThin('<27>', '<27>');
|
||
|
||
function foo() {}
|
||
// Make this source file 2-byte.
|
||
'<27>';
|