Chromium Code Reviews| Index: LayoutTests/http/tests/serviceworker/resources/worker-test-harness.js |
| diff --git a/LayoutTests/http/tests/serviceworker/resources/worker-test-harness.js b/LayoutTests/http/tests/serviceworker/resources/worker-test-harness.js |
| index 1d3a5f576840015fc44df81b7e357ab7c5e76b51..56840e1661afd17a629f89c801fe898024dfa99a 100644 |
| --- a/LayoutTests/http/tests/serviceworker/resources/worker-test-harness.js |
| +++ b/LayoutTests/http/tests/serviceworker/resources/worker-test-harness.js |
| @@ -84,3 +84,21 @@ function promise_test(func, name, properties) { |
| throw value; |
| })); |
| } |
| + |
| +// Returns a promise that fulfills after the provided |promise| is fulfilled. |
| +// The |test| succeeds only if |promise| throws an exception matching |code|. |
| +// The optional |description| describes the test being performed. |
| +// E.g.: |
| +// assert_promise_throws( |
| +// new Promise(...), // something that should throw an exception. |
| +// 'NotFoundError', |
| +// 'Should throw NotFoundError.'); |
| +function assert_promise_throws(promise, code, description) { |
|
jsbell
2014/09/11 22:27:30
Can we rename this to assert_promise_rejects since
asanka
2014/09/24 03:28:55
Done.
|
| + return promise.then( |
| + function() { |
| + throw 'assert_promise_throws: ' + description + ' Promise did not throw.'; |
| + }, |
| + function(e) { |
| + assert_throws(code, function() { throw e; }, description); |
| + }); |
| +} |