summaryrefslogtreecommitdiffstats
path: root/js/src/jit-test/tests/modules/module-this.js
blob: 2970f0846ec43e8b32bf12b075432585a3d35b02 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
// |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();