| //@ memoryHog! | |
| //@ 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(() => { | |
| btoa('a'.repeat(2 ** 31 - 1)); | |
| }, "RangeError: Out of memory"); |