Chromium Code Reviews| Index: LayoutTests/http/tests/serviceworker/serviceworkerglobalscope-scope.html |
| diff --git a/LayoutTests/http/tests/serviceworker/serviceworkerglobalscope-scope.html b/LayoutTests/http/tests/serviceworker/serviceworkerglobalscope-scope.html |
| index 397e2f52d0236b5d0bafa2613a98973b90b5ad03..f3d89f931237a91fecaf7f79d5cc249b02feb89e 100644 |
| --- a/LayoutTests/http/tests/serviceworker/serviceworkerglobalscope-scope.html |
| +++ b/LayoutTests/http/tests/serviceworker/serviceworkerglobalscope-scope.html |
| @@ -4,37 +4,58 @@ |
| <script src="../resources/testharnessreport.js"></script> |
| <script src="resources/test-helpers.js"></script> |
| <script> |
| - |
| function scope_test(name, scope) { |
| var t = async_test('Verify the scope property: ' + name); |
| - |
| t.step(function() { |
| - var expectedScope, options; |
| - if (scope) { |
| - expectedScope = new URL(scope, document.location).toString(); |
| - } else { |
| - expectedScope = new URL('/', document.location).toString(); |
| - } |
| + var expectedScope, options; |
| + if (scope) { |
| + expectedScope = new URL(scope, document.location).toString(); |
| + } else { |
| + expectedScope = new URL('/', document.location).toString(); |
| + } |
| - service_worker_unregister_and_register( |
| - t, 'resources/serviceworkerglobalscope-scope-worker.js', scope |
| - ).then( |
| - t.step_func(function(worker) { |
| - var messageChannel = new MessageChannel(); |
| - messageChannel.port1.onmessage = t.step_func(function(e) { |
| - message = e.data; |
| - assert_equals(message.initialScope, expectedScope, 'Worker should see the scope on eval.'); |
| - assert_equals(message.currentScope, expectedScope, 'Worker scope should not change.'); |
| - service_worker_unregister_and_done(t, scope); |
| - }); |
| - worker.postMessage('', [messageChannel.port2]); |
| - }) |
| - ); |
| + service_worker_unregister_and_register( |
| + t, 'resources/serviceworkerglobalscope-scope-worker.js', scope) |
| + .then(function(registration) { |
| + assert_equals(registration.waiting, null, |
| + 'registration.waiting should be null'); |
| + assert_equals(registration.active, null, |
| + 'registration.active should be null'); |
| + assert_equals(registration.installing, null, |
| + 'registration.installing should be null'); |
| + return new Promise(function(resolve, reject) { |
| + registration.addEventListener('updatefound', |
| + t.step_func(function() { |
| + assert_equals(registration.waiting, null, |
| + 'registration.waiting should be null'); |
| + assert_equals(registration.active, null, |
| + 'registration.active should be null'); |
| + assert_true(registration.installing != null, |
|
falken
2014/08/14 10:16:36
assert_not_equals
nhiroki
2014/08/14 13:22:07
Comparing to the resolved worker would work. Fixed
|
| + 'registration.installing should not be null'); |
| + resolve(registration.installing); |
| + })); |
| + }); |
| + }) |
| + .then(function(worker) { |
| + var messageChannel = new MessageChannel(); |
| + messageChannel.port1.onmessage = t.step_func(function(e) { |
| + var message = e.data; |
| + assert_equals(message.initialScope, expectedScope, |
| + 'Worker should see the scope on eval.'); |
| + assert_equals(message.currentScope, expectedScope, |
| + 'Worker scope should not change.'); |
| + service_worker_unregister_and_done(t, scope); |
| + }); |
| + worker.postMessage('', [messageChannel.port2]); |
| + }) |
| + .catch(unreached_rejection(t)); |
| }); |
| } |
| scope_test('default'); |
| scope_test('relative path', '/a/b/c/'); |
| -scope_test('absolute url', 'http://127.0.0.1:8000/'); |
| + |
| +// [BUG] Same scope test doesn't work. updatefound doesn't called. |
|
nhiroki
2014/08/14 08:04:04
This would be intended behavior. unregister() coul
falken
2014/08/14 10:16:37
I'm a bit confused. What should this FIXME say?
nhiroki
2014/08/14 13:22:07
Hmmm... apparently this test is now working. Okay,
|
| +// scope_test('absolute url', 'http://127.0.0.1:8000/'); |
| </script> |