dom/indexedDB/test/unit/test_autoIncrement_indexes.js

branch
TOR_BUG_9701
changeset 15
b8a032363ba2
equal deleted inserted replaced
-1:000000000000 0:365230026415
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 let request = indexedDB.open(this.window ? window.location.pathname : "Splendid Test", 1);
11 request.onerror = errorHandler;
12 request.onupgradeneeded = grabEventAndContinueHandler;
13 let event = yield undefined;
14
15 let db = request.result;
16 db.onerror = errorHandler;
17
18 let objectStore = db.createObjectStore("foo", { keyPath: "id",
19 autoIncrement: true });
20 objectStore.createIndex("first","first");
21 objectStore.createIndex("second","second");
22 objectStore.createIndex("third","third");
23
24 let data = { first: "foo", second: "foo", third: "foo" };
25
26 objectStore.add(data).onsuccess = grabEventAndContinueHandler;
27 event = yield undefined;
28
29 is(event.target.result, 1, "Added entry");
30 request.onsuccess = grabEventAndContinueHandler;
31
32 event = yield undefined;
33
34 let objectStore = db.transaction("foo").objectStore("foo");
35 let first = objectStore.index("first");
36 let second = objectStore.index("second");
37 let third = objectStore.index("third");
38
39 first.get("foo").onsuccess = grabEventAndContinueHandler;
40 event = yield undefined;
41
42 is (event.target.result.id, 1, "Entry in first");
43
44 second.get("foo").onsuccess = grabEventAndContinueHandler;
45 event = yield undefined;
46
47 is (event.target.result.id, 1, "Entry in second");
48
49 third.get("foo").onsuccess = grabEventAndContinueHandler;
50 event = yield undefined;
51
52 is (event.target.result.id, 1, "Entry in third");
53
54 finishTest();
55 yield undefined;
56 }

mercurial