2011-05-02 Mark Pilgrim <pilgrim@chromium.org>
[WebKit-https.git] / LayoutTests / storage / indexeddb / mozilla / cursor-mutation-objectstore-only-expected.txt
1 Test IndexedDB's cursor mutation during object store cursor iteration
2
3 On success, you will see a series of "PASS" messages, followed by "TEST COMPLETE".
4
5
6 indexedDB = window.indexedDB || window.webkitIndexedDB || window.mozIndexedDB;
7 PASS indexedDB == null is false
8 IDBDatabaseException = window.IDBDatabaseException || window.webkitIDBDatabaseException;
9 PASS IDBDatabaseException == null is false
10 IDBTransaction = window.IDBTransaction || window.webkitIDBTransaction;
11 PASS IDBTransaction == null is false
12 indexedDB.open(name, description)
13 openSuccess():
14 db = event.target.result
15 request = db.setVersion('1')
16 setupObjectStore():
17 Deleted all object stores.
18 objectStore = db.createObjectStore('foo', { keyPath: 'ss' });
19 objectStoreData = [
20         { ss: '237-23-7732', name: 'Bob' },
21         { ss: '237-23-7733', name: 'Ann' },
22         { ss: '237-23-7734', name: 'Ron' },
23         { ss: '237-23-7735', name: 'Sue' },
24         { ss: '237-23-7736', name: 'Joe' },
25         { ss: '237-23-7737', name: 'Pat' }
26     ];
27 objectStore.add(objectStoreData[i]);
28 objectStore.add(objectStoreData[i]);
29 objectStore.add(objectStoreData[i]);
30 objectStore.add(objectStoreData[i]);
31 objectStore.add(objectStoreData[i]);
32 count = 0;
33 sawAdded = false;
34 sawRemoved = false;
35 request = objectStore.openCursor();
36 iterateCursor():
37 event.target.transaction.oncomplete = checkCursorResultsAndSetupMutatingCursor;
38 cursor = event.target.result;
39 sawRemoved = true;
40 count++;
41 cursor.continue();
42 iterateCursor():
43 event.target.transaction.oncomplete = checkCursorResultsAndSetupMutatingCursor;
44 cursor = event.target.result;
45 count++;
46 cursor.continue();
47 iterateCursor():
48 event.target.transaction.oncomplete = checkCursorResultsAndSetupMutatingCursor;
49 cursor = event.target.result;
50 count++;
51 cursor.continue();
52 iterateCursor():
53 event.target.transaction.oncomplete = checkCursorResultsAndSetupMutatingCursor;
54 cursor = event.target.result;
55 count++;
56 cursor.continue();
57 iterateCursor():
58 event.target.transaction.oncomplete = checkCursorResultsAndSetupMutatingCursor;
59 cursor = event.target.result;
60 count++;
61 cursor.continue();
62 iterateCursor():
63 event.target.transaction.oncomplete = checkCursorResultsAndSetupMutatingCursor;
64 cursor = event.target.result;
65 checkCursorResultsAndSetupMutatingCursor():
66 PASS count is objectStoreData.length - 1
67 PASS sawAdded is false
68 PASS sawRemoved is true
69 count = 0;
70 sawAdded = false;
71 sawRemoved = false;
72 request = db.transaction('foo', IDBTransaction.READ_WRITE).objectStore('foo').openCursor();
73 iterateMutatingCursor():
74 event.target.transaction.oncomplete = checkMutatingCursorResults;
75 cursor = event.target.result;
76 sawRemoved = true;
77 PASS cursor.value.name is 'Bob'
78 count++
79 objectStore = event.target.transaction.objectStore('foo');
80 request = objectStore.delete(objectStoreData[0].ss);
81 addFinalData():
82 request = objectStore.add(objectStoreData[objectStoreData.length - 1]);
83 iterateMutatingCursor():
84 event.target.transaction.oncomplete = checkMutatingCursorResults;
85 cursor = event.target.result;
86 PASS cursor.value.name is 'Ann'
87 count++
88 iterateMutatingCursor():
89 event.target.transaction.oncomplete = checkMutatingCursorResults;
90 cursor = event.target.result;
91 PASS cursor.value.name is 'Ron'
92 count++
93 iterateMutatingCursor():
94 event.target.transaction.oncomplete = checkMutatingCursorResults;
95 cursor = event.target.result;
96 PASS cursor.value.name is 'Sue'
97 count++
98 iterateMutatingCursor():
99 event.target.transaction.oncomplete = checkMutatingCursorResults;
100 cursor = event.target.result;
101 PASS cursor.value.name is 'Joe'
102 count++
103 iterateMutatingCursor():
104 event.target.transaction.oncomplete = checkMutatingCursorResults;
105 cursor = event.target.result;
106 sawAdded = true;
107 PASS cursor.value.name is 'Pat'
108 count++
109 iterateMutatingCursor():
110 event.target.transaction.oncomplete = checkMutatingCursorResults;
111 cursor = event.target.result;
112 checkMutatingCursorResults():
113 PASS count is objectStoreData.length
114 PASS sawAdded is true
115 PASS sawRemoved is true
116 PASS successfullyParsed is true
117
118 TEST COMPLETE
119