summaryrefslogtreecommitdiffstats
path: root/dom/indexedDB/test/unit/test_open_objectStore.js
blob: 207107941c3a398f074d28b35fd2d73a2d94eda2 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
/**
 * Any copyright is dedicated to the Public Domain.
 * http://creativecommons.org/publicdomain/zero/1.0/
 */

var testGenerator = testSteps();

function testSteps()
{
  const name = this.window ? window.location.pathname : "Splendid Test";
  const objectStoreName = "Objects";

  let request = indexedDB.open(name, 1);
  request.onerror = errorHandler;
  request.onupgradeneeded = grabEventAndContinueHandler;
  request.onsuccess = grabEventAndContinueHandler;
  let event = yield undefined;

  let db = event.target.result;
  is(db.objectStoreNames.length, 0, "Bad objectStores list");

  let objectStore = db.createObjectStore(objectStoreName,
                                         { keyPath: "foo" });

  is(db.objectStoreNames.length, 1, "Bad objectStores list");
  is(db.objectStoreNames.item(0), objectStoreName, "Bad name");

  yield undefined;

  objectStore = db.transaction(objectStoreName).objectStore(objectStoreName);

  is(objectStore.name, objectStoreName, "Bad name");
  is(objectStore.keyPath, "foo", "Bad keyPath");
  if(objectStore.indexNames.length, 0, "Bad indexNames");

  finishTest();
  yield undefined;
}