summaryrefslogtreecommitdiffstats
path: root/js/src/jit-test/tests/debug/Environment-module-01.js
blob: b0e64089bfc8bc19d92f7e4a573498ecc6961fe4 (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
26
// Debug environments for module environments should include variables that are
// are not closed over or exported.

var g = newGlobal({newCompartment: true});
var dbg = Debugger(g);
dbg.onEnterFrame = function (frame) {
  if (!frame.older) {
    return;
  }
  const env = frame.older.environment;
  assertEq(env.names().join(','), "foo,y,x,z");
  assertEq(env.getVariable('x'), 0);
  assertEq(env.getVariable('y'), 1);
  assertEq(env.getVariable('z'), 2);
  env.setVariable('x', 3);
  assertEq(env.getVariable('x'), 3);
};
const m = g.parseModule(`
  var x = 0;
  export var y = 1;
  const z = 2;
  foo();
  function foo() {}
`);
moduleLink(m);
moduleEvaluate(m);