1234567891011121314151617181920 |
- export default async promise => {
- try {
- await promise;
- } catch (error) {
- // TODO: Check jump destination to destinguish between a throw
- // and an actual invalid jump.
- const invalidJump = error.message.search('invalid JUMP') >= 0;
- // TODO: When we contract A calls contract B, and B throws, instead
- // of an 'invalid jump', we get an 'out of gas' error. How do
- // we distinguish this from an actual out of gas event? (The
- // testrpc log actually show an 'invalid jump' event.)
- const outOfGas = error.message.search('out of gas') >= 0;
- assert(
- invalidJump || outOfGas,
- "Expected throw, got '" + error + "' instead",
- );
- return;
- }
- assert.fail('Expected throw not received');
- };
|