haikuwebkit/JSTests/stress/unicode-identifiers-with-su...

31 lines
676 B
JavaScript

let chars = ["鴬", "𐊧", "Ϊ"];
let continueChars = [unescape("\u0311"), String.fromCharCode(...[0xDB40, 0xDD96])];
let o = { };
for (let c of chars) {
eval(`var ${c};`);
eval(`function foo() { var ${c} }`);
eval(`o.${c}`);
}
function throwsSyntaxError(string) {
try {
eval(string);
} catch (e) {
if (!(e instanceof SyntaxError))
throw new Error(string);
return;
}
throw new Error(string);
}
for (let c of continueChars) {
throwsSyntaxError(`var ${c}`);
throwsSyntaxError(`function foo() { var ${c} }`);
throwsSyntaxError(`o.${c}`);
eval(`var ${("a" + c)}`);
eval(`o.${"a" + c}`);
}