summaryrefslogtreecommitdiffstats
path: root/js/src/tests/ecma_6/Class/superPropBasicGetter.js
blob: fe1f4eeee8683a612ae4c04482cbdce8e6282896 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
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");