tor-browser

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

test_transaction_ordering.js (1316B)


      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  let request = indexedDB.open(
     11    this.window ? window.location.pathname : "Splendid Test",
     12    1
     13  );
     14  request.onerror = errorHandler;
     15  request.onupgradeneeded = grabEventAndContinueHandler;
     16  let event = yield undefined;
     17 
     18  let db = event.target.result;
     19  db.onerror = errorHandler;
     20 
     21  request.onsuccess = continueToNextStep;
     22 
     23  db.createObjectStore("foo");
     24  yield undefined;
     25 
     26  let trans1 = db.transaction("foo", "readwrite");
     27  let trans2 = db.transaction("foo", "readwrite");
     28 
     29  let request1 = trans2.objectStore("foo").put("2", 42);
     30  let request2 = trans1.objectStore("foo").put("1", 42);
     31 
     32  request1.onerror = errorHandler;
     33  request2.onerror = errorHandler;
     34 
     35  trans1.oncomplete = grabEventAndContinueHandler;
     36  trans2.oncomplete = grabEventAndContinueHandler;
     37 
     38  yield undefined;
     39  yield undefined;
     40 
     41  let trans3 = db.transaction("foo", "readonly");
     42  request = trans3.objectStore("foo").get(42);
     43  request.onsuccess = grabEventAndContinueHandler;
     44  request.onerror = errorHandler;
     45 
     46  event = yield undefined;
     47  is(event.target.result, "2", "Transactions were ordered properly.");
     48 
     49  finishTest();
     50 }