mirror of
https://github.com/tc39/test262.git
synced 2025-05-03 22:40:28 +02:00
* [javascriptcore-test262-automation] changes from git@github.com:WebKit/webkit.git at sha 949e26452cfa153a7f4afe593da97e2fe9e1b706 on Tue Jul 03 2018 14:35:15 GMT-0400 (Eastern Daylight Time)
58 lines
1.8 KiB
JavaScript
58 lines
1.8 KiB
JavaScript
|
|
function test(actual, expected) {
|
|
if (actual !== expected)
|
|
throw new Error("bad value: actual: " + actual + ", expected: " + expected);
|
|
}
|
|
|
|
function testEval(script, expected) {
|
|
test(eval(script), expected);
|
|
}
|
|
|
|
function testEvalLineNumber(script, expected, lineNum) {
|
|
testEval(script, expected);
|
|
|
|
var error = null;
|
|
var actualLine;
|
|
try {
|
|
eval(script + ';throw new Error("line");');
|
|
} catch (error) {
|
|
actualLine = error.line;
|
|
}
|
|
test(actualLine, lineNum);
|
|
}
|
|
|
|
test(`Hello`, "Hello");
|
|
test(`Hello World`, "Hello World");
|
|
test(`
|
|
`, "\n");
|
|
test(`Hello
|
|
World`, "Hello\nWorld");
|
|
|
|
testEvalLineNumber("`Hello World`", "Hello World", 1);
|
|
|
|
testEvalLineNumber("`Hello\rWorld`", "Hello\nWorld", 2);
|
|
testEvalLineNumber("`Hello\nWorld`", "Hello\nWorld", 2);
|
|
|
|
testEvalLineNumber("`Hello\r\rWorld`", "Hello\n\nWorld", 3);
|
|
testEvalLineNumber("`Hello\r\nWorld`", "Hello\nWorld", 2);
|
|
testEvalLineNumber("`Hello\n\nWorld`", "Hello\n\nWorld", 3);
|
|
testEvalLineNumber("`Hello\n\rWorld`", "Hello\n\nWorld", 3);
|
|
|
|
testEvalLineNumber("`Hello\n\r\nWorld`", "Hello\n\nWorld", 3);
|
|
testEvalLineNumber("`Hello\r\n\rWorld`", "Hello\n\nWorld", 3);
|
|
testEvalLineNumber("`Hello\n\n\nWorld`", "Hello\n\n\nWorld", 4);
|
|
|
|
testEvalLineNumber("`Hello\n\r\n\rWorld`", "Hello\n\n\nWorld", 4);
|
|
testEvalLineNumber("`Hello\n\r\n\nWorld`", "Hello\n\n\nWorld", 4);
|
|
testEvalLineNumber("`Hello\r\n\n\nWorld`", "Hello\n\n\nWorld", 4);
|
|
|
|
testEvalLineNumber("`Hello\\\n\r\rWorld`", "Hello\n\nWorld", 4);
|
|
testEvalLineNumber("`Hello\\\r\n\n\nWorld`", "Hello\n\nWorld", 4);
|
|
testEvalLineNumber("`Hello\\\n\r\n\nWorld`", "Hello\n\nWorld", 4);
|
|
testEvalLineNumber("`Hello\\\n\r\r\nWorld`", "Hello\n\nWorld", 4);
|
|
|
|
testEvalLineNumber("`\u2028`", "\u2028", 2);
|
|
testEvalLineNumber("`\u2029`", "\u2029", 2);
|
|
testEvalLineNumber("`\\u2028`", "\u2028", 1);
|
|
testEvalLineNumber("`\\u2029`", "\u2029", 1);
|