diff options
author | Daniel Baumann <daniel.baumann@progress-linux.org> | 2024-04-28 14:29:10 +0000 |
---|---|---|
committer | Daniel Baumann <daniel.baumann@progress-linux.org> | 2024-04-28 14:29:10 +0000 |
commit | 2aa4a82499d4becd2284cdb482213d541b8804dd (patch) | |
tree | b80bf8bf13c3766139fbacc530efd0dd9d54394c /js/src/jit-test/tests/environments/bug1671563.js | |
parent | Initial commit. (diff) | |
download | firefox-upstream.tar.xz firefox-upstream.zip |
Adding upstream version 86.0.1.upstream/86.0.1upstream
Signed-off-by: Daniel Baumann <daniel.baumann@progress-linux.org>
Diffstat (limited to 'js/src/jit-test/tests/environments/bug1671563.js')
-rw-r--r-- | js/src/jit-test/tests/environments/bug1671563.js | 24 |
1 files changed, 24 insertions, 0 deletions
diff --git a/js/src/jit-test/tests/environments/bug1671563.js b/js/src/jit-test/tests/environments/bug1671563.js new file mode 100644 index 0000000000..29a24fbcd9 --- /dev/null +++ b/js/src/jit-test/tests/environments/bug1671563.js @@ -0,0 +1,24 @@ +// The value of a `var` on entering a function is `undefined`, even if a +// default expression uses the same stack slot for something else. + +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); + + |