| 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(() => { | |
| JSON.parse(`[object Object]`); | |
| }, `SyntaxError: JSON Parse error: Unexpected identifier "object"`); |