Chromium Code Reviews| Index: LayoutTests/http/tests/serviceworker/ServiceWorkerGlobalScope/resources/registration-attribute-worker.js |
| diff --git a/LayoutTests/http/tests/serviceworker/ServiceWorkerGlobalScope/resources/registration-attribute-worker.js b/LayoutTests/http/tests/serviceworker/ServiceWorkerGlobalScope/resources/registration-attribute-worker.js |
| index 236a27891506f4b661a1d50c5de539bc285a4fbb..8d04e9711ee3d4bff8c2c23473d1bd17ca64d742 100644 |
| --- a/LayoutTests/http/tests/serviceworker/ServiceWorkerGlobalScope/resources/registration-attribute-worker.js |
| +++ b/LayoutTests/http/tests/serviceworker/ServiceWorkerGlobalScope/resources/registration-attribute-worker.js |
| @@ -1,6 +1,8 @@ |
| importScripts('../../resources/test-helpers.js'); |
| importScripts('../../resources/worker-testharness.js'); |
| +var eventsSeen = []; |
|
falken
2015/01/28 13:47:24
events_seen
nhiroki
2015/01/28 14:25:05
Done.
|
| + |
| assert_equals( |
| self.registration.scope, |
| normalizeURL('scope/registration-attribute'), |
| @@ -18,36 +20,113 @@ assert_equals( |
| null, |
| 'On worker script evaluation, active worker should be null'); |
| +self.registration.addEventListener('updatefound', function() { |
| + eventsSeen.push('updatefound'); |
| + |
| + assert_equals( |
| + self.registration.scope, |
| + normalizeURL('scope/registration-attribute'), |
| + 'On updatefound event, registration attribute should be set'); |
| + assert_equals( |
| + self.registration.installing.scriptURL, |
| + normalizeURL('registration-attribute-worker.js'), |
| + 'On updatefound event, installing worker should be set'); |
| + assert_equals( |
| + self.registration.waiting, |
| + null, |
| + 'On updatefound event, waiting worker should be null'); |
| + assert_equals( |
| + self.registration.active, |
| + null, |
| + 'On updatefound event, active worker should be null'); |
| + |
| + assert_equals( |
| + self.registration.installing.state, |
| + 'installing', |
| + 'On updatefound event, worker should be in the installing state'); |
| + |
| + var worker = self.registration.installing; |
| + self.registration.installing.addEventListener('statechange', function() { |
| + eventsSeen.push('statechange(' + worker.state + ')'); |
| + }); |
| + }); |
| + |
| self.addEventListener('install', function(e) { |
| + eventsSeen.push('install'); |
| + |
| assert_equals( |
| self.registration.scope, |
| normalizeURL('scope/registration-attribute'), |
| 'On install event, registration attribute should be set'); |
| - // FIXME: Verify that... |
| - // - registration.installing is set. |
| - // - registration.{waiting, active} are null. |
| - // (http://crbug.com/437677) |
| + assert_equals( |
| + self.registration.installing.scriptURL, |
| + normalizeURL('registration-attribute-worker.js'), |
| + 'On install event, installing worker should be set'); |
| + assert_equals( |
| + self.registration.waiting, |
| + null, |
| + 'On install event, waiting worker should be null'); |
| + assert_equals( |
| + self.registration.active, |
| + null, |
| + 'On install event, active worker should be null'); |
| + |
| + assert_equals( |
| + self.registration.installing.state, |
| + 'installing', |
| + 'On install event, worker should be in the installing state'); |
| }); |
| self.addEventListener('activate', function(e) { |
| + eventsSeen.push('activate'); |
| + |
| assert_equals( |
| self.registration.scope, |
| normalizeURL('scope/registration-attribute'), |
| 'On activate event, registration attribute should be set'); |
| - // FIXME: Verify that... |
| - // - registration.{installing, waiting} are null. |
| - // - registration.active is set. |
| - // (http://crbug.com/437677) |
| + assert_equals( |
| + self.registration.installing, |
| + null, |
| + 'On activate event, installing worker should be null'); |
| + assert_equals( |
| + self.registration.waiting, |
| + null, |
| + 'On activate event, waiting worker should be null'); |
| + assert_equals( |
| + self.registration.active.scriptURL, |
| + normalizeURL('registration-attribute-worker.js'), |
| + 'On activate event, active worker should be set'); |
| + |
| + assert_equals( |
| + self.registration.active.state, |
| + 'activating', |
| + 'On activate event, worker should be in the activating state'); |
| }); |
| self.addEventListener('fetch', function(e) { |
| + eventsSeen.push('fetch'); |
| + |
| assert_equals( |
| self.registration.scope, |
| normalizeURL('scope/registration-attribute'), |
| 'On fetch event, registration attribute should be set'); |
| - // FIXME: Verify that... |
| - // - registration.{installing, waiting} are null. |
| - // - registration.active is set. |
| - // (http://crbug.com/437677) |
| - e.respondWith(new Response('PASS')); |
| + assert_equals( |
| + self.registration.installing, |
| + null, |
| + 'On fetch event, installing worker should be null'); |
| + assert_equals( |
| + self.registration.waiting, |
| + null, |
| + 'On fetch event, waiting worker should be null'); |
| + assert_equals( |
| + self.registration.active.scriptURL, |
| + normalizeURL('registration-attribute-worker.js'), |
| + 'On fetch event, active worker should be set'); |
| + |
| + assert_equals( |
| + self.registration.active.state, |
| + 'activated', |
| + 'On fetch event, worker should be in the activated state'); |
| + |
| + e.respondWith(new Response(eventsSeen)); |
| }); |