Simplify tests for runtime semantics

Verify runtime semantics through assignment to an unresolvable
reference, reducing the complexity of tests that previously relied on
the semantics of the `eval` function.
This commit is contained in:
Mike Pennisi 2018-06-10 19:21:12 -04:00 committed by Rick Waldron
parent 0618779cb8
commit a9cd42018f
16 changed files with 32 additions and 32 deletions

View File

@ -9,8 +9,8 @@ description: >
flags: [noStrict] flags: [noStrict]
---*/ ---*/
function fun() { function fun() {
eval("var public = 1;"); test262unresolvable = null;
assert.sameValue(public, 1); assert.sameValue(test262unresolvable, null);
"use strict"; "use strict";
} }
fun(); fun();

View File

@ -13,10 +13,10 @@ flags: [noStrict]
function testcase() { function testcase() {
"use strict"; "use strict";
function fun() { function fun() {
eval("var public = 1;"); test262unresolvable = null;
} }
assert.throws(SyntaxError, function() { assert.throws(ReferenceError, function() {
fun(); fun();
}); });
} }

View File

@ -12,9 +12,9 @@ flags: [noStrict]
function fun() { function fun() {
"use strict" "use strict"
eval("var public = 1;"); test262unresolvable = null;
} }
assert.throws(SyntaxError, function() { assert.throws(ReferenceError, function() {
fun(); fun();
}); });

View File

@ -10,8 +10,8 @@ flags: [noStrict]
---*/ ---*/
function fun() { function fun() {
eval("var public = 1;"); test262unresolvable = null;
"use strict"; "use strict";
assert.sameValue(public, 1); assert.sameValue(test262unresolvable, null);
} }
fun(); fun();

View File

@ -12,9 +12,9 @@ flags: [noStrict]
function fun() { function fun() {
"use strict"; "use strict";
eval("var public = 1;"); test262unresolvable = null;
} }
assert.throws(SyntaxError, function() { assert.throws(ReferenceError, function() {
fun(); fun();
}); });

View File

@ -10,8 +10,8 @@ flags: [noStrict]
---*/ ---*/
(function () { (function () {
eval("var public = 1;"); test262unresolvable = null;
"use strict"; "use strict";
assert.sameValue(public, 1); assert.sameValue(test262unresolvable, null);
}) (); }) ();

View File

@ -13,8 +13,8 @@ flags: [noStrict]
function testcase() { function testcase() {
"use strict"; "use strict";
assert.throws(SyntaxError, function() { assert.throws(ReferenceError, function() {
eval("var public = 1;"); test262unresolvable = null;
}); });
} }
testcase(); testcase();

View File

@ -9,8 +9,8 @@ description: >
flags: [noStrict] flags: [noStrict]
---*/ ---*/
assert.throws(SyntaxError, function() { assert.throws(ReferenceError, function() {
"use strict" "use strict"
eval("var public = 1;"); test262unresolvable = null;
}); });

View File

@ -10,7 +10,7 @@ flags: [noStrict]
---*/ ---*/
(function () { (function () {
eval("var public = 1;"); test262unresolvable = null;
assert.sameValue(public, 1); assert.sameValue(test262unresolvable, null);
"use strict"; "use strict";
}) (); }) ();

View File

@ -9,8 +9,8 @@ description: >
flags: [noStrict] flags: [noStrict]
---*/ ---*/
assert.throws(SyntaxError, function () { assert.throws(ReferenceError, function () {
"use strict"; "use strict";
eval("var public = 1;"); test262unresolvable = null;
}); });

View File

@ -10,12 +10,12 @@ description: >
flags: [noStrict] flags: [noStrict]
---*/ ---*/
assert.throws(SyntaxError, function() { assert.throws(ReferenceError, function() {
"use strict"; "use strict";
var obj = {}; var obj = {};
Object.defineProperty(obj, "accProperty", { Object.defineProperty(obj, "accProperty", {
get: function () { get: function () {
eval("public = 1;"); test262unresolvable = null;
return 11; return 11;
} }
}); });

View File

@ -13,11 +13,11 @@ flags: [noStrict]
var obj = {}; var obj = {};
Object.defineProperty(obj, "accProperty", { Object.defineProperty(obj, "accProperty", {
get: function () { get: function () {
eval("public = 1;"); test262unresolvable = null;
"use strict"; "use strict";
return 11; return 11;
} }
}); });
assert.sameValue(obj.accProperty, 11, 'obj.accProperty'); assert.sameValue(obj.accProperty, 11, 'obj.accProperty');
assert.sameValue(public, 1, 'public'); assert.sameValue(test262unresolvable, null);

View File

@ -11,12 +11,12 @@ flags: [noStrict]
---*/ ---*/
assert.throws(SyntaxError, function() { assert.throws(ReferenceError, function() {
var obj = {}; var obj = {};
Object.defineProperty(obj, "accProperty", { Object.defineProperty(obj, "accProperty", {
get: function () { get: function () {
"use strict"; "use strict";
eval("var public = 1;"); test262unresolvable = null;
return 11; return 11;
} }
}); });

View File

@ -12,13 +12,13 @@ flags: [noStrict]
var data = "data"; var data = "data";
assert.throws(SyntaxError, function() { assert.throws(ReferenceError, function() {
"use strict"; "use strict";
var obj = {}; var obj = {};
Object.defineProperty(obj, "accProperty", { Object.defineProperty(obj, "accProperty", {
set: function (value) { set: function (value) {
eval("var public = 1;"); test262unresolvable = null;
data = value; data = value;
} }
}); });

View File

@ -12,12 +12,12 @@ flags: [noStrict]
var data = "data"; var data = "data";
assert.throws(SyntaxError, function() { assert.throws(ReferenceError, function() {
var obj = {}; var obj = {};
Object.defineProperty(obj, "accProperty", { Object.defineProperty(obj, "accProperty", {
set: function (value) { set: function (value) {
"use strict"; "use strict";
eval("var public = 1;"); test262unresolvable = null;
data = value; data = value;
} }
}); });

View File

@ -12,12 +12,12 @@ flags: [noStrict]
---*/ ---*/
assert.throws(SyntaxError, function() { assert.throws(ReferenceError, function() {
var obj = {}; var obj = {};
Object.defineProperty(obj, "accProperty", { Object.defineProperty(obj, "accProperty", {
set: function () { set: function () {
"use strict"; "use strict";
eval("var public = 1;"); test262unresolvable = null;
return 11; return 11;
} }
}); });