Bug 819971 - Expose nsOfflineCacheUpdate::Cancel() via nsIOfflineCacheUpdate.idl. Tests; r=honzab
authorFernando Jiménez <ferjmoreno@gmail.com>
Tue, 18 Dec 2012 22:41:20 +0100
changeset 125548 a0d0ac42bacd08fee56ee6a9604c8eda04257527
parent 125547 921863b9cd2854e78d3f8af03939063e5dda5483
child 125549 ba2f2f5fb6b2f29948d0f35d961f8b84b8733f44
push id2151
push userlsblakk@mozilla.com
push dateTue, 19 Feb 2013 18:06:57 +0000
treeherdermozilla-beta@4952e88741ec [default view] [failures only]
perfherder[talos] [build metrics] [platform microbench] (compared to previous push)
reviewershonzab
bugs819971
milestone20.0a1
first release with
nightly linux32
nightly linux64
nightly mac
nightly win32
nightly win64
last release without
nightly linux32
nightly linux64
nightly mac
nightly win32
nightly win64
Bug 819971 - Expose nsOfflineCacheUpdate::Cancel() via nsIOfflineCacheUpdate.idl. Tests; r=honzab
dom/tests/mochitest/ajax/offline/Makefile.in
dom/tests/mochitest/ajax/offline/test_cancelOfflineCache.html
--- a/dom/tests/mochitest/ajax/offline/Makefile.in
+++ b/dom/tests/mochitest/ajax/offline/Makefile.in
@@ -93,13 +93,14 @@ MOCHITEST_FILES	= \
 	changing1Sec.sjs \
 	changing1Hour.sjs \
 	changingManifest.sjs \
 	offlineChild.html \
 	test_xhtmlManifest.xhtml \
 	test_missingManifest.html \
 	missing.html \
 	jupiter.jpg \
+	test_cancelOfflineCache.html \
 	$(NULL)
 
 # test_offlineMode.html disabled due to bug 656943
 
 include $(topsrcdir)/config/rules.mk
new file mode 100644
--- /dev/null
+++ b/dom/tests/mochitest/ajax/offline/test_cancelOfflineCache.html
@@ -0,0 +1,59 @@
+<html xmlns="http://www.w3.org/1999/xhtml" manifest="http://mochi.test:8888/tests/dom/tests/mochitest/ajax/offline/simpleManifest.cacheManifest">
+<head>
+<title>Cancel offline cache</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 type="text/javascript">
+
+var manifest = "http://mochi.test:8888/tests/dom/tests/mochitest/ajax/offline/simpleManifest.cacheManifest";
+var manifestURI = Cc["@mozilla.org/network/io-service;1"]
+                  .getService(Ci.nsIIOService)
+                  .newURI(manifest, null, null);
+var updateService = Cc['@mozilla.org/offlinecacheupdate-service;1']
+                    .getService(Ci.nsIOfflineCacheUpdateService);
+
+function manifestCached () {
+  OfflineTest.ok(false, "The update was supposed to be canceled");
+
+  OfflineTest.teardown();
+  OfflineTest.finish();
+}
+
+function onError () {
+  OfflineTest.ok(true, "Expected error: Update canceled");
+
+  OfflineTest.teardown();
+  OfflineTest.finish();
+}
+
+function onProgress () {
+  var i = 0;
+  while (i < updateService.numUpdates) {
+    var update = updateService.getUpdate(i);
+    if (update.manifestURI.spec == manifestURI.spec) {
+      update.cancel();
+      return;
+    }
+    i++;
+  }
+}
+
+if (OfflineTest.setup()) {
+  applicationCache.onerror = OfflineTest.priv(onError);
+  applicationCache.onprogress = OfflineTest.priv(onProgress);
+  applicationCache.oncached = OfflineTest.priv(manifestCached);
+}
+
+SimpleTest.waitForExplicitFinish();
+
+</script>
+
+</head>
+
+<body>
+
+</body>
+</html>