tor-browser

The Tor Browser
git clone https://git.dasho.dev/tor-browser.git
Log | Files | Refs | README | LICENSE

test_cache2-16-conditional-200.js (2078B)


      1 "use strict";
      2 
      3 function run_test() {
      4  do_get_profile();
      5 
      6  // Open for write, write
      7  asyncOpenCacheEntry(
      8    "http://200/",
      9    "disk",
     10    Ci.nsICacheStorage.OPEN_NORMALLY,
     11    null,
     12    new OpenCallback(NEW, "21m", "21d", function () {
     13      asyncOpenCacheEntry(
     14        "http://200/",
     15        "disk",
     16        Ci.nsICacheStorage.OPEN_NORMALLY,
     17        null,
     18        new OpenCallback(NORMAL, "21m", "21d", function () {
     19          // Open normally but wait for validation from the server
     20          asyncOpenCacheEntry(
     21            "http://200/",
     22            "disk",
     23            Ci.nsICacheStorage.OPEN_NORMALLY,
     24            null,
     25            new OpenCallback(REVAL, "21m", "21d", function (entry) {
     26              // emulate 200 from server (new content)
     27              executeSoon(function () {
     28                var entry2 = entry.recreate();
     29 
     30                // now fill the new entry, use OpenCallback directly for it
     31                new OpenCallback(
     32                  NEW,
     33                  "22m",
     34                  "22d",
     35                  function () {}
     36                ).onCacheEntryAvailable(entry2, true, Cr.NS_OK);
     37              });
     38            })
     39          );
     40 
     41          var mc = new MultipleCallbacks(3, finish_cache2_test);
     42 
     43          asyncOpenCacheEntry(
     44            "http://200/",
     45            "disk",
     46            Ci.nsICacheStorage.OPEN_NORMALLY,
     47            null,
     48            new OpenCallback(NORMAL, "22m", "22d", function () {
     49              mc.fired();
     50            })
     51          );
     52          asyncOpenCacheEntry(
     53            "http://200/",
     54            "disk",
     55            Ci.nsICacheStorage.OPEN_NORMALLY,
     56            null,
     57            new OpenCallback(NORMAL, "22m", "22d", function () {
     58              mc.fired();
     59            })
     60          );
     61          asyncOpenCacheEntry(
     62            "http://200/",
     63            "disk",
     64            Ci.nsICacheStorage.OPEN_NORMALLY,
     65            null,
     66            new OpenCallback(NORMAL, "22m", "22d", function () {
     67              mc.fired();
     68            })
     69          );
     70        })
     71      );
     72    })
     73  );
     74 
     75  do_test_pending();
     76 }