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..f5e3c9f279f0ae51f97e95cff808ba95df168cbb 100644 |
--- a/LayoutTests/http/tests/serviceworker/serviceworkerglobalscope-scope.html |
+++ b/LayoutTests/http/tests/serviceworker/serviceworkerglobalscope-scope.html |
@@ -4,37 +4,57 @@ |
<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) { |
+ return new Promise(function(resolve, reject) { |
+ assert_equals(registration.waiting, null, |
+ 'registration.waiting shuold be null'); |
falken
2014/08/14 04:46:12
typo: "shuold" (and below)
horo
2014/08/14 07:11:46
Done.
|
+ assert_equals(registration.active, null, |
+ 'registration.active shuold be null'); |
+ assert_equals(registration.installing, null, |
+ 'registration.installing shuold be null'); |
+ registration.addEventListener('updatefound', t.step_func(function() { |
falken
2014/08/14 04:46:12
this should use wait_for_update()
horo
2014/08/14 07:11:47
We can't test (registration.waiting/active == null
falken
2014/08/14 10:16:36
You can save registration in a global:
var regist
nhiroki
2014/08/14 13:22:07
Done.
|
+ assert_equals(registration.waiting , null, |
falken
2014/08/14 04:46:12
nit: extra space before , (and below)
horo
2014/08/14 07:11:46
Done.
|
+ 'registration.waiting shuld be null'); |
falken
2014/08/14 04:46:12
typo: "shuld"
horo
2014/08/14 07:11:47
Done.
|
+ assert_equals(registration.active , null, |
+ 'registration.active should be null'); |
+ assert_true(registration.installing != null, |
+ 'registration.installing should not be null'); |
+ resolve(registration.installing); |
+ })); |
+ }); |
+ }) |
+ .then(function(worker) { |
+ var messageChannel = new MessageChannel(); |
+ messageChannel.port1.onmessage = t.step_func(function(e) { |
+ message = e.data; |
falken
2014/08/14 04:46:12
nit: var
horo
2014/08/14 07:11:47
Done.
|
+ 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. |
falken
2014/08/14 04:46:12
nit: FIXME, not [BUG] (but please link to a bug if
horo
2014/08/14 07:11:47
removed.
|
+// scope_test('absolute url', 'http://127.0.0.1:8000/'); |
</script> |