OLD | NEW |
1 [Worker] Test the basics of IndexedDB's IDBObjectStore. | 1 [Worker] Test the basics of IndexedDB's IDBObjectStore. |
2 | 2 |
3 On success, you will see a series of "PASS" messages, followed by "TEST COMPLETE
". | 3 On success, you will see a series of "PASS" messages, followed by "TEST COMPLETE
". |
4 | 4 |
5 | 5 |
6 Starting worker: resources/objectstore-basics.js | 6 Starting worker: resources/objectstore-basics.js |
7 [Worker] indexedDB = self.indexedDB || self.webkitIndexedDB || self.mozIndexedDB
|| self.msIndexedDB || self.OIndexedDB; | 7 [Worker] indexedDB = self.indexedDB || self.webkitIndexedDB || self.mozIndexedDB
|| self.msIndexedDB || self.OIndexedDB; |
8 [Worker] | 8 [Worker] |
9 [Worker] dbname = "objectstore-basics.js" | 9 [Worker] dbname = "objectstore-basics.js" |
10 [Worker] indexedDB.deleteDatabase(dbname) | 10 [Worker] indexedDB.deleteDatabase(dbname) |
(...skipping 34 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
45 PASS [Worker] store.autoIncrement is false | 45 PASS [Worker] store.autoIncrement is false |
46 PASS [Worker] storeNames.contains('storeName') is true | 46 PASS [Worker] storeNames.contains('storeName') is true |
47 PASS [Worker] storeNames.length is 1 | 47 PASS [Worker] storeNames.length is 1 |
48 PASS [Worker] db.createObjectStore('storeWithKeyPath', {keyPath: 'path'}).keyPat
h is "path" | 48 PASS [Worker] db.createObjectStore('storeWithKeyPath', {keyPath: 'path'}).keyPat
h is "path" |
49 PASS [Worker] db.createObjectStore('storeWithKeyGenerator', {autoIncrement: true
}).autoIncrement is true | 49 PASS [Worker] db.createObjectStore('storeWithKeyGenerator', {autoIncrement: true
}).autoIncrement is true |
50 [Worker] Ask for an index that doesn't exist: | 50 [Worker] Ask for an index that doesn't exist: |
51 [Worker] Expecting exception from store.index('asdf') | 51 [Worker] Expecting exception from store.index('asdf') |
52 PASS [Worker] Exception was thrown. | 52 PASS [Worker] Exception was thrown. |
53 PASS [Worker] code is DOMException.NOT_FOUND_ERR | 53 PASS [Worker] code is DOMException.NOT_FOUND_ERR |
54 PASS [Worker] ename is 'NotFoundError' | 54 PASS [Worker] ename is 'NotFoundError' |
55 [Worker] Exception message: The specified index was not found. | 55 [Worker] Exception message: Failed to execute 'index' on 'IDBObjectStore': The s
pecified index was not found. |
56 [Worker] createIndex(): | 56 [Worker] createIndex(): |
57 [Worker] index = store.createIndex('indexName', 'x', {unique: true}) | 57 [Worker] index = store.createIndex('indexName', 'x', {unique: true}) |
58 PASS [Worker] index is non-null. | 58 PASS [Worker] index is non-null. |
59 PASS [Worker] store.indexNames.contains('indexName') is true | 59 PASS [Worker] store.indexNames.contains('indexName') is true |
60 [Worker] index = store.index('indexName') | 60 [Worker] index = store.index('indexName') |
61 PASS [Worker] index is non-null. | 61 PASS [Worker] index is non-null. |
62 [Worker] Ask for an index that doesn't exist: | 62 [Worker] Ask for an index that doesn't exist: |
63 [Worker] Expecting exception from store.index('asdf') | 63 [Worker] Expecting exception from store.index('asdf') |
64 PASS [Worker] Exception was thrown. | 64 PASS [Worker] Exception was thrown. |
65 PASS [Worker] code is DOMException.NOT_FOUND_ERR | 65 PASS [Worker] code is DOMException.NOT_FOUND_ERR |
66 PASS [Worker] ename is 'NotFoundError' | 66 PASS [Worker] ename is 'NotFoundError' |
67 [Worker] Exception message: The specified index was not found. | 67 [Worker] Exception message: Failed to execute 'index' on 'IDBObjectStore': The s
pecified index was not found. |
68 [Worker] indexedDB.open(dbname, 2) | 68 [Worker] indexedDB.open(dbname, 2) |
69 [Worker] db.close() | 69 [Worker] db.close() |
70 PASS [Worker] db.version is 2 | 70 PASS [Worker] db.version is 2 |
71 [Worker] setVersionTrans = event.target.transaction | 71 [Worker] setVersionTrans = event.target.transaction |
72 PASS [Worker] setVersionTrans is non-null. | 72 PASS [Worker] setVersionTrans is non-null. |
73 [Worker] store = setVersionTrans.objectStore('storeName') | 73 [Worker] store = setVersionTrans.objectStore('storeName') |
74 [Worker] index = store.createIndex('indexFail', 'x') | 74 [Worker] index = store.createIndex('indexFail', 'x') |
75 PASS [Worker] db.version is 1 | 75 PASS [Worker] db.version is 1 |
76 PASS [Worker] store.transaction is setVersionTrans | 76 PASS [Worker] store.transaction is setVersionTrans |
77 PASS [Worker] store.indexNames is ['indexName'] | 77 PASS [Worker] store.indexNames is ['indexName'] |
(...skipping 29 matching lines...) Expand all Loading... |
107 [Worker] addAgainFailure(): | 107 [Worker] addAgainFailure(): |
108 PASS [Worker] event.target.error.name is 'ConstraintError' | 108 PASS [Worker] event.target.error.name is 'ConstraintError' |
109 [Worker] event.preventDefault() | 109 [Worker] event.preventDefault() |
110 [Worker] db.transaction(['storeName'], 'readwrite') | 110 [Worker] db.transaction(['storeName'], 'readwrite') |
111 [Worker] store = transaction.objectStore('storeName') | 111 [Worker] store = transaction.objectStore('storeName') |
112 [Worker] store.add({x: 'somevalue'}, 'somekey') | 112 [Worker] store.add({x: 'somevalue'}, 'somekey') |
113 [Worker] Expecting exception from store.add({x: 'othervalue'}, null) | 113 [Worker] Expecting exception from store.add({x: 'othervalue'}, null) |
114 PASS [Worker] Exception was thrown. | 114 PASS [Worker] Exception was thrown. |
115 PASS [Worker] code is 0 | 115 PASS [Worker] code is 0 |
116 PASS [Worker] ename is 'DataError' | 116 PASS [Worker] ename is 'DataError' |
117 [Worker] Exception message: The parameter is not a valid key. | 117 [Worker] Exception message: Failed to execute 'add' on 'IDBObjectStore': The par
ameter is not a valid key. |
118 [Worker] db.transaction(['storeName'], 'readwrite') | 118 [Worker] db.transaction(['storeName'], 'readwrite') |
119 [Worker] store = transaction.objectStore('storeName') | 119 [Worker] store = transaction.objectStore('storeName') |
120 [Worker] Ensure invalid key pointed at by index keyPath is ignored | 120 [Worker] Ensure invalid key pointed at by index keyPath is ignored |
121 [Worker] store.add({x: null}, 'validkey') | 121 [Worker] store.add({x: null}, 'validkey') |
122 [Worker] db.transaction(['storeName'], 'readwrite') | 122 [Worker] db.transaction(['storeName'], 'readwrite') |
123 [Worker] store = transaction.objectStore('storeName') | 123 [Worker] store = transaction.objectStore('storeName') |
124 [Worker] store.get('key') | 124 [Worker] store.get('key') |
125 [Worker] getSuccess(): | 125 [Worker] getSuccess(): |
126 PASS [Worker] event.target.result.y is "value" | 126 PASS [Worker] event.target.result.y is "value" |
127 [Worker] store = event.target.source | 127 [Worker] store = event.target.source |
128 [Worker] store.get(testDate) | 128 [Worker] store.get(testDate) |
129 [Worker] getSuccessDateKey(): | 129 [Worker] getSuccessDateKey(): |
130 PASS [Worker] event.target.result.x is "foo" | 130 PASS [Worker] event.target.result.x is "foo" |
131 [Worker] store.delete('key') | 131 [Worker] store.delete('key') |
132 [Worker] removeSuccess(): | 132 [Worker] removeSuccess(): |
133 PASS [Worker] event.target.result is undefined | 133 PASS [Worker] event.target.result is undefined |
134 [Worker] store.delete('key') | 134 [Worker] store.delete('key') |
135 [Worker] removeSuccessButNotThere(): | 135 [Worker] removeSuccessButNotThere(): |
136 PASS [Worker] event.target.result is undefined | 136 PASS [Worker] event.target.result is undefined |
137 [Worker] store = event.target.source | 137 [Worker] store = event.target.source |
138 [Worker] Passing an invalid key into store.get(). | 138 [Worker] Passing an invalid key into store.get(). |
139 [Worker] Expecting exception from store.get({}) | 139 [Worker] Expecting exception from store.get({}) |
140 PASS [Worker] Exception was thrown. | 140 PASS [Worker] Exception was thrown. |
141 PASS [Worker] code is 0 | 141 PASS [Worker] code is 0 |
142 PASS [Worker] ename is 'DataError' | 142 PASS [Worker] ename is 'DataError' |
143 [Worker] Exception message: The parameter is not a valid key. | 143 [Worker] Exception message: Failed to execute 'get' on 'IDBObjectStore': The par
ameter is not a valid key. |
144 [Worker] Passing an invalid key into store.delete(). | 144 [Worker] Passing an invalid key into store.delete(). |
145 [Worker] Expecting exception from store.delete({}) | 145 [Worker] Expecting exception from store.delete({}) |
146 PASS [Worker] Exception was thrown. | 146 PASS [Worker] Exception was thrown. |
147 PASS [Worker] code is 0 | 147 PASS [Worker] code is 0 |
148 PASS [Worker] ename is 'DataError' | 148 PASS [Worker] ename is 'DataError' |
149 [Worker] Exception message: The parameter is not a valid key. | 149 [Worker] Exception message: Failed to execute 'delete' on 'IDBObjectStore': The
parameter is not a valid key. |
150 [Worker] Passing an invalid key into store.add(). | 150 [Worker] Passing an invalid key into store.add(). |
151 [Worker] Expecting exception from store.add(null, {}) | 151 [Worker] Expecting exception from store.add(null, {}) |
152 PASS [Worker] Exception was thrown. | 152 PASS [Worker] Exception was thrown. |
153 PASS [Worker] code is 0 | 153 PASS [Worker] code is 0 |
154 PASS [Worker] ename is 'DataError' | 154 PASS [Worker] ename is 'DataError' |
155 [Worker] Exception message: The parameter is not a valid key. | 155 [Worker] Exception message: Failed to execute 'add' on 'IDBObjectStore': The par
ameter is not a valid key. |
156 [Worker] Passing an invalid key into store.put(). | 156 [Worker] Passing an invalid key into store.put(). |
157 [Worker] Expecting exception from store.put(null, {}) | 157 [Worker] Expecting exception from store.put(null, {}) |
158 PASS [Worker] Exception was thrown. | 158 PASS [Worker] Exception was thrown. |
159 PASS [Worker] code is 0 | 159 PASS [Worker] code is 0 |
160 PASS [Worker] ename is 'DataError' | 160 PASS [Worker] ename is 'DataError' |
161 [Worker] Exception message: The parameter is not a valid key. | 161 [Worker] Exception message: Failed to execute 'put' on 'IDBObjectStore': The par
ameter is not a valid key. |
162 [Worker] | 162 [Worker] |
163 [Worker] testPreConditions(): | 163 [Worker] testPreConditions(): |
164 [Worker] indexedDB.open(dbname, 3) | 164 [Worker] indexedDB.open(dbname, 3) |
165 [Worker] | 165 [Worker] |
166 [Worker] upgradeNeeded(): | 166 [Worker] upgradeNeeded(): |
167 [Worker] storeWithInLineKeys = db.createObjectStore('storeWithInLineKeys', {keyP
ath: 'key'}) | 167 [Worker] storeWithInLineKeys = db.createObjectStore('storeWithInLineKeys', {keyP
ath: 'key'}) |
168 [Worker] storeWithOutOfLineKeys = db.createObjectStore('storeWithOutIOfLineKeys'
) | 168 [Worker] storeWithOutOfLineKeys = db.createObjectStore('storeWithOutIOfLineKeys'
) |
169 [Worker] storeWithIndex = db.createObjectStore('storeWithIndex') | 169 [Worker] storeWithIndex = db.createObjectStore('storeWithIndex') |
170 [Worker] index = storeWithIndex.createIndex('indexName', 'indexKey') | 170 [Worker] index = storeWithIndex.createIndex('indexName', 'indexKey') |
171 [Worker] | 171 [Worker] |
172 [Worker] IDBObjectStore.put() | 172 [Worker] IDBObjectStore.put() |
173 [Worker] The object store uses in-line keys and the key parameter was provided. | 173 [Worker] The object store uses in-line keys and the key parameter was provided. |
174 [Worker] Expecting exception from storeWithInLineKeys.put({key: 1}, 'key') | 174 [Worker] Expecting exception from storeWithInLineKeys.put({key: 1}, 'key') |
175 PASS [Worker] Exception was thrown. | 175 PASS [Worker] Exception was thrown. |
176 PASS [Worker] code is 0 | 176 PASS [Worker] code is 0 |
177 PASS [Worker] ename is 'DataError' | 177 PASS [Worker] ename is 'DataError' |
178 [Worker] Exception message: The object store uses in-line keys and the key param
eter was provided. | 178 [Worker] Exception message: Failed to execute 'put' on 'IDBObjectStore': The obj
ect store uses in-line keys and the key parameter was provided. |
179 [Worker] The object store uses out-of-line keys and has no key generator and the
key parameter was not provided. | 179 [Worker] The object store uses out-of-line keys and has no key generator and the
key parameter was not provided. |
180 [Worker] Expecting exception from storeWithOutOfLineKeys.put({}) | 180 [Worker] Expecting exception from storeWithOutOfLineKeys.put({}) |
181 PASS [Worker] Exception was thrown. | 181 PASS [Worker] Exception was thrown. |
182 PASS [Worker] code is 0 | 182 PASS [Worker] code is 0 |
183 PASS [Worker] ename is 'DataError' | 183 PASS [Worker] ename is 'DataError' |
184 [Worker] Exception message: The object store uses out-of-line keys and has no ke
y generator and the key parameter was not provided. | 184 [Worker] Exception message: Failed to execute 'put' on 'IDBObjectStore': The obj
ect store uses out-of-line keys and has no key generator and the key parameter w
as not provided. |
185 [Worker] The object store uses in-line keys and the result of evaluating the obj
ect store's key path yields a value and that value is not a valid key. | 185 [Worker] The object store uses in-line keys and the result of evaluating the obj
ect store's key path yields a value and that value is not a valid key. |
186 [Worker] Expecting exception from storeWithInLineKeys.put({key: null}) | 186 [Worker] Expecting exception from storeWithInLineKeys.put({key: null}) |
187 PASS [Worker] Exception was thrown. | 187 PASS [Worker] Exception was thrown. |
188 PASS [Worker] code is 0 | 188 PASS [Worker] code is 0 |
189 PASS [Worker] ename is 'DataError' | 189 PASS [Worker] ename is 'DataError' |
190 [Worker] Exception message: Evaluating the object store's key path yielded a val
ue that is not a valid key. | 190 [Worker] Exception message: Failed to execute 'put' on 'IDBObjectStore': Evaluat
ing the object store's key path yielded a value that is not a valid key. |
191 [Worker] The object store uses in-line keys but no key generator and the result
of evaluating the object store's key path does not yield a value. | 191 [Worker] The object store uses in-line keys but no key generator and the result
of evaluating the object store's key path does not yield a value. |
192 [Worker] Expecting exception from storeWithInLineKeys.put({}) | 192 [Worker] Expecting exception from storeWithInLineKeys.put({}) |
193 PASS [Worker] Exception was thrown. | 193 PASS [Worker] Exception was thrown. |
194 PASS [Worker] code is 0 | 194 PASS [Worker] code is 0 |
195 PASS [Worker] ename is 'DataError' | 195 PASS [Worker] ename is 'DataError' |
196 [Worker] Exception message: Evaluating the object store's key path did not yield
a value. | 196 [Worker] Exception message: Failed to execute 'put' on 'IDBObjectStore': Evaluat
ing the object store's key path did not yield a value. |
197 [Worker] The key parameter was provided but does not contain a valid key. | 197 [Worker] The key parameter was provided but does not contain a valid key. |
198 [Worker] Expecting exception from storeWithOutOfLineKeys.put({}, null) | 198 [Worker] Expecting exception from storeWithOutOfLineKeys.put({}, null) |
199 PASS [Worker] Exception was thrown. | 199 PASS [Worker] Exception was thrown. |
200 PASS [Worker] code is 0 | 200 PASS [Worker] code is 0 |
201 PASS [Worker] ename is 'DataError' | 201 PASS [Worker] ename is 'DataError' |
202 [Worker] Exception message: The parameter is not a valid key. | 202 [Worker] Exception message: Failed to execute 'put' on 'IDBObjectStore': The par
ameter is not a valid key. |
203 [Worker] | 203 [Worker] |
204 [Worker] IDBObjectStore.add() | 204 [Worker] IDBObjectStore.add() |
205 [Worker] The object store uses in-line keys and the key parameter was provided. | 205 [Worker] The object store uses in-line keys and the key parameter was provided. |
206 [Worker] Expecting exception from storeWithInLineKeys.add({key: 1}, 'key') | 206 [Worker] Expecting exception from storeWithInLineKeys.add({key: 1}, 'key') |
207 PASS [Worker] Exception was thrown. | 207 PASS [Worker] Exception was thrown. |
208 PASS [Worker] code is 0 | 208 PASS [Worker] code is 0 |
209 PASS [Worker] ename is 'DataError' | 209 PASS [Worker] ename is 'DataError' |
210 [Worker] Exception message: The object store uses in-line keys and the key param
eter was provided. | 210 [Worker] Exception message: Failed to execute 'add' on 'IDBObjectStore': The obj
ect store uses in-line keys and the key parameter was provided. |
211 [Worker] The object store uses out-of-line keys and has no key generator and the
key parameter was not provided. | 211 [Worker] The object store uses out-of-line keys and has no key generator and the
key parameter was not provided. |
212 [Worker] Expecting exception from storeWithOutOfLineKeys.add({}) | 212 [Worker] Expecting exception from storeWithOutOfLineKeys.add({}) |
213 PASS [Worker] Exception was thrown. | 213 PASS [Worker] Exception was thrown. |
214 PASS [Worker] code is 0 | 214 PASS [Worker] code is 0 |
215 PASS [Worker] ename is 'DataError' | 215 PASS [Worker] ename is 'DataError' |
216 [Worker] Exception message: The object store uses out-of-line keys and has no ke
y generator and the key parameter was not provided. | 216 [Worker] Exception message: Failed to execute 'add' on 'IDBObjectStore': The obj
ect store uses out-of-line keys and has no key generator and the key parameter w
as not provided. |
217 [Worker] The object store uses in-line keys and the result of evaluating the obj
ect store's key path yields a value and that value is not a valid key. | 217 [Worker] The object store uses in-line keys and the result of evaluating the obj
ect store's key path yields a value and that value is not a valid key. |
218 [Worker] Expecting exception from storeWithInLineKeys.add({key: null}) | 218 [Worker] Expecting exception from storeWithInLineKeys.add({key: null}) |
219 PASS [Worker] Exception was thrown. | 219 PASS [Worker] Exception was thrown. |
220 PASS [Worker] code is 0 | 220 PASS [Worker] code is 0 |
221 PASS [Worker] ename is 'DataError' | 221 PASS [Worker] ename is 'DataError' |
222 [Worker] Exception message: Evaluating the object store's key path yielded a val
ue that is not a valid key. | 222 [Worker] Exception message: Failed to execute 'add' on 'IDBObjectStore': Evaluat
ing the object store's key path yielded a value that is not a valid key. |
223 [Worker] The object store uses in-line keys but no key generator and the result
of evaluating the object store's key path does not yield a value. | 223 [Worker] The object store uses in-line keys but no key generator and the result
of evaluating the object store's key path does not yield a value. |
224 [Worker] Expecting exception from storeWithInLineKeys.add({}) | 224 [Worker] Expecting exception from storeWithInLineKeys.add({}) |
225 PASS [Worker] Exception was thrown. | 225 PASS [Worker] Exception was thrown. |
226 PASS [Worker] code is 0 | 226 PASS [Worker] code is 0 |
227 PASS [Worker] ename is 'DataError' | 227 PASS [Worker] ename is 'DataError' |
228 [Worker] Exception message: Evaluating the object store's key path did not yield
a value. | 228 [Worker] Exception message: Failed to execute 'add' on 'IDBObjectStore': Evaluat
ing the object store's key path did not yield a value. |
229 [Worker] The key parameter was provided but does not contain a valid key. | 229 [Worker] The key parameter was provided but does not contain a valid key. |
230 [Worker] Expecting exception from storeWithOutOfLineKeys.add({}, null) | 230 [Worker] Expecting exception from storeWithOutOfLineKeys.add({}, null) |
231 PASS [Worker] Exception was thrown. | 231 PASS [Worker] Exception was thrown. |
232 PASS [Worker] code is 0 | 232 PASS [Worker] code is 0 |
233 PASS [Worker] ename is 'DataError' | 233 PASS [Worker] ename is 'DataError' |
234 [Worker] Exception message: The parameter is not a valid key. | 234 [Worker] Exception message: Failed to execute 'add' on 'IDBObjectStore': The par
ameter is not a valid key. |
235 PASS successfullyParsed is true | 235 PASS successfullyParsed is true |
236 | 236 |
237 TEST COMPLETE | 237 TEST COMPLETE |
238 | 238 |
OLD | NEW |