| 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"); |