Bug 819971 - Expose nsOfflineCacheUpdate::Cancel() via nsIOfflineCacheUpdate.idl. Tests; r=honzab

This commit is contained in:
Fernando Jiménez 2012-12-18 22:41:20 +01:00
Родитель cc5039b42e
Коммит 563acb1f3e
2 изменённых файлов: 60 добавлений и 0 удалений

Просмотреть файл

@ -98,6 +98,7 @@ MOCHITEST_FILES = \
test_missingManifest.html \
missing.html \
jupiter.jpg \
test_cancelOfflineCache.html \
$(NULL)
# test_offlineMode.html disabled due to bug 656943

Просмотреть файл

@ -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>