Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(125)

Unified Diff: third_party/WebKit/LayoutTests/external/wpt/service-workers/service-worker/getregistrations.https.html

Issue 2853383004: Upstream service worker registration tests to WPT (Closed)
Patch Set: Created 3 years, 8 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: third_party/WebKit/LayoutTests/external/wpt/service-workers/service-worker/getregistrations.https.html
diff --git a/third_party/WebKit/LayoutTests/external/wpt/service-workers/service-worker/getregistrations.https.html b/third_party/WebKit/LayoutTests/external/wpt/service-workers/service-worker/getregistrations.https.html
index 036764d1133247f8657d15b22cd4042d723339b6..1ed871a8b227ce27bc1fe6179a626c51eb8ca3f8 100644
--- a/third_party/WebKit/LayoutTests/external/wpt/service-workers/service-worker/getregistrations.https.html
+++ b/third_party/WebKit/LayoutTests/external/wpt/service-workers/service-worker/getregistrations.https.html
@@ -4,12 +4,22 @@
<script src="/resources/testharnessreport.js"></script>
<script src="resources/test-helpers.sub.js"></script>
<script src="/common/get-host-info.sub.js"></script>
-<script src="../fetch/resources/fetch-test-helpers.sub.js"></script>
<script>
// Purge the existing registrations for the origin.
// getRegistrations() is used in order to avoid adding additional complexity
// e.g. adding an internal function.
-promise_test(function(t) {
+setup({ explicit_done: true });
+
+promise_test(function() {
+ function waitForUnregistered() {
+ return navigator.serviceWorker.getRegistrations()
+ .then(function(value) {
+ if (value.length > 0) {
+ return waitForUnregistered();
+ }
+ });
+ }
+
return navigator.serviceWorker.getRegistrations()
.then(function(registrations) {
return registrations.reduce(function(sequence, registration) {
@@ -17,19 +27,18 @@ promise_test(function(t) {
return registration.unregister();
});
}, Promise.resolve());
- });
- }, 'Purge the existing registrations.');
-
-promise_test(function(t) {
- return navigator.serviceWorker.getRegistrations()
- .then(function(value) {
- assert_array_equals(
- value,
- [],
- 'getRegistrations should resolve with an empty array.');
- });
- }, 'getRegistrations');
+ })
+ .then(waitForUnregistered)
Marijn Kruisselbrink 2017/05/03 16:31:41 I don't think this waitForUnregistered change (rat
mike3 2017/05/03 17:26:19 Ah, right. I'll remove `waitForUnregistered`.
+ // This test's sub-tests should only be defined (and subsequently
+ // executed) after all registrations are known to be cleared.
Marijn Kruisselbrink 2017/05/03 16:31:41 promise_tests are ran sequentially anyway (i.e. th
mike3 2017/05/03 17:26:19 I made both changes according to the mistaken beli
+ .then(defineTests)
+ // Invoking the global `done` function instructs the test harness to
+ // interpret the completion of all currently-defined sub-tests as a
+ // signal of test completion.
+ .then(done);
+ }, 'test set up: purge all registrations');
+function defineTests() {
promise_test(function(t) {
var scope = 'resources/scope/getregistrations/normal';
var script = 'resources/empty-worker.js';
@@ -186,6 +195,5 @@ promise_test(function(t) {
return service_worker_unregister(t, scope);
});
}, 'getRegistrations promise resolves only with same origin registrations.');
-
-done();
+}
</script>

Powered by Google App Engine
This is Rietveld 408576698