Source code

Revision control

Copy as Markdown

Other Tools

// |jit-test|
// Test 'this' is undefined in modules.
function parseAndEvaluate(source) {
let m = parseModule(source);
moduleLink(m);
return moduleEvaluate(m);
}
parseAndEvaluate("this")
.then(value => assertEq(typeof(value), "undefined"))
.catch(error => {
// We shouldn't throw in this case.
assertEq(false, true)
});
let m = parseModule("export function getThis() { return this; }");
moduleLink(m);
moduleEvaluate(m)
.then(() => {
let f = getModuleEnvironmentValue(m, "getThis");
assertEq(typeof(f()), "undefined");
});
drainJobQueue();