| function bogusConstruct(target) { return 4; } |
| function bogusConstructUndefined(target) { } |
| |
| var handler = { construct: bogusConstruct } |
| |
| function callable() {} |
| |
| var p = new Proxy(callable, handler); |
| |
| assertThrowsInstanceOf(function () { new p(); }, TypeError, |
| "[[Construct must throw if an object is not returned."); |
| |
| handler.construct = bogusConstructUndefined; |
| assertThrowsInstanceOf(function () { new p(); }, TypeError, |
| "[[Construct must throw if an object is not returned."); |
| |
| if (typeof reportCompare === "function") |
| reportCompare(0,0, "OK"); |