summaryrefslogtreecommitdiffstats
path: root/dom/cache/test/xpcshell/test_migration.js
diff options
context:
space:
mode:
Diffstat (limited to 'dom/cache/test/xpcshell/test_migration.js')
-rw-r--r--dom/cache/test/xpcshell/test_migration.js71
1 files changed, 71 insertions, 0 deletions
diff --git a/dom/cache/test/xpcshell/test_migration.js b/dom/cache/test/xpcshell/test_migration.js
new file mode 100644
index 0000000000..566d809890
--- /dev/null
+++ b/dom/cache/test/xpcshell/test_migration.js
@@ -0,0 +1,71 @@
+/**
+ * Any copyright is dedicated to the Public Domain.
+ * http://creativecommons.org/publicdomain/zero/1.0/
+ *
+ * All images in schema_15_profile.zip are from https://github.com/mdn/sw-test/
+ * and are CC licensed by https://www.flickr.com/photos/legofenris/.
+ */
+
+add_task(async function testSteps() {
+ create_test_profile("schema_15_profile.zip");
+
+ const cache = await caches.open("xpcshell-test");
+ ok(cache, "cache exists");
+
+ const requestList = await cache.keys();
+
+ ok(requestList.length, "should have at least one request in cache");
+ for (const request of requestList) {
+ ok(request, "each request in list should be non-null");
+ Assert.strictEqual(
+ request.redirect,
+ "follow",
+ 'request.redirect should default to "follow"'
+ );
+ Assert.strictEqual(
+ request.cache,
+ "default",
+ 'request.cache should have been updated to "default"' + request.cache
+ );
+ Assert.strictEqual(
+ request.mode,
+ "navigate",
+ 'request.mode should have been updated to "navigate"'
+ );
+ Assert.strictEqual(
+ request.referrerPolicy,
+ "no-referrer-when-downgrade",
+ 'request.referrerPolicy should have been updated to "no-referrer-when-downgrade"'
+ );
+ }
+
+ const responseList = await Promise.all(
+ requestList.map(function (request) {
+ return cache.match(request);
+ })
+ );
+
+ ok(responseList.length, "should have at least one response in cache");
+ for (const response of responseList) {
+ ok(response, "each response should be non-null");
+ // reponse.url is a empty string in current test file. It should test for
+ // not being a empty string once thet test file is updated.
+ Assert.strictEqual(
+ typeof response.url,
+ "string",
+ "each response.url should be a string"
+ );
+ // reponse.redirected may be changed once test file is updated. It should
+ // be false since current reponse.url is a empty string.
+ Assert.strictEqual(
+ response.redirected,
+ false,
+ "each response.redirected should be false"
+ );
+ Assert.equal(
+ response.headers.get("Content-Type"),
+ "text/plain;charset=UTF-8",
+ "the response should have the correct header"
+ );
+ }
+});