summaryrefslogtreecommitdiffstats
path: root/js/src/tests/ecma_6/Class/superPropStatics.js
diff options
context:
space:
mode:
Diffstat (limited to 'js/src/tests/ecma_6/Class/superPropStatics.js')
-rw-r--r--js/src/tests/ecma_6/Class/superPropStatics.js34
1 files changed, 34 insertions, 0 deletions
diff --git a/js/src/tests/ecma_6/Class/superPropStatics.js b/js/src/tests/ecma_6/Class/superPropStatics.js
new file mode 100644
index 000000000..32624b5d2
--- /dev/null
+++ b/js/src/tests/ecma_6/Class/superPropStatics.js
@@ -0,0 +1,34 @@
+class base {
+ constructor() { }
+ static found() {
+ this.foundCalled = true;
+ }
+ static get accessor() {
+ assertEq(this, derived);
+ return 45;
+ }
+ notFound() { }
+}
+
+class derived extends base {
+ constructor() { }
+
+ static found() { throw "NO!"; }
+ static get accessor() { throw "NO!"; }
+
+ static test() {
+ assertEq(super["notFound"], undefined);
+ super.found();
+
+ // foundCalled is set on |derived| specifically.
+ let calledDesc = Object.getOwnPropertyDescriptor(derived, "foundCalled");
+ assertEq(calledDesc.value, true);
+
+ assertEq(super.accessor, 45);
+ }
+}
+
+derived.test();
+
+if (typeof reportCompare === 'function')
+ reportCompare(0,0,"OK");