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); |