1.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000 1.2 +++ b/dom/tests/mochitest/ajax/offline/test_bug744719-cancel.html Wed Dec 31 06:09:35 2014 +0100 1.3 @@ -0,0 +1,83 @@ 1.4 +<html xmlns="http://www.w3.org/1999/xhtml" manifest="http://mochi.test:8888/tests/dom/tests/mochitest/ajax/offline/744719-cancel.cacheManifest"> 1.5 +<head> 1.6 +<title>parallel load canceled</title> 1.7 + 1.8 +<script type="text/javascript" src="/tests/SimpleTest/SimpleTest.js"></script> 1.9 +<script type="text/javascript" src="/tests/dom/tests/mochitest/ajax/offline/offlineTests.js"></script> 1.10 +<link rel="stylesheet" type="text/css" href="/tests/SimpleTest/test.css" /> 1.11 + 1.12 +<script type="text/javascript"> 1.13 + 1.14 +/* 1.15 + Manifest refers a large number of resource to load. The 10th item however is a reference to a non-existing 1.16 + resource that cancels the load. This test checks we cancel all loads and don't leak any of the other resources 1.17 + after cancelation. 1.18 +*/ 1.19 + 1.20 +if (SpecialPowers.isMainProcess()) { 1.21 + ok(applicationCache.mozItems.length == 0, 1.22 + "applicationCache.mozItems should be available and empty before associating with a cache."); 1.23 +} 1.24 + 1.25 +function updateCanceled() 1.26 +{ 1.27 + OfflineTest.checkCache("http://mochi.test:8888/tests/dom/tests/mochitest/ajax/offline/744719-cancel.cacheManifest", false, null); 1.28 + OfflineTest.checkCache("http://mochi.test:8888/tests/SimpleTest/SimpleTest.js", false, null); 1.29 + OfflineTest.checkCache("http://mochi.test:8888/tests/dom/tests/mochitest/ajax/offline/offlineTests.js", false, null); 1.30 + 1.31 + OfflineTest.checkCache("http://mochi.test:8888/tests/dom/tests/mochitest/ajax/offline/nonexistent744719?010", false, null); 1.32 + 1.33 + var URL = "http://mochi.test:8888/tests/dom/tests/mochitest/ajax/offline/subresource744719.html?"; 1.34 + OfflineTest.checkCache(URL + "001", false, null); 1.35 + OfflineTest.checkCache(URL + "002", false, null); 1.36 + OfflineTest.checkCache(URL + "003", false, null); 1.37 + OfflineTest.checkCache(URL + "004", false, null); 1.38 + OfflineTest.checkCache(URL + "005", false, null); 1.39 + OfflineTest.checkCache(URL + "006", false, null); 1.40 + OfflineTest.checkCache(URL + "007", false, null); 1.41 + OfflineTest.checkCache(URL + "008", false, null); 1.42 + OfflineTest.checkCache(URL + "009", false, null); 1.43 + OfflineTest.checkCache(URL + "011", false, null); 1.44 + OfflineTest.checkCache(URL + "012", false, null); 1.45 + OfflineTest.checkCache(URL + "013", false, null); 1.46 + OfflineTest.checkCache(URL + "014", false, null); 1.47 + OfflineTest.checkCache(URL + "015", false, null); 1.48 + OfflineTest.checkCache(URL + "016", false, null); 1.49 + OfflineTest.checkCache(URL + "017", false, null); 1.50 + OfflineTest.checkCache(URL + "018", false, null); 1.51 + OfflineTest.checkCache(URL + "019", false, null); 1.52 + OfflineTest.checkCache(URL + "020", false, null); 1.53 + OfflineTest.checkCache(URL + "021", false, null); 1.54 + OfflineTest.checkCache(URL + "022", false, null); 1.55 + OfflineTest.checkCache(URL + "023", false, null); 1.56 + OfflineTest.checkCache(URL + "024", false, null); 1.57 + OfflineTest.checkCache(URL + "025", false, null); 1.58 + OfflineTest.checkCache(URL + "026", false, null); 1.59 + OfflineTest.checkCache(URL + "027", false, null); 1.60 + OfflineTest.checkCache(URL + "028", false, null); 1.61 + OfflineTest.checkCache(URL + "029", false, null); 1.62 + OfflineTest.checkCache(URL + "030", false, null); 1.63 + 1.64 + OfflineTest.teardownAndFinish(); 1.65 +} 1.66 + 1.67 +if (OfflineTest.setup()) { 1.68 + // Wait some time after the update has been canceled to catch potential leaks of channels that would cause 1.69 + // unwanted items to be cached regardless the update has been canceled with a failure. 1.70 + var privUpdateCanceled = OfflineTest.priv(updateCanceled); 1.71 + applicationCache.onerror = function() {window.setTimeout(privUpdateCanceled, 1000)}; 1.72 + 1.73 + // We don't expect this update to finish correctly. 1.74 + applicationCache.oncached = OfflineTest.failEvent; 1.75 +} 1.76 + 1.77 +SimpleTest.waitForExplicitFinish(); 1.78 + 1.79 +</script> 1.80 + 1.81 +</head> 1.82 + 1.83 +<body> 1.84 + 1.85 +</body> 1.86 +</html>