|
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 const objectStore = { name: "Objects", |
|
12 options: { keyPath: "id", autoIncrement: true } }; |
|
13 |
|
14 let request = indexedDB.open(name, 1); |
|
15 request.onerror = errorHandler; |
|
16 request.onupgradeneeded = grabEventAndContinueHandler; |
|
17 let event = yield undefined; |
|
18 |
|
19 let db1 = event.target.result; |
|
20 |
|
21 is(db1.objectStoreNames.length, 0, "No objectStores in db1"); |
|
22 |
|
23 db1.createObjectStore(objectStore.name, objectStore.options); |
|
24 |
|
25 continueToNextStep(); |
|
26 yield undefined; |
|
27 |
|
28 request = indexedDB.open(name, 1); |
|
29 request.onerror = errorHandler; |
|
30 request.onsuccess = grabEventAndContinueHandler; |
|
31 event = yield undefined; |
|
32 |
|
33 let db2 = event.target.result; |
|
34 |
|
35 ok(db1 !== db2, "Databases are not the same object"); |
|
36 |
|
37 is(db1.objectStoreNames.length, 1, "1 objectStore in db1"); |
|
38 is(db1.objectStoreNames.item(0), objectStore.name, "Correct name"); |
|
39 |
|
40 is(db2.objectStoreNames.length, 1, "1 objectStore in db2"); |
|
41 is(db2.objectStoreNames.item(0), objectStore.name, "Correct name"); |
|
42 |
|
43 let objectStore1 = db1.transaction(objectStore.name) |
|
44 .objectStore(objectStore.name); |
|
45 is(objectStore1.name, objectStore.name, "Same name"); |
|
46 is(objectStore1.keyPath, objectStore.options.keyPath, "Same keyPath"); |
|
47 |
|
48 let objectStore2 = db2.transaction(objectStore.name) |
|
49 .objectStore(objectStore.name); |
|
50 |
|
51 ok(objectStore1 !== objectStore2, "Different objectStores"); |
|
52 is(objectStore1.name, objectStore2.name, "Same name"); |
|
53 is(objectStore1.keyPath, objectStore2.keyPath, "Same keyPath"); |
|
54 |
|
55 finishTest(); |
|
56 yield undefined; |
|
57 } |