summaryrefslogtreecommitdiffstats
path: root/js/src/tests/ecma_6/Class/superPropBasicGetter.js
diff options
context:
space:
mode:
Diffstat (limited to 'js/src/tests/ecma_6/Class/superPropBasicGetter.js')
-rw-r--r--js/src/tests/ecma_6/Class/superPropBasicGetter.js36
1 files changed, 36 insertions, 0 deletions
diff --git a/js/src/tests/ecma_6/Class/superPropBasicGetter.js b/js/src/tests/ecma_6/Class/superPropBasicGetter.js
new file mode 100644
index 000000000..fe1f4eeee
--- /dev/null
+++ b/js/src/tests/ecma_6/Class/superPropBasicGetter.js
@@ -0,0 +1,36 @@
+class base {
+ constructor() {}
+
+ getValue() {
+ return this._prop;
+ }
+
+ setValue(v) {
+ this._prop = v;
+ }
+}
+
+class derived extends base {
+ constructor() { super(); }
+
+ get a() { return super.getValue(); }
+ set a(v) { super.setValue(v); }
+
+ get b() { return eval('super.getValue()'); }
+ set b(v) { eval('super.setValue(v);'); }
+
+ test() {
+ this.a = 15;
+ assertEq(this.a, 15);
+
+ assertEq(this.b, 15);
+ this.b = 30;
+ assertEq(this.b, 30);
+ }
+}
+
+var derivedInstance = new derived();
+derivedInstance.test();
+
+if (typeof reportCompare === 'function')
+ reportCompare(0,0,"OK");