summaryrefslogtreecommitdiffstats
path: root/dom/tests/mochitest/ajax/offline/test_foreign.html
diff options
context:
space:
mode:
Diffstat (limited to 'dom/tests/mochitest/ajax/offline/test_foreign.html')
-rw-r--r--dom/tests/mochitest/ajax/offline/test_foreign.html59
1 files changed, 59 insertions, 0 deletions
diff --git a/dom/tests/mochitest/ajax/offline/test_foreign.html b/dom/tests/mochitest/ajax/offline/test_foreign.html
new file mode 100644
index 000000000..cb55995e2
--- /dev/null
+++ b/dom/tests/mochitest/ajax/offline/test_foreign.html
@@ -0,0 +1,59 @@
+<html xmlns="http://www.w3.org/1999/xhtml" manifest="http://mochi.test:8888/tests/dom/tests/mochitest/ajax/offline/foreign1.cacheManifest">
+<head>
+<title>Foreign test</title>
+
+<script type="text/javascript" src="/tests/SimpleTest/SimpleTest.js"></script>
+<script type="text/javascript" src="/tests/dom/tests/mochitest/ajax/offline/offlineTests.js"></script>
+<link rel="stylesheet" type="text/css" href="/tests/SimpleTest/test.css" />
+
+<script class="testbody" type="text/javascript">
+
+/**
+ * This test loads a manifest that contains as an explicit entry
+ * foreign2.html page. After manifest is cached and presence of the
+ * foreign2.html page is checked we redirect to foreign2.html
+ * page. Then the test continues inside that page as follows:
+ * On load of foreign2.html we check there is no associated cache
+ * because the foreign2.html page was marked as FOREIGN in foreign1 cache.
+ * After the foreign2 manifest is updated we check foreign2 cache is
+ * chosen by foreign.html page.
+ */
+
+var win;
+
+function manifestUpdated()
+{
+ var appCacheService = SpecialPowers.Cc["@mozilla.org/network/application-cache-service;1"]
+ .getService(SpecialPowers.Ci.nsIApplicationCacheService);
+
+ foreign1cache = appCacheService.chooseApplicationCache(
+ "http://mochi.test:8888/tests/dom/tests/mochitest/ajax/offline/foreign2.html", OfflineTest.loadContextInfo());
+
+ OfflineTest.ok(foreign1cache, "foreign2.html chosen from foreign1 cache");
+ OfflineTest.is(foreign1cache.manifestURI.asciiSpec, "http://mochi.test:8888/tests/dom/tests/mochitest/ajax/offline/foreign1.cacheManifest")
+
+ win = window.open("http://mochi.test:8888/tests/dom/tests/mochitest/ajax/offline/foreign2.html");
+}
+
+function onDone() // called by the open window after stuff is finished
+{
+ win.close();
+ OfflineTest.teardownAndFinish();
+}
+
+SimpleTest.waitForExplicitFinish();
+
+if (OfflineTest.setup()) {
+ applicationCache.onerror = OfflineTest.failEvent;
+ applicationCache.onupdateready = OfflineTest.failEvent;
+ applicationCache.onnoupdate = OfflineTest.failEvent;
+ applicationCache.oncached = OfflineTest.priv(manifestUpdated);
+}
+
+</script>
+
+</head>
+
+<body>
+</body>
+</html>