summaryrefslogtreecommitdiffstats
path: root/js/src/tests/non262/class/superPropStatics.js
blob: 32624b5d2894f68a3565a531395a375addaa57fe (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
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");