| function base() { } |
| |
| class beforeSwizzle extends base { |
| constructor() { |
| super(Object.setPrototypeOf(beforeSwizzle, null)); |
| } |
| } |
| |
| new beforeSwizzle(); |
| |
| // Again, testing both dynamic prototype dispatch, and that we get the function |
| // before evaluating args |
| class beforeThrow extends base { |
| constructor() { |
| function thrower() { throw new Error(); } |
| super(thrower()); |
| } |
| } |
| |
| Object.setPrototypeOf(beforeThrow, Math.sin); |
| |
| // Will throw that Math.sin is not a constructor before evaluating the args |
| assertThrowsInstanceOf(() => new beforeThrow(), TypeError); |
| |
| if (typeof reportCompare === 'function') |
| reportCompare(0,0,"OK"); |