Index: LayoutTests/http/tests/serviceworker/multiple-register.html |
diff --git a/LayoutTests/http/tests/serviceworker/multiple-register.html b/LayoutTests/http/tests/serviceworker/multiple-register.html |
index aa213a104270ae75fe610eab19b8fa278e5c8c9e..ea1095f28e227c7cf0df1bd7c1652abef3ceda26 100644 |
--- a/LayoutTests/http/tests/serviceworker/multiple-register.html |
+++ b/LayoutTests/http/tests/serviceworker/multiple-register.html |
@@ -18,8 +18,10 @@ async_test(function(t) { |
return navigator.serviceWorker.register(worker_url, { scope: scope }); |
}) |
.then(function(new_registration) { |
- assert_equals(new_registration, registration, |
- 'register should resolve to the same registration'); |
+ assert_registration_equals(new_registration, registration); |
+ assert_not_equals( |
+ new_registration, registration, |
+ 'register should resolve to a new registration object'); |
assert_equals(new_registration.active, registration.active, |
'register should resolve to the same worker'); |
assert_equals(new_registration.active.state, 'activated', |
@@ -28,7 +30,8 @@ async_test(function(t) { |
}) |
.then(function() { t.done(); }) |
.catch(unreached_rejection(t)); |
-}, 'Subsequent registrations resolve to the same registration object'); |
+}, 'Subsequent registrations resolve to a different registration object ' + |
+ 'but they refer to the same registration and workers'); |
async_test(function(t) { |
var scope = 'resources/scope/subsequent-register-from-different-iframe'; |
@@ -49,7 +52,7 @@ async_test(function(t) { |
.then(function(new_registration) { |
assert_not_equals( |
registration, new_registration, |
- 'register should resolve to the different registration'); |
+ 'register should resolve to a different registration'); |
assert_equals( |
registration.scope, new_registration.scope, |
'registrations should have the same scope'); |
@@ -69,7 +72,7 @@ async_test(function(t) { |
assert_not_equals( |
registration.active, new_registration.active, |
- 'registration should have the different active worker'); |
+ 'registration should have a different active worker'); |
assert_equals( |
registration.active.scriptURL, |
new_registration.active.scriptURL, |
@@ -90,25 +93,31 @@ async_test(function(t) { |
async_test(function(t) { |
var scope = 'resources/scope/concurrent-register'; |
+ var number_of_registrations = 10; |
service_worker_unregister(t, scope) |
.then(function() { |
var promises = []; |
- for (var i = 0; i < 10; ++i) { |
+ for (var i = 0; i < number_of_registrations; ++i) { |
promises.push(navigator.serviceWorker.register(worker_url, |
{ scope: scope })); |
} |
return Promise.all(promises); |
}) |
.then(function(registrations) { |
+ for (var i = 1; i < number_of_registrations; ++i) { |
+ assert_registration_equals(registrations[i], registrations[0]); |
+ assert_not_equals( |
+ registrations[i], registrations[0], |
+ 'register should resolve to a new registration object'); |
+ } |
registrations.forEach(function(registration) { |
- assert_equals(registration, registrations[0], |
- 'register should resolve to the same registration'); |
}); |
return registrations[0].unregister(); |
}) |
.then(function() { t.done(); }) |
.catch(unreached_rejection(t)); |
-}, 'Concurrent registrations resolve to the same registration object'); |
+}, 'Concurrent registrations resolve to a different registration object ' + |
+ 'but they refer to the same registration and workers'); |
</script> |