| class base { constructor() { } } |
| |
| // lies and the lying liars who tell them |
| function lies() { } |
| lies.prototype = 4; |
| |
| assertThrowsInstanceOf(()=>Reflect.consruct(base, [], lies), TypeError); |
| |
| // lie a slightly different way |
| function get(target, property, receiver) { |
| if (property === "prototype") |
| return 42; |
| return Reflect.get(target, property, receiver); |
| } |
| |
| class inst extends base { |
| constructor() { super(); } |
| } |
| assertThrowsInstanceOf(()=>new new Proxy(inst, {get})(), TypeError); |
| |
| class defaultInst extends base {} |
| assertThrowsInstanceOf(()=>new new Proxy(defaultInst, {get})(), TypeError); |
| |
| if (typeof reportCompare === 'function') |
| reportCompare(0,0,"OK"); |