tor-browser

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

test_transaction_lifetimes_nested.js (1145B)


      1 /**
      2 * Any copyright is dedicated to the Public Domain.
      3 * http://creativecommons.org/publicdomain/zero/1.0/
      4 */
      5 
      6 /* exported testGenerator, disableWorkerTest */
      7 var disableWorkerTest = "This test uses SpecialPowers";
      8 
      9 var testGenerator = testSteps();
     10 
     11 function* testSteps() {
     12  let request = indexedDB.open(
     13    this.window ? window.location.pathname : "Splendid Test",
     14    1
     15  );
     16  request.onerror = errorHandler;
     17  request.onupgradeneeded = grabEventAndContinueHandler;
     18  let event = yield undefined;
     19 
     20  let db = event.target.result;
     21  db.onerror = errorHandler;
     22 
     23  event.target.onsuccess = continueToNextStep;
     24  db.createObjectStore("foo");
     25  yield undefined;
     26 
     27  db.transaction("foo");
     28 
     29  let transaction2;
     30 
     31  let eventHasRun;
     32 
     33  let tm = SpecialPowers.Services ? SpecialPowers.Services.tm : Services.tm;
     34 
     35  tm.dispatchToMainThread(function () {
     36    eventHasRun = true;
     37 
     38    transaction2 = db.transaction("foo");
     39  });
     40 
     41  tm.spinEventLoopUntil(
     42    "Test(test_transaction_lifetimes_nested.js:testSteps)",
     43    () => eventHasRun
     44  );
     45 
     46  ok(transaction2, "Non-null transaction2");
     47 
     48  continueToNextStep();
     49  yield undefined;
     50 
     51  finishTest();
     52 }