summaryrefslogtreecommitdiffstats
path: root/js/src/jit-test/tests/class/bug1628719.js
diff options
context:
space:
mode:
Diffstat (limited to 'js/src/jit-test/tests/class/bug1628719.js')
-rw-r--r--js/src/jit-test/tests/class/bug1628719.js28
1 files changed, 28 insertions, 0 deletions
diff --git a/js/src/jit-test/tests/class/bug1628719.js b/js/src/jit-test/tests/class/bug1628719.js
new file mode 100644
index 0000000000..76d3b97664
--- /dev/null
+++ b/js/src/jit-test/tests/class/bug1628719.js
@@ -0,0 +1,28 @@
+class BaseOne {
+ static build() { return 'BaseOne'; }
+}
+
+class BaseTwo {
+ static build() { return 'BaseTwo'; }
+}
+
+class ClassOne extends BaseOne {
+ constructor() { super(); }
+}
+
+class ClassTwo extends BaseTwo {
+ constructor() { super(); }
+}
+
+const ClassMap = { 1: ClassOne, 2: ClassTwo };
+const TimeLine = [2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2];
+
+function run() {
+ for (var i = 0; i < TimeLine.length; ++i) {
+ var j = TimeLine[i];
+ var expected = j === 1 ? 'BaseOne' : 'BaseTwo';
+ var actual = ClassMap[j].build();
+ assertEq(actual, expected);
+ }
+}
+run();