tor-browser

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

test_traffic_jam.js (2998B)


      1 /**
      2 * Any copyright is dedicated to the Public Domain.
      3 * http://creativecommons.org/publicdomain/zero/1.0/
      4 */
      5 
      6 /* exported testGenerator */
      7 var testGenerator = testSteps();
      8 
      9 function* testSteps() {
     10  const name = this.window ? window.location.pathname : "Splendid Test";
     11 
     12  let requests = [];
     13  function doOpen(
     14    version,
     15    errorCallback,
     16    upgradeNeededCallback,
     17    successCallback
     18  ) {
     19    let request = indexedDB.open(name, version);
     20    request.onerror = errorCallback;
     21    request.onupgradeneeded = upgradeNeededCallback;
     22    request.onsuccess = successCallback;
     23    requests.push(request);
     24  }
     25 
     26  doOpen(
     27    1,
     28    errorHandler,
     29    grabEventAndContinueHandler,
     30    grabEventAndContinueHandler
     31  );
     32  doOpen(2, errorHandler, unexpectedSuccessHandler, unexpectedSuccessHandler);
     33 
     34  let event = yield undefined;
     35  is(event.type, "upgradeneeded", "expect an upgradeneeded event");
     36  is(event.target, requests[0], "fired at the right request");
     37 
     38  let db = event.target.result;
     39  db.createObjectStore("foo");
     40 
     41  doOpen(3, errorHandler, unexpectedSuccessHandler, unexpectedSuccessHandler);
     42  doOpen(2, errorHandler, unexpectedSuccessHandler, unexpectedSuccessHandler);
     43  doOpen(3, errorHandler, unexpectedSuccessHandler, unexpectedSuccessHandler);
     44 
     45  event.target.transaction.oncomplete = grabEventAndContinueHandler;
     46 
     47  event = yield undefined;
     48  is(event.type, "complete", "expect a complete event");
     49  is(
     50    event.target,
     51    requests[0].transaction,
     52    "expect it to be fired at the transaction"
     53  );
     54 
     55  event = yield undefined;
     56  is(event.type, "success", "expect a success event");
     57  is(event.target, requests[0], "fired at the right request");
     58  event.target.result.close();
     59 
     60  requests[1].onupgradeneeded = grabEventAndContinueHandler;
     61 
     62  event = yield undefined;
     63  is(event.type, "upgradeneeded", "expect an upgradeneeded event");
     64  is(event.target, requests[1], "fired at the right request");
     65 
     66  requests[1].onsuccess = grabEventAndContinueHandler;
     67 
     68  event = yield undefined;
     69  is(event.type, "success", "expect a success event");
     70  is(event.target, requests[1], "fired at the right request");
     71  event.target.result.close();
     72 
     73  requests[2].onupgradeneeded = grabEventAndContinueHandler;
     74 
     75  event = yield undefined;
     76  is(event.type, "upgradeneeded", "expect an upgradeneeded event");
     77  is(event.target, requests[2], "fired at the right request");
     78 
     79  requests[2].onsuccess = grabEventAndContinueHandler;
     80 
     81  event = yield undefined;
     82  is(event.type, "success", "expect a success event");
     83  is(event.target, requests[2], "fired at the right request");
     84  event.target.result.close();
     85 
     86  requests[3].onerror = null;
     87  requests[3].addEventListener("error", new ExpectError("VersionError", true));
     88 
     89  event = yield undefined;
     90 
     91  requests[4].onsuccess = grabEventAndContinueHandler;
     92 
     93  event = yield undefined;
     94  is(event.type, "success", "expect a success event");
     95  is(event.target, requests[4], "fired at the right request");
     96  event.target.result.close();
     97 
     98  finishTest();
     99 }