summaryrefslogtreecommitdiffstats
path: root/js/src/jit-test/tests/environments/bug1671563-strict.js
blob: 5b9e8112ee30af7bc73bdeae66540081bc2659df (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
// A `var` is `undefined` on entering a function body in strict mode too.

"use strict";

load(libdir + "asserts.js");

function f(a = class C{}) {
  var x;
  return x;
}
assertEq(f(), undefined);

function* g1(a = class C {}) {
  var x;
  assertEq(x, undefined);
}
g1().next();

function* g2(a = class C {}) {
  x;
  let x;
}
assertThrowsInstanceOf(() => g2().next(), ReferenceError);