diff --git a/test/language/line-terminators/comment-multi-ps.js b/test/language/line-terminators/comment-multi-ps.js new file mode 100644 index 0000000000000000000000000000000000000000..3f984ec6f414603f7f71171fe4afb5d0e4c26248 --- /dev/null +++ b/test/language/line-terminators/comment-multi-ps.js @@ -0,0 +1,28 @@ +// Copyright 2019 Mike Pennisi. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/*--- +info: Multi line comment can contain PARAGRAPH SEPARATOR (U+2029) +esid: sec-line-terminators +es5id: 7.3_A5.1_T2 +description: Insert real PARAGRAPH SEPARATOR into multi line comment +negative: + phase: runtime + type: Test262Error +---*/ + +// Because this test concerns the interpretation of non-executable character +// sequences within ECMAScript source code, special care must be taken to +// ensure that executable code is evaluated as expected. +// +// Express the intended behavior by intentionally throwing an error; this +// guarantees that test runners will only consider the test "passing" if +// executable sequences are correctly interpreted as such. + +var x = 0; + +/*
x = 1;
*/ + +if (x === 0) { + throw new Test262Error(); +} diff --git a/test/language/line-terminators/invalid-regexp-cr.js b/test/language/line-terminators/invalid-regexp-cr.js new file mode 100644 index 0000000000000000000000000000000000000000..449ee384ccc7bb11891dc93f1bba52e6e101ac6b --- /dev/null +++ b/test/language/line-terminators/invalid-regexp-cr.js @@ -0,0 +1,17 @@ +// Copyright 2019 Mike Pennisi. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/*--- +esid: sec-line-terminators +es5id: 7.3-7 +description: > + 7.3 - ES5 recognizes the character <CR> (\u000D) as terminating + regular expression literals +negative: + phase: parse + type: SyntaxError +---*/ + +$DONOTEVALUATE(); + +/ / diff --git a/test/language/line-terminators/invalid-regexp-lf.js b/test/language/line-terminators/invalid-regexp-lf.js new file mode 100644 index 0000000000000000000000000000000000000000..82fc50eb2d920040a0543fcdf22c610c57c4cd0b --- /dev/null +++ b/test/language/line-terminators/invalid-regexp-lf.js @@ -0,0 +1,18 @@ +// Copyright 2019 Mike Pennisi. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/*--- +esid: sec-line-terminators +es5id: 7.3-7 +description: > + 7.3 - ES5 recognizes the character <LF> (\u000A) as terminating + regular expression literals +negative: + phase: parse + type: SyntaxError +---*/ + +$DONOTEVALUATE(); + +/ +/ diff --git a/test/language/line-terminators/invalid-string-ls.js b/test/language/line-terminators/invalid-string-ls.js new file mode 100644 index 0000000000000000000000000000000000000000..07e0a7682daa75a95492d626425f594c4a1b2a8e --- /dev/null +++ b/test/language/line-terminators/invalid-string-ls.js @@ -0,0 +1,16 @@ +// Copyright 2019 Mike Pennisi. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/*--- +info: LINE SEPARATOR (U+2028) within strings is not allowed +es5id: 7.3_A2.2_T1 +esid: sec-line-terminators +description: Insert LINE SEPARATOR (\u2028) into string +negative: + phase: parse + type: SyntaxError +---*/ + +$DONOTEVALUATE(); + +'
' diff --git a/test/language/line-terminators/invalid-string-ps.js b/test/language/line-terminators/invalid-string-ps.js new file mode 100644 index 0000000000000000000000000000000000000000..d2e3dec8e54651364653b07f43c2be81dfa7719d --- /dev/null +++ b/test/language/line-terminators/invalid-string-ps.js @@ -0,0 +1,16 @@ +// Copyright 2019 Mike Pennisi. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/*--- +info: PARAGRAPH SEPARATOR (U+2029) within strings is not allowed +es5id: 7.3_A2.2_T1 +esid: sec-line-terminators +description: Insert PARAGRAPH SEPARATOR (\u2029) into string +negative: + phase: parse + type: SyntaxError +---*/ + +$DONOTEVALUATE(); + +'
'