| //@ runDefault | |
| function shouldThrow(func, errorMessage) { | |
| var errorThrown = false; | |
| var error = null; | |
| try { | |
| func(); | |
| } catch (e) { | |
| errorThrown = true; | |
| error = e; | |
| } | |
| if (!errorThrown) | |
| throw new Error('not thrown'); | |
| if (String(error) !== errorMessage) | |
| throw new Error(`bad error: ${String(error)}`); | |
| } | |
| shouldThrow(function(){ | |
| var x = 42; | |
| new x(...[x = function(){ }]); | |
| }, `TypeError: 42 is not a constructor (evaluating 'new x(...[x = function(){ }])')`); |