tor-browser

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

test_autoIncrement_indexes.js (1630B)


      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 = request.result;
     19  db.onerror = errorHandler;
     20 
     21  let objectStore = db.createObjectStore("foo", {
     22    keyPath: "id",
     23    autoIncrement: true,
     24  });
     25  objectStore.createIndex("first", "first");
     26  objectStore.createIndex("second", "second");
     27  objectStore.createIndex("third", "third");
     28 
     29  let data = { first: "foo", second: "foo", third: "foo" };
     30 
     31  objectStore.add(data).onsuccess = grabEventAndContinueHandler;
     32  event = yield undefined;
     33 
     34  is(event.target.result, 1, "Added entry");
     35  request.onsuccess = grabEventAndContinueHandler;
     36 
     37  event = yield undefined;
     38 
     39  objectStore = db.transaction("foo").objectStore("foo");
     40  let first = objectStore.index("first");
     41  let second = objectStore.index("second");
     42  let third = objectStore.index("third");
     43 
     44  first.get("foo").onsuccess = grabEventAndContinueHandler;
     45  event = yield undefined;
     46 
     47  is(event.target.result.id, 1, "Entry in first");
     48 
     49  second.get("foo").onsuccess = grabEventAndContinueHandler;
     50  event = yield undefined;
     51 
     52  is(event.target.result.id, 1, "Entry in second");
     53 
     54  third.get("foo").onsuccess = grabEventAndContinueHandler;
     55  event = yield undefined;
     56 
     57  is(event.target.result.id, 1, "Entry in third");
     58 
     59  finishTest();
     60 }