Modern IDB: storage/indexeddb/transaction-basics.html fails.
[WebKit-https.git] / LayoutTests / storage / indexeddb / transaction-basics-expected.txt
1 Test IndexedDB transaction basics.
2
3 On success, you will see a series of "PASS" messages, followed by "TEST COMPLETE".
4
5
6 indexedDB = self.indexedDB || self.webkitIndexedDB || self.mozIndexedDB || self.msIndexedDB || self.OIndexedDB;
7
8 dbname = "transaction-basics.html"
9 indexedDB.deleteDatabase(dbname)
10 indexedDB.open(dbname)
11 PASS self.db.objectStoreNames is []
12 PASS self.db.objectStoreNames.length is 0
13 PASS self.db.objectStoreNames.contains('storeFail') is false
14 request = newConnection()
15 indexedDB.open(dbname, 2)
16 addRemoveIDBObjects():
17 trans = event.target.transaction
18 PASS trans is non-null.
19 store = db.createObjectStore('storeFail', null)
20 index = store.createIndex('indexFail', 'x')
21 db.deleteObjectStore('storeFail')
22 Expecting exception from store.deleteIndex('indexFail')
23 PASS Exception was thrown.
24 PASS code is DOMException.INVALID_STATE_ERR
25 PASS ename is 'InvalidStateError'
26 Exception message: An operation was called on an object on which it is not allowed or at a time when it is not allowed.
27
28 testSetVersionAbort2():
29 PASS self.db.objectStoreNames is []
30 PASS self.db.objectStoreNames.length is 0
31 PASS self.db.objectStoreNames.contains('storeFail') is false
32 request = newConnection()
33 indexedDB.open(dbname, 3)
34 addRemoveAddIDBObjects():
35 trans = event.target.transaction
36 PASS trans is non-null.
37 store = db.createObjectStore('storeFail', null)
38 index = store.createIndex('indexFail', 'x')
39 db.deleteObjectStore('storeFail')
40 Expecting exception from store.deleteIndex('indexFail')
41 PASS Exception was thrown.
42 PASS code is DOMException.INVALID_STATE_ERR
43 PASS ename is 'InvalidStateError'
44 Exception message: An operation was called on an object on which it is not allowed or at a time when it is not allowed.
45 store = db.createObjectStore('storeFail', null)
46 index = store.createIndex('indexFail', 'x')
47
48 testSetVersionAbort3():
49 PASS event.cancelable is false
50 PASS self.db.objectStoreNames is []
51 PASS self.db.objectStoreNames.length is 0
52 PASS self.db.objectStoreNames.contains('storeFail') is false
53 request = newConnection()
54 indexedDB.open(dbname, 4)
55 addIDBObjects():
56 PASS event.cancelable is false
57 trans = event.target.transaction
58 PASS trans is non-null.
59 store = db.createObjectStore('storeFail', null)
60 index = store.createIndex('indexFail', 'x')
61
62 testInactiveAbortedTransaction():
63 Expecting exception from index.openCursor()
64 PASS Exception was thrown.
65 PASS code is 0
66 PASS ename is 'TransactionInactiveError'
67 Exception message: Failed to execute 'openCursor' on 'IDBIndex': The transaction is inactive or finished.
68 Expecting exception from index.openKeyCursor()
69 PASS Exception was thrown.
70 PASS code is 0
71 PASS ename is 'TransactionInactiveError'
72 Exception message: Failed to execute 'openKeyCursor' on 'IDBIndex': The transaction is inactive or finished.
73 Expecting exception from index.get(0)
74 PASS Exception was thrown.
75 PASS code is 0
76 PASS ename is 'TransactionInactiveError'
77 Exception message: Failed to execute 'get' on 'IDBIndex': The transaction is inactive or finished.
78 Expecting exception from index.getKey(0)
79 PASS Exception was thrown.
80 PASS code is 0
81 PASS ename is 'TransactionInactiveError'
82 Exception message: Failed to execute 'getKey' on 'IDBIndex': The transaction is inactive or finished.
83 Expecting exception from index.count()
84 PASS Exception was thrown.
85 PASS code is 0
86 PASS ename is 'TransactionInactiveError'
87 Exception message: Failed to execute 'count' on 'IDBIndex': The transaction is inactive or finished.
88 Expecting exception from store.put(0, 0)
89 PASS Exception was thrown.
90 PASS code is 0
91 PASS ename is 'TransactionInactiveError'
92 Exception message: Failed to store record in an IDBObjectStore: The transaction is inactive or finished.
93 Expecting exception from store.add(0, 0)
94 PASS Exception was thrown.
95 PASS code is 0
96 PASS ename is 'TransactionInactiveError'
97 Exception message: Failed to store record in an IDBObjectStore: The transaction is inactive or finished.
98 Expecting exception from store.delete(0)
99 PASS Exception was thrown.
100 PASS code is 0
101 PASS ename is 'TransactionInactiveError'
102 Exception message: Failed to execute 'delete' on 'IDBObjectStore': The transaction is inactive or finished.
103 Expecting exception from store.clear()
104 PASS Exception was thrown.
105 PASS code is 0
106 PASS ename is 'TransactionInactiveError'
107 Exception message: Failed to execute 'clear' on 'IDBObjectStore': The transaction is inactive or finished.
108 Expecting exception from store.get(0)
109 PASS Exception was thrown.
110 PASS code is 0
111 PASS ename is 'TransactionInactiveError'
112 Exception message: Failed to execute 'get' on 'IDBObjectStore': The transaction is inactive or finished.
113 Expecting exception from store.openCursor()
114 PASS Exception was thrown.
115 PASS code is 0
116 PASS ename is 'TransactionInactiveError'
117 Exception message: Failed to execute 'openCursor' on 'IDBObjectStore': The transaction is inactive or finished.
118
119 testSetVersionAbort4():
120 PASS self.db.objectStoreNames is []
121 PASS self.db.objectStoreNames.length is 0
122 PASS self.db.objectStoreNames.contains('storeFail') is false
123 request = newConnection()
124 indexedDB.open(dbname, 5)
125 addIDBObjectsAndCommit():
126 trans = event.target.transaction
127 PASS trans is non-null.
128 store = db.createObjectStore('storeFail', null)
129 index = store.createIndex('indexFail', 'x')
130
131 testInactiveCompletedTransaction():
132 Expecting exception from index.openCursor()
133 PASS Exception was thrown.
134 PASS code is 0
135 PASS ename is 'TransactionInactiveError'
136 Exception message: Failed to execute 'openCursor' on 'IDBIndex': The transaction is inactive or finished.
137 Expecting exception from index.openKeyCursor()
138 PASS Exception was thrown.
139 PASS code is 0
140 PASS ename is 'TransactionInactiveError'
141 Exception message: Failed to execute 'openKeyCursor' on 'IDBIndex': The transaction is inactive or finished.
142 Expecting exception from index.get(0)
143 PASS Exception was thrown.
144 PASS code is 0
145 PASS ename is 'TransactionInactiveError'
146 Exception message: Failed to execute 'get' on 'IDBIndex': The transaction is inactive or finished.
147 Expecting exception from index.getKey(0)
148 PASS Exception was thrown.
149 PASS code is 0
150 PASS ename is 'TransactionInactiveError'
151 Exception message: Failed to execute 'getKey' on 'IDBIndex': The transaction is inactive or finished.
152 Expecting exception from index.count()
153 PASS Exception was thrown.
154 PASS code is 0
155 PASS ename is 'TransactionInactiveError'
156 Exception message: Failed to execute 'count' on 'IDBIndex': The transaction is inactive or finished.
157 Expecting exception from store.put(0, 0)
158 PASS Exception was thrown.
159 PASS code is 0
160 PASS ename is 'TransactionInactiveError'
161 Exception message: Failed to store record in an IDBObjectStore: The transaction is inactive or finished.
162 Expecting exception from store.add(0, 0)
163 PASS Exception was thrown.
164 PASS code is 0
165 PASS ename is 'TransactionInactiveError'
166 Exception message: Failed to store record in an IDBObjectStore: The transaction is inactive or finished.
167 Expecting exception from store.delete(0)
168 PASS Exception was thrown.
169 PASS code is 0
170 PASS ename is 'TransactionInactiveError'
171 Exception message: Failed to execute 'delete' on 'IDBObjectStore': The transaction is inactive or finished.
172 Expecting exception from store.clear()
173 PASS Exception was thrown.
174 PASS code is 0
175 PASS ename is 'TransactionInactiveError'
176 Exception message: Failed to execute 'clear' on 'IDBObjectStore': The transaction is inactive or finished.
177 Expecting exception from store.get(0)
178 PASS Exception was thrown.
179 PASS code is 0
180 PASS ename is 'TransactionInactiveError'
181 Exception message: Failed to execute 'get' on 'IDBObjectStore': The transaction is inactive or finished.
182 Expecting exception from store.openCursor()
183 PASS Exception was thrown.
184 PASS code is 0
185 PASS ename is 'TransactionInactiveError'
186 Exception message: Failed to execute 'openCursor' on 'IDBObjectStore': The transaction is inactive or finished.
187
188 testSetVersionAbort5():
189 PASS db.objectStoreNames is ['storeFail']
190 PASS db.objectStoreNames.length is 1
191 PASS db.objectStoreNames.contains('storeFail') is true
192 request = newConnection()
193 indexedDB.open(dbname, 6)
194 removeIDBObjects():
195 trans = event.target.transaction
196 PASS trans is non-null.
197 store = trans.objectStore('storeFail')
198 store.deleteIndex('indexFail')
199 db.deleteObjectStore('storeFail')
200
201 testSetVersionAbort6():
202 PASS db.objectStoreNames is ['storeFail']
203 PASS db.objectStoreNames.length is 1
204 PASS db.objectStoreNames.contains('storeFail') is true
205 request = newConnection()
206 indexedDB.open(dbname, 7)
207
208 setVersionSuccess():
209 trans = event.target.transaction
210 PASS trans is non-null.
211 Deleted all object stores.
212 db.createObjectStore('storeName', null)
213
214 completeCallback():
215 PASS event.cancelable is false
216 PASS complete event fired
217 db.transaction(['storeName'])
218 store = transaction.objectStore('storeName')
219 PASS store.name is "storeName"
220 PASS complete event fired
221
222 Verifying DOMStringList works as argument for IDBDatabase.transaction()
223 db.objectStoreNames is [object DOMStringList]
224 ... which contains: ["storeName"]
225 transaction = db.transaction(db.objectStoreNames)
226 PASS no exception thrown
227 PASS transaction.objectStore("storeName") is non-null.
228 PASS all stores present in transaction
229
230 Verify that specifying an invalid mode raises an exception
231 Expecting TypeError exception from db.transaction(['storeName'], 'lsakjdf')
232 PASS Exception was thrown.
233 PASS db.transaction(['storeName'], 'lsakjdf') threw TypeError: Failed to execute 'transaction' on 'IDBDatabase': The mode provided ('lsakjdf') is not one of 'readonly' or 'readwrite'.
234
235 Test that null and undefined are treated as strings
236 Expecting exception from db.transaction(null)
237 PASS Exception was thrown.
238 PASS code is DOMException.NOT_FOUND_ERR
239 PASS ename is 'NotFoundError'
240 Exception message: Failed to execute 'transaction' on 'IDBDatabase': One of the specified object stores was not found.
241 Expecting exception from db.transaction(undefined)
242 PASS Exception was thrown.
243 PASS code is DOMException.NOT_FOUND_ERR
244 PASS ename is 'NotFoundError'
245 Exception message: Failed to execute 'transaction' on 'IDBDatabase': One of the specified object stores was not found.
246 request = newConnection()
247 indexedDB.open(dbname, 8)
248 db.createObjectStore('null')
249 db.createObjectStore('undefined')
250 PASS transaction = db.transaction(null) did not throw exception.
251 PASS transaction.objectStore('null') is non-null.
252 PASS transaction = db.transaction(undefined) did not throw exception.
253 PASS transaction.objectStore('undefined') is non-null.
254 PASS successfullyParsed is true
255
256 TEST COMPLETE
257