54 lines
901 B
JavaScript
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);
|