test262/implementation-contributed/javascriptcore/stress/jsonp-program-evaluate-path-must-consider-global-lexical-environment.js
test262-automation e9a5a7f918 [javascriptcore-test262-automation] changes from git@github.com:WebKit/webkit.git at sha 949e26452cfa153a7f4afe593da97e2fe9e1b706 on Tue Jul 03 2018 14:35:15 GMT-0400 (Eastern Daylight Time) (#1620)
* [javascriptcore-test262-automation] changes from git@github.com:WebKit/webkit.git at sha 949e26452cfa153a7f4afe593da97e2fe9e1b706 on Tue Jul 03 2018 14:35:15 GMT-0400 (Eastern Daylight Time)
2018-07-03 15:59:58 -04:00

54 lines
901 B
JavaScript

function assert(b) {
if (!b)
throw new Error("Bad");
}
disableRichSourceInfo(); // This is needed for the JSONP path to be taken for calls.
let a = 22;
loadString("a = 42");
assert(a === 42);
let b = {f: 22};
loadString("b.f = 42");
assert(b.f === 42);
let foo = null;
let bar = 42;
loadString("foo = 'root'; bar = 5")
assert(foo === "root");
assert(bar === 5);
let called = false;
let func = (a) => {
assert(a.foo === 20);
called = true;
};
loadString("func({foo:20})");
assert(called);
called = false;
let o = {
foo(arg) {
assert(arg.foo === 20);
called = true;
}
};
loadString("o.foo({foo:20})");
assert(called);
var theVar = 20;
loadString("theVar = 42");
assert(theVar === 42);
assert(this.theVar === 42);
called = false;
var varFunc = (a) => {
assert(a.foo === 20);
called = true;
};
loadString("varFunc({foo:20})");
assert(called);