diff options
Diffstat (limited to 'js/src/tests/ecma_6/Class/superPropBasicGetter.js')
-rw-r--r-- | js/src/tests/ecma_6/Class/superPropBasicGetter.js | 36 |
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"); |