Index: third_party/WebKit/LayoutTests/http/tests/serviceworker/navigation-preload/get-state.html |
diff --git a/third_party/WebKit/LayoutTests/http/tests/serviceworker/navigation-preload/get-state.html b/third_party/WebKit/LayoutTests/http/tests/serviceworker/navigation-preload/get-state.html |
deleted file mode 100644 |
index 560cc3e87d3c52f95c8650466cd787e4506e24e5..0000000000000000000000000000000000000000 |
--- a/third_party/WebKit/LayoutTests/http/tests/serviceworker/navigation-preload/get-state.html |
+++ /dev/null |
@@ -1,217 +0,0 @@ |
-<!DOCTYPE html> |
-<meta charset="utf-8"> |
-<title>NavigationPreloadManager.getState</title> |
-<script src="../../resources/testharness.js"></script> |
-<script src="../../resources/testharnessreport.js"></script> |
-<script src="../resources/test-helpers.js"></script> |
-<script src="resources/helpers.js"></script> |
-<body> |
-<script> |
-function post_and_wait_for_reply(worker, message) { |
- return new Promise(resolve => { |
- navigator.serviceWorker.onmessage = e => { resolve(e.data); }; |
- worker.postMessage(message); |
- }); |
-} |
- |
-promise_test(t => { |
- const scope = '../resources/get-state'; |
- const script = '../resources/empty-worker.js'; |
- var np; |
- |
- return service_worker_unregister_and_register(t, script, scope) |
- .then(r => { |
- np = r.navigationPreload; |
- add_completion_callback(() => r.unregister()); |
- return wait_for_state(t, r.installing, 'activated'); |
- }) |
- .then(() => np.getState()) |
- .then(state => { |
- expect_navigation_preload_state(state, false, 'true', 'default state'); |
- return np.enable(); |
- }) |
- .then(result => { |
- assert_equals(result, undefined, |
- 'enable() should resolve to undefined'); |
- return np.getState(); |
- }) |
- .then(state => { |
- expect_navigation_preload_state(state, true, 'true', |
- 'state after enable()'); |
- return np.disable(); |
- }) |
- .then(result => { |
- assert_equals(result, undefined, |
- 'disable() should resolve to undefined'); |
- return np.getState(); |
- }) |
- .then(state => { |
- expect_navigation_preload_state(state, false, 'true', |
- 'state after disable()'); |
- return np.setHeaderValue('dreams that cannot be'); |
- }) |
- .then(result => { |
- assert_equals(result, undefined, |
- 'setHeaderValue() should resolve to undefined'); |
- return np.getState(); |
- }) |
- .then(state => { |
- expect_navigation_preload_state(state, false, 'dreams that cannot be', |
- 'state after setHeaderValue()'); |
- return np.setHeaderValue('').then(() => np.getState()); |
- }) |
- .then(state => { |
- expect_navigation_preload_state(state, false, '', |
- 'after setHeaderValue to empty string'); |
- return np.setHeaderValue(null).then(() => np.getState()); |
- }) |
- .then(state => { |
- expect_navigation_preload_state(state, false, 'null', |
- 'after setHeaderValue to null'); |
- return promise_rejects(t, |
- new TypeError, |
- np.setHeaderValue('what\uDC00\uD800this'), |
- 'setHeaderValue() should throw if passed surrogates'); |
- }) |
- .then(() => { |
- return promise_rejects(t, |
- new TypeError, |
- np.setHeaderValue('zer\0o'), |
- 'setHeaderValue() should throw if passed \\0'); |
- }) |
- .then(() => { |
- return promise_rejects(t, |
- new TypeError, |
- np.setHeaderValue('\rcarriage'), |
- 'setHeaderValue() should throw if passed \\r'); |
- }) |
- .then(() => { |
- return promise_rejects(t, |
- new TypeError, |
- np.setHeaderValue('newline\n'), |
- 'setHeaderValue() should throw if passed \\n'); |
- }) |
- .then(() => { |
- return promise_rejects(t, |
- new TypeError, |
- np.setHeaderValue(), |
- 'setHeaderValue() should throw if passed undefined'); |
- }) |
- .then(() => np.enable().then(() => np.getState())) |
- .then(state => { |
- expect_navigation_preload_state(state, true, 'null', |
- 'enable() should not change header'); |
- }); |
- }, 'getState'); |
- |
-// This test sends commands to a worker to call enable()/disable()/getState(). |
-// It checks the results from the worker and verifies that they match the |
-// navigation preload state accessible from the page. |
-promise_test(t => { |
- const scope = 'resources/get-state-worker'; |
- const script = 'resources/get-state-worker.js'; |
- var worker; |
- var registration; |
- |
- return service_worker_unregister_and_register(t, script, scope) |
- .then(r => { |
- registration = r; |
- add_completion_callback(() => registration.unregister()); |
- worker = registration.installing; |
- return wait_for_state(t, worker, 'activated'); |
- }) |
- .then(() => { |
- // Call getState(). |
- return post_and_wait_for_reply(worker, 'getState'); |
- }) |
- .then(data => { |
- return Promise.all([data, registration.navigationPreload.getState()]); |
- }) |
- .then(states => { |
- expect_navigation_preload_state(states[0], false, 'true', |
- 'default state (from worker)'); |
- expect_navigation_preload_state(states[1], false, 'true', |
- 'default state (from page)'); |
- // Call enable() and then getState(). |
- return post_and_wait_for_reply(worker, 'enable'); |
- }) |
- .then(data => { |
- assert_equals(data, undefined, 'enable() should resolve to undefined'); |
- return Promise.all([ |
- post_and_wait_for_reply(worker, 'getState'), |
- registration.navigationPreload.getState() |
- ]); |
- }) |
- .then(states => { |
- expect_navigation_preload_state(states[0], true, 'true', |
- 'state after enable() (from worker)'); |
- expect_navigation_preload_state(states[1], true, 'true', |
- 'state after enable() (from page)'); |
- // Call disable() and then getState(). |
- return post_and_wait_for_reply(worker, 'disable'); |
- }) |
- .then(data => { |
- assert_equals(data, undefined, |
- '.disable() should resolve to undefined'); |
- return Promise.all([ |
- post_and_wait_for_reply(worker, 'getState'), |
- registration.navigationPreload.getState() |
- ]); |
- }) |
- .then(states => { |
- expect_navigation_preload_state(states[0], false, 'true', |
- 'state after disable() (from worker)'); |
- expect_navigation_preload_state(states[1], false, 'true', |
- 'state after disable() (from page)'); |
- return post_and_wait_for_reply(worker, 'setHeaderValue'); |
- }) |
- .then(data => { |
- assert_equals(data, undefined, |
- '.setHeaderValue() should resolve to undefined'); |
- return Promise.all([ |
- post_and_wait_for_reply(worker, 'getState'), |
- registration.navigationPreload.getState()]); |
- }) |
- .then(states => { |
- expect_navigation_preload_state( |
- states[0], false, 'insightful', |
- 'state after setHeaderValue() (from worker)'); |
- expect_navigation_preload_state( |
- states[1], false, 'insightful', |
- 'state after setHeaderValue() (from page)'); |
- }); |
- }, 'getState from a worker'); |
- |
-// This tests navigation preload API when there is no active worker. It calls |
-// the API from the main page and then from the worker itself. |
-promise_test(t => { |
- const scope = 'resources/wait-for-activate-worker'; |
- const script = 'resources/wait-for-activate-worker.js'; |
- var registration; |
- var np; |
- return service_worker_unregister_and_register(t, script, scope) |
- .then(r => { |
- registration = r; |
- np = registration.navigationPreload; |
- add_completion_callback(() => registration.unregister()); |
- return Promise.all([ |
- promise_rejects( |
- t, 'InvalidStateError', np.enable(), |
- 'enable should reject if there is no active worker'), |
- promise_rejects( |
- t, 'InvalidStateError', np.disable(), |
- 'disable should reject if there is no active worker'), |
- promise_rejects( |
- t, 'InvalidStateError', np.setHeaderValue('umm'), |
- 'setHeaderValue should reject if there is no active worker')]); |
- }) |
- .then(() => np.getState()) |
- .then(state => { |
- expect_navigation_preload_state(state, false, 'true', |
- 'state before activation'); |
- return post_and_wait_for_reply(registration.installing, 'ping'); |
- }) |
- .then(result => assert_equals(result, 'PASS')); |
- }, 'no active worker'); |
-</script> |
-</body> |