tor-browser

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

test_index_empty_keyPath.js (2211B)


      1 /**
      2 * Any copyright is dedicated to the Public Domain.
      3 * http://creativecommons.org/publicdomain/zero/1.0/
      4 */
      5 
      6 var testGenerator = testSteps();
      7 
      8 function* testSteps() {
      9  const name = this.window ? window.location.pathname : "Splendid Test";
     10 
     11  const objectStoreData = [
     12    { key: "1", value: "foo" },
     13    { key: "2", value: "bar" },
     14    { key: "3", value: "baz" },
     15  ];
     16 
     17  let request = indexedDB.open(name, 1);
     18  request.onerror = errorHandler;
     19  request.onupgradeneeded = grabEventAndContinueHandler;
     20  request.onsuccess = grabEventAndContinueHandler;
     21  let event = yield undefined; // upgradeneeded
     22 
     23  let db = event.target.result;
     24 
     25  let objectStore = db.createObjectStore("data", { keyPath: null });
     26 
     27  // First, add all our data to the object store.
     28  let addedData = 0;
     29  for (let i in objectStoreData) {
     30    request = objectStore.add(objectStoreData[i].value, objectStoreData[i].key);
     31    request.onerror = errorHandler;
     32    request.onsuccess = function (event) {
     33      if (++addedData == objectStoreData.length) {
     34        testGenerator.next(event);
     35      }
     36    };
     37  }
     38  event = yield undefined; // testGenerator.send
     39 
     40  // Now create the index.
     41  objectStore.createIndex("set", "", { unique: true });
     42  yield undefined; // success
     43 
     44  let trans = db.transaction("data", "readwrite");
     45  objectStore = trans.objectStore("data");
     46  let index = objectStore.index("set");
     47 
     48  request = index.get("bar");
     49  request.onerror = errorHandler;
     50  request.onsuccess = grabEventAndContinueHandler;
     51 
     52  event = yield undefined;
     53 
     54  is(event.target.result, "bar", "Got correct result");
     55 
     56  request = objectStore.add("foopy", 4);
     57  request.onerror = errorHandler;
     58  request.onsuccess = grabEventAndContinueHandler;
     59 
     60  yield undefined;
     61 
     62  request = index.get("foopy");
     63  request.onerror = errorHandler;
     64  request.onsuccess = grabEventAndContinueHandler;
     65 
     66  event = yield undefined;
     67 
     68  is(event.target.result, "foopy", "Got correct result");
     69 
     70  request = objectStore.add("foopy", 5);
     71  request.addEventListener("error", new ExpectError("ConstraintError", true));
     72  request.onsuccess = unexpectedSuccessHandler;
     73 
     74  trans.oncomplete = grabEventAndContinueHandler;
     75 
     76  yield undefined;
     77  yield undefined;
     78 
     79  finishTest();
     80 }