Chromium Code Reviews| Index: LayoutTests/http/tests/serviceworker/resources/test-helpers.js |
| diff --git a/LayoutTests/http/tests/serviceworker/resources/test-helpers.js b/LayoutTests/http/tests/serviceworker/resources/test-helpers.js |
| index b0c885c4ad2f5d7f88db1621da6bb3e110c94fc3..6c086dc99a0dfe7c0347605c5beb75cfcb4d72ca 100644 |
| --- a/LayoutTests/http/tests/serviceworker/resources/test-helpers.js |
| +++ b/LayoutTests/http/tests/serviceworker/resources/test-helpers.js |
| @@ -1,46 +1,42 @@ |
| // Adapter for testharness.js-style tests with Service Workers |
| function service_worker_unregister_and_register(test, url, scope) { |
| - var options = scope ? { scope: scope } : {}; |
| - return navigator.serviceWorker.unregister(scope).then( |
| - test.step_func(function() { |
| - return navigator.serviceWorker.register(url, options); |
| - }), |
| - unreached_rejection(test, 'Unregister should not fail') |
| - ).then(test.step_func(function(worker) { |
| - return Promise.resolve(worker); |
| - }), |
| - unreached_rejection(test, 'Registration should not fail') |
| - ); |
| + var options = scope ? {scope: scope} : {}; |
| + return navigator.serviceWorker.unregister(scope) |
| + .catch(unreached_rejection(test, 'Unregister should not fail')) |
| + .then(test.step_func(function() { |
| + return navigator.serviceWorker.register(url, options); |
| + })) |
| + .catch(unreached_rejection(test, 'Registration should not fail')); |
| } |
| function service_worker_unregister_and_done(test, scope) { |
| - return navigator.serviceWorker.unregister(scope).then( |
| - test.done.bind(test), |
| - unreached_rejection(test, 'Unregister should not fail')); |
| + return navigator.serviceWorker.unregister(scope) |
| + .then(test.done.bind(test), |
| + unreached_rejection(test, 'Unregister should not fail')); |
| } |
| // Rejection-specific helper that provides more details |
| function unreached_rejection(test, prefix) { |
| - return test.step_func(function(error) { |
| - var reason = error.name ? error.name : error; |
| - var prefix = prefix ? prefix : "unexpected rejection"; |
| - assert_unreached(prefix + ': ' + reason); |
| + return test.step_func(function(error) { |
| + var reason = error.message || error.name || error; |
|
falken
2014/08/07 12:45:45
Thank you for this!!! I've been using this locally
|
| + var error_prefix = prefix || 'unexpected rejection'; |
| + assert_unreached(error_prefix + ': ' + reason); |
| }); |
| } |
| // FIXME: Clean up the iframe when the test completes. |
| function with_iframe(url, f) { |
| - return new Promise(function(resolve, reject) { |
| - var frame = document.createElement('iframe'); |
| - frame.src = url; |
| - frame.onload = function() { |
| - if (f) { |
| - f(frame); |
| - } |
| - resolve(frame); |
| - }; |
| - document.body.appendChild(frame); |
| + return new Promise(function(resolve, reject) { |
| + var frame = document.createElement('iframe'); |
| + frame.src = url; |
| + frame.onload = function() { |
| + if (f) { |
| + f(frame); |
| + } |
| + resolve(frame); |
| + }; |
| + document.body.appendChild(frame); |
| }); |
| } |
| @@ -49,11 +45,12 @@ function normalizeURL(url) { |
| } |
| function wait_for_state(test, worker, state) { |
| - return new Promise(test.step_func(function(resolve, reject) { |
| - worker.addEventListener('statechange', test.step_func(function() { |
| + return new Promise(test.step_func(function(resolve, reject) { |
| + worker.addEventListener('statechange', |
| + test.step_func(function() { |
| if (worker.state === state) |
| - resolve(state); |
| - })); |
| + resolve(state); |
| + })); |
| })); |
| } |