blob: 0e9a76f56965dd3fa21bdfa935d0b93b0761964d (
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
|
// |reftest|
//
// Ensure PrivateNames aren't iterable.
class O {
#x = 123;
gx() {
return this.#x;
}
}
var o = new O;
assertEq(o.gx(), 123);
assertEq(Object.keys(o).length, 0);
assertEq(Object.getOwnPropertyNames(o).length, 0);
assertEq(Object.getOwnPropertySymbols(o).length, 0);
assertEq(Reflect.ownKeys(o).length, 0);
var forIn = [];
for (var pk in o) {
forIn.push(pk);
}
assertEq(forIn.length, 0);
// Proxy case
var proxy = new Proxy(o, {});
assertEq(Object.keys(proxy).length, 0);
assertEq(Object.getOwnPropertyNames(proxy).length, 0);
assertEq(Object.getOwnPropertySymbols(proxy).length, 0);
assertEq(Reflect.ownKeys(proxy).length, 0);
for (var pk in proxy) {
forIn.push(pk);
}
assertEq(forIn.length, 0);
if (typeof reportCompare === 'function')
reportCompare(0, 0);
|