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