dom/indexedDB/test/unit/test_index_empty_keyPath.js

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

mercurial