Refactor LT tests for parsers: multi-line comment

The tests for the parsing of line terminators were expressed using eval.
This made the tests more complex than necessary and also prevented the
tests from providing value to ECMAScript parsers.

Remove the use of eval and instead express the expectations with literal
source text. Rename the files to make each test's purpose more clear.
This commit is contained in:
Mike Pennisi 2019-01-01 11:42:20 -05:00
parent 0ec9dbe3b3
commit e515abfa0e
4 changed files with 58 additions and 38 deletions

View File

@ -1,20 +0,0 @@
// Copyright 2009 the Sputnik authors. All rights reserved.
// This code is governed by the BSD license found in the LICENSE file.
/*---
info: Multi line comment can contain LINE FEED (U+000A)
es5id: 7.3_A5.1_T2
description: Insert real LINE FEED into multi line comment
---*/
/*CHECK#1*/
var x = 0;
/*
multi
line
comment
x = 1;
*/
if (x !== 0) {
$ERROR('#1: var x = 0; /*\\nmulti\\nline\\ncomment\\nx = 1;\\n*/ x === 0. Actual: ' + (x));
}

View File

@ -1,18 +0,0 @@
// Copyright 2009 the Sputnik authors. All rights reserved.
// This code is governed by the BSD license found in the LICENSE file.
/*---
info: Multi line comment can contain LINE SEPARATOR (U+2028)
es5id: 7.3_A5.3
description: Insert LINE SEPARATOR (U+2028) into multi line comment
---*/
// CHECK#1
eval("/*\u2028 multi line \u2028 comment \u2028*/");
//CHECK#2
var x = 0;
eval("/*\u2028 multi line \u2028 comment \u2028 x = 1;*/");
if (x !== 0) {
$ERROR('#1: var x = 0; eval("/*\\u2028 multi line \\u2028 comment \\u2028 x = 1;*/"); x === 0. Actual: ' + (x));
}

View File

@ -0,0 +1,30 @@
// Copyright 2009 the Sputnik authors. All rights reserved.
// This code is governed by the BSD license found in the LICENSE file.
/*---
info: Multi line comment can contain LINE FEED (U+000A)
esid: sec-line-terminators
es5id: 7.3_A5.1_T2
description: Insert real LINE FEED 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();
}

View File

@ -0,0 +1,28 @@
// Copyright 2009 the Sputnik authors. All rights reserved.
// This code is governed by the BSD license found in the LICENSE file.
/*---
info: Multi line comment can contain LINE SEPARATOR (U+2028)
esid: sec-line-terminators
es5id: 7.3_A5.3
description: Insert LINE SEPARATOR (U+2028) 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();
}