summaryrefslogtreecommitdiffstats
path: root/js/src/jit-test/tests/class/bug1488385.js
diff options
context:
space:
mode:
Diffstat (limited to 'js/src/jit-test/tests/class/bug1488385.js')
-rw-r--r--js/src/jit-test/tests/class/bug1488385.js13
1 files changed, 13 insertions, 0 deletions
diff --git a/js/src/jit-test/tests/class/bug1488385.js b/js/src/jit-test/tests/class/bug1488385.js
new file mode 100644
index 0000000000..46a15c0611
--- /dev/null
+++ b/js/src/jit-test/tests/class/bug1488385.js
@@ -0,0 +1,13 @@
+// Default class constructors should no longer be marked as self-hosted
+// functions. They should be munged to appear in every respect as if they
+// originated with the class definition.
+
+load(libdir + 'asserts.js');
+
+function f() {
+ return f.caller.p;
+}
+
+// Since default constructors are strict mode code, this should get:
+// TypeError: access to strict mode caller function is censored
+assertThrowsInstanceOf(() => new class extends f {}, TypeError);