summaryrefslogtreecommitdiffstats
path: root/dom/tests/mochitest/ajax/offline/foreign2.html
blob: 40d5dc11dda5b058ee08ce526335442b3c1d8626 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
<html xmlns="http://www.w3.org/1999/xhtml" manifest="http://mochi.test:8888/tests/dom/tests/mochitest/ajax/offline/foreign2.cacheManifest">
<head>
<title>Foreign page 2</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">

function manifestUpdated()
{
  var appCacheService = SpecialPowers.Cc["@mozilla.org/network/application-cache-service;1"]
    .getService(SpecialPowers.Ci.nsIApplicationCacheService);

  var foreign2cache = appCacheService.chooseApplicationCache(
    "http://mochi.test:8888/tests/dom/tests/mochitest/ajax/offline/foreign2.html", OfflineTest.loadContextInfo());

  window.opener.OfflineTest.ok(foreign2cache, "Foreign 2 cache present, chosen for foreign2.html");
  window.opener.OfflineTest.is(foreign2cache.manifestURI.asciiSpec, "http://mochi.test:8888/tests/dom/tests/mochitest/ajax/offline/foreign2.cacheManifest")

  var foreign1cache = OfflineTest.getActiveCache(
    "http://mochi.test:8888/tests/dom/tests/mochitest/ajax/offline/foreign1.cacheManifest");
  window.opener.OfflineTest.ok(foreign1cache, "Foreign 1 cache loaded");
  foreign1cache.discard();

  window.opener.onDone();
}

function onLoaded()
{
  var appCacheService = SpecialPowers.Cc["@mozilla.org/network/application-cache-service;1"]
    .getService(SpecialPowers.Ci.nsIApplicationCacheService);

  var foreign1cache = window.opener.OfflineTest.getActiveCache(
    "http://mochi.test:8888/tests/dom/tests/mochitest/ajax/offline/foreign1.cacheManifest");
  window.opener.OfflineTest.ok(foreign1cache, "Foreign 1 cache loaded");

  var foreign2cache = window.opener.OfflineTest.getActiveCache(
    "http://mochi.test:8888/tests/dom/tests/mochitest/ajax/offline/foreign2.cacheManifest");
  window.opener.OfflineTest.ok(!foreign2cache, "Foreign 2 cache not present");

  foreign1cache = appCacheService.chooseApplicationCache(
    "http://mochi.test:8888/tests/dom/tests/mochitest/ajax/offline/foreign2.html", window.opener.OfflineTest.loadContextInfo());
  window.opener.OfflineTest.ok(!foreign1cache, "foreign2.html not chosen from foreign1 cache");

  try
  {
    window.opener.OfflineTest.ok(applicationCache.status == SpecialPowers.Ci.nsIDOMOfflineResourceList.UNCACHED,
        "there is no associated application cache");
  }
  catch (ex)
  {
    window.opener.OfflineTest.ok(false, "applicationCache.status must not throw an exception");
  }
}

applicationCache.onerror = window.opener.OfflineTest.failEvent;
applicationCache.onupdateready = window.opener.OfflineTest.failEvent;
applicationCache.onnoupdate = window.opener.OfflineTest.failEvent;
applicationCache.oncached = window.opener.OfflineTest.priv(manifestUpdated);

</script>

</head>

<body onload="OfflineTest.priv(onLoaded)();">
</body>
</html>