| 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..4129f8f8178f4f42f0aa135c383b31962ea1c99b 100644
|
| --- a/LayoutTests/http/tests/serviceworker/resources/worker-test-harness.js
|
| +++ b/LayoutTests/http/tests/serviceworker/resources/worker-test-harness.js
|
| @@ -84,3 +84,29 @@ 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| rejects with an exception matching
|
| +// |code|. Accepted values for |code| follow those accepted for assert_throws().
|
| +// The optional |description| describes the test being performed.
|
| +// E.g.:
|
| +// assert_promise_rejects(
|
| +// new Promise(...), // something that should throw an exception.
|
| +// 'NotFoundError',
|
| +// 'Should throw NotFoundError.');
|
| +//
|
| +// assert_promise_rejects(
|
| +// new Promise(...),
|
| +// new TypeError(),
|
| +// 'Should throw TypeError');
|
| +function assert_promise_rejects(promise, code, description) {
|
| + return promise.then(
|
| + function() {
|
| + throw 'assert_promise_rejects: ' + description + ' Promise did not throw.';
|
| + },
|
| + function(e) {
|
| + if (code !== undefined) {
|
| + assert_throws(code, function() { throw e; }, description);
|
| + }
|
| + });
|
| +}
|
|
|