]>
git.saurik.com Git - apple/javascriptcore.git/blob - tests/stress/template-literal-line-terminators.js
2 function test(actual
, expected
) {
3 if (actual
!== expected
)
4 throw new Error("bad value: " + actual
);
7 function testEval(script
, expected
) {
8 test(eval(script
), expected
);
11 function testEvalLineNumber(script
, expected
, lineNum
) {
12 testEval(script
, expected
);
17 eval(script
+ ';throw new Error("line");');
19 actualLine
= error
.line
;
21 test(actualLine
, lineNum
);
24 test(`Hello`, "Hello");
25 test(`Hello World`, "Hello World");
29 World`, "Hello\nWorld");
31 testEvalLineNumber("`Hello World`", "Hello World", 1);
33 testEvalLineNumber("`Hello\rWorld`", "Hello\nWorld", 2);
34 testEvalLineNumber("`Hello\nWorld`", "Hello\nWorld", 2);
36 testEvalLineNumber("`Hello\r\rWorld`", "Hello\n\nWorld", 3);
37 testEvalLineNumber("`Hello\r\nWorld`", "Hello\nWorld", 2);
38 testEvalLineNumber("`Hello\n\nWorld`", "Hello\n\nWorld", 3);
39 testEvalLineNumber("`Hello\n\rWorld`", "Hello\n\nWorld", 2);
41 testEvalLineNumber("`Hello\n\r\nWorld`", "Hello\n\nWorld", 3);
42 testEvalLineNumber("`Hello\r\n\rWorld`", "Hello\n\nWorld", 3);
43 testEvalLineNumber("`Hello\n\n\nWorld`", "Hello\n\n\nWorld", 4);
45 testEvalLineNumber("`Hello\n\r\n\rWorld`", "Hello\n\n\nWorld", 3);
46 testEvalLineNumber("`Hello\n\r\n\nWorld`", "Hello\n\n\nWorld", 4);
47 testEvalLineNumber("`Hello\r\n\n\nWorld`", "Hello\n\n\nWorld", 4);
49 testEvalLineNumber("`Hello\\\n\r\rWorld`", "Hello\n\nWorld", 3);
50 testEvalLineNumber("`Hello\\\r\n\n\nWorld`", "Hello\n\nWorld", 4);
51 testEvalLineNumber("`Hello\\\n\r\n\nWorld`", "Hello\n\nWorld", 4);
52 testEvalLineNumber("`Hello\\\n\r\r\nWorld`", "Hello\n\nWorld", 3);
54 testEvalLineNumber("`\u2028`", "\u2028", 2);
55 testEvalLineNumber("`\u2029`", "\u2029", 2);
56 testEvalLineNumber("`\\u2028`", "\u2028", 1);
57 testEvalLineNumber("`\\u2029`", "\u2029", 1);