| function makeProxy(type) { |
| return new Proxy({}, { ownKeys() { return [type]; } }); |
| } |
| |
| for (var type of [123, 12.5, true, false, undefined, null, {}, []]) { |
| var proxy = makeProxy(type); |
| assertThrowsInstanceOf(() => Object.ownKeys(proxy), TypeError); |
| assertThrowsInstanceOf(() => Object.getOwnPropertyNames(proxy), TypeError); |
| } |
| |
| type = Symbol(); |
| proxy = makeProxy(type); |
| assertEq(Object.getOwnPropertySymbols(proxy)[0], type); |
| |
| type = "abc"; |
| proxy = makeProxy(type); |
| assertEq(Object.getOwnPropertyNames(proxy)[0], type); |
| |
| if (typeof reportCompare === "function") |
| reportCompare(true, true); |