summaryrefslogtreecommitdiffstats
path: root/js/src/tests/non262/class/methodsPrototype.js
blob: 07a565ceb649a5318c64e7674e55b214158609f8 (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
37
38
39
class TestClass {
    constructor() { }
    method() { }
    get getter() { }
    set setter(x) { }
    *generator() { }
    static staticMethod() { }
    static get staticGetter() { }
    static set staticSetter(x) { }
    static *staticGenerator() { }
}

var test = new TestClass();

var hasPrototype = [
    test.constructor,
    test.generator,
    TestClass.staticGenerator
]

for (var fun of hasPrototype) {
    assertEq(fun.hasOwnProperty('prototype'), true);
}

var hasNoPrototype = [
    test.method,
    Object.getOwnPropertyDescriptor(test.__proto__, 'getter').get,
    Object.getOwnPropertyDescriptor(test.__proto__, 'setter').set,
    TestClass.staticMethod,
    Object.getOwnPropertyDescriptor(TestClass, 'staticGetter').get,
    Object.getOwnPropertyDescriptor(TestClass, 'staticSetter').set,
]

for (var fun of hasNoPrototype) {
    assertEq(fun.hasOwnProperty('prototype'), false);
}

if (typeof reportCompare === "function")
    reportCompare(0, 0, "OK");