summaryrefslogtreecommitdiffstats
path: root/dom/cache/test/mochitest/test_cache_requestCache.js
blob: a6ae2a34185f5ff63a6daac01a0a7f85cb7e2a5c (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
/* global context testDone:true */

var name = "requestCache" + context;
var c;

var reqWithoutCache = new Request("//mochi.test:8888/?noCache" + context);
var reqWithCache = new Request("//mochi.test:8888/?withCache" + context, {
  cache: "force-cache",
});

// Sanity check
is(reqWithoutCache.cache, "default", "Correct default value");
is(reqWithCache.cache, "force-cache", "Correct value set by the ctor");

caches
  .open(name)
  .then(function (cache) {
    c = cache;
    return c.addAll([reqWithoutCache, reqWithCache]);
  })
  .then(function () {
    return c.keys();
  })
  .then(function (keys) {
    is(keys.length, 2, "Correct number of requests");
    is(keys[0].url, reqWithoutCache.url, "Correct URL");
    is(keys[0].cache, reqWithoutCache.cache, "Correct cache attribute");
    is(keys[1].url, reqWithCache.url, "Correct URL");
    is(keys[1].cache, reqWithCache.cache, "Correct cache attribute");
    return caches.delete(name);
  })
  .then(function (deleted) {
    ok(deleted, "The cache should be successfully deleted");
    testDone();
  });