Add tests for parsing behavior

Test262 already includes tests to ensure the correct runtime semantics
for these forms. Add equivalent tests designed to verify that the
equivalent parsing behavior is also observed.
This commit is contained in:
Mike Pennisi 2018-06-10 19:34:56 -04:00 committed by Rick Waldron
parent a9cd42018f
commit 6e9cf3765b
6 changed files with 120 additions and 0 deletions

View File

@ -0,0 +1,22 @@
// Copyright (c) 2018 Mike Pennisi. All rights reserved.
// This code is governed by the BSD license found in the LICENSE file.
/*---
esid: use-strict-directive
es5id: 10.1.1-15-s
description: >
Strict Mode - Function code that is part of a FunctionDeclaration
is strict function code if FunctionDeclaration is contained in use
strict
negative:
phase: early
type: SyntaxError
flags: [noStrict]
---*/
function testcase() {
"use strict";
function fun() {
var static;
}
}

View File

@ -0,0 +1,19 @@
// Copyright (c) 2018 Mike Pennisi. All rights reserved.
// This code is governed by the BSD license found in the LICENSE file.
/*---
esid: use-strict-directive
es5id: 10.1.1-2-s
description: >
Strict Mode - Use Strict Directive Prologue is ''use strict''
which lost the last character ';'
negative:
phase: early
type: SyntaxError
flags: [noStrict]
---*/
function fun() {
"use strict"
var static;
}

View File

@ -0,0 +1,19 @@
// Copyright (c) 2018 Mike Pennisi. All rights reserved.
// This code is governed by the BSD license found in the LICENSE file.
/*---
esid: use-strict-directive
es5id: 10.1.1-19-s
description: >
Strict Mode - Function code of a FunctionDeclaration contains Use
Strict Directive which appears at the start of the block
negative:
phase: early
type: SyntaxError
flags: [noStrict]
---*/
function fun() {
"use strict";
var static;
}

View File

@ -0,0 +1,20 @@
// Copyright (c) 2018 Mike Pennisi. All rights reserved.
// This code is governed by the BSD license found in the LICENSE file.
/*---
esid: use-strict-directive
es5id: 10.1.1-16-s
description: >
Strict Mode - Function code that is part of a FunctionExpression
is strict function code if FunctionExpression is contained in use
strict
negative:
phase: early
type: SyntaxError
flags: [noStrict]
---*/
function testcase() {
"use strict";
var static;
}

View File

@ -0,0 +1,20 @@
// Copyright (c) 2018 Mike Pennisi. All rights reserved.
// This code is governed by the BSD license found in the LICENSE file.
/*---
esid: use-strict-directive
es5id: 10.1.1-2-s
description: >
Strict Mode - Use Strict Directive Prologue is ''use strict''
which lost the last character ';'
negative:
phase: early
type: SyntaxError
flags: [noStrict]
---*/
(function() {
"use strict"
var static;
});

View File

@ -0,0 +1,20 @@
// Copyright (c) 2018 Mike Pennisi. All rights reserved.
// This code is governed by the BSD license found in the LICENSE file.
/*---
esid: use-strict-directive
es5id: 10.1.1-22-s
description: >
Strict Mode - Function code of a FunctionExpression contains Use
Strict Directive which appears at the start of the block
negative:
phase: early
type: SyntaxError
flags: [noStrict]
---*/
(function() {
"use strict";
var static;
});