diff options
Diffstat (limited to 'js/src/jit-test/tests/environments/bug1671563-strict.js')
-rw-r--r-- | js/src/jit-test/tests/environments/bug1671563-strict.js | 25 |
1 files changed, 25 insertions, 0 deletions
diff --git a/js/src/jit-test/tests/environments/bug1671563-strict.js b/js/src/jit-test/tests/environments/bug1671563-strict.js new file mode 100644 index 0000000000..5b9e8112ee --- /dev/null +++ b/js/src/jit-test/tests/environments/bug1671563-strict.js @@ -0,0 +1,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); + + |