|
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 = event.target.result; |
|
16 db.onerror = errorHandler; |
|
17 |
|
18 request.onsuccess = continueToNextStep; |
|
19 |
|
20 db.createObjectStore("foo"); |
|
21 yield undefined; |
|
22 |
|
23 let trans1 = db.transaction("foo", "readwrite"); |
|
24 let trans2 = db.transaction("foo", "readwrite"); |
|
25 |
|
26 let request1 = trans2.objectStore("foo").put("2", 42); |
|
27 let request2 = trans1.objectStore("foo").put("1", 42); |
|
28 |
|
29 request1.onerror = errorHandler; |
|
30 request2.onerror = errorHandler; |
|
31 |
|
32 trans1.oncomplete = grabEventAndContinueHandler; |
|
33 trans2.oncomplete = grabEventAndContinueHandler; |
|
34 |
|
35 yield undefined; |
|
36 yield undefined; |
|
37 |
|
38 let trans3 = db.transaction("foo", "readonly"); |
|
39 let request = trans3.objectStore("foo").get(42); |
|
40 request.onsuccess = grabEventAndContinueHandler; |
|
41 request.onerror = errorHandler; |
|
42 |
|
43 let event = yield undefined; |
|
44 is(event.target.result, "2", "Transactions were ordered properly."); |
|
45 |
|
46 finishTest(); |
|
47 yield undefined; |
|
48 } |
|
49 |