1 Test for valid and invalid keypaths
3 On success, you will see a series of "PASS" messages, followed by "TEST COMPLETE".
6 dbname = "keypath-basics.html"
7 indexedDB.deleteDatabase(dbname)
9 store = db.createObjectStore('name')
10 PASS store.keyPath is null
11 Deleted all object stores.
12 store = db.createObjectStore('name', {keyPath: null})
13 PASS store.keyPath is null
14 index = store.createIndex('name', null)
15 PASS index.keyPath is 'null'
16 Deleted all object stores.
17 store = db.createObjectStore('name', {keyPath: undefined})
18 PASS store.keyPath is null
19 index = store.createIndex('name', undefined)
20 PASS index.keyPath is 'undefined'
21 Deleted all object stores.
22 store = db.createObjectStore('name', {keyPath: ''})
23 PASS store.keyPath is ''
24 index = store.createIndex('name', '')
25 PASS index.keyPath is ''
26 Deleted all object stores.
27 store = db.createObjectStore('name', {keyPath: 'foo'})
28 PASS store.keyPath is 'foo'
29 index = store.createIndex('name', 'foo')
30 PASS index.keyPath is 'foo'
31 Deleted all object stores.
32 store = db.createObjectStore('name', {keyPath: 'foo.bar.baz'})
33 PASS store.keyPath is 'foo.bar.baz'
34 index = store.createIndex('name', 'foo.bar.baz')
35 PASS index.keyPath is 'foo.bar.baz'
36 Deleted all object stores.
37 store = db.createObjectStore('name', {keyPath: '$'})
38 PASS store.keyPath is '$'
39 index = store.createIndex('name', '$')
40 PASS index.keyPath is '$'
41 Deleted all object stores.
42 store = db.createObjectStore('name', {keyPath: '_'})
43 PASS store.keyPath is '_'
44 index = store.createIndex('name', '_')
45 PASS index.keyPath is '_'
46 Deleted all object stores.
47 store = db.createObjectStore('name', {keyPath: '\u0391'})
48 PASS store.keyPath is '\u0391'
49 index = store.createIndex('name', '\u0391')
50 PASS index.keyPath is '\u0391'
51 Deleted all object stores.
52 store = db.createObjectStore('name', {keyPath: '\u0371'})
53 PASS store.keyPath is '\u0371'
54 index = store.createIndex('name', '\u0371')
55 PASS index.keyPath is '\u0371'
56 Deleted all object stores.
57 store = db.createObjectStore('name', {keyPath: '\u01C5'})
58 PASS store.keyPath is '\u01C5'
59 index = store.createIndex('name', '\u01C5')
60 PASS index.keyPath is '\u01C5'
61 Deleted all object stores.
62 store = db.createObjectStore('name', {keyPath: '\u02B0'})
63 PASS store.keyPath is '\u02B0'
64 index = store.createIndex('name', '\u02B0')
65 PASS index.keyPath is '\u02B0'
66 Deleted all object stores.
67 store = db.createObjectStore('name', {keyPath: '\u00AA'})
68 PASS store.keyPath is '\u00AA'
69 index = store.createIndex('name', '\u00AA')
70 PASS index.keyPath is '\u00AA'
71 Deleted all object stores.
72 store = db.createObjectStore('name', {keyPath: '\u16EE'})
73 PASS store.keyPath is '\u16EE'
74 index = store.createIndex('name', '\u16EE')
75 PASS index.keyPath is '\u16EE'
76 Deleted all object stores.
77 store = db.createObjectStore('name', {keyPath: '_$'})
78 PASS store.keyPath is '_$'
79 index = store.createIndex('name', '_$')
80 PASS index.keyPath is '_$'
81 Deleted all object stores.
82 store = db.createObjectStore('name', {keyPath: '__'})
83 PASS store.keyPath is '__'
84 index = store.createIndex('name', '__')
85 PASS index.keyPath is '__'
86 Deleted all object stores.
87 store = db.createObjectStore('name', {keyPath: '_\u0391'})
88 PASS store.keyPath is '_\u0391'
89 index = store.createIndex('name', '_\u0391')
90 PASS index.keyPath is '_\u0391'
91 Deleted all object stores.
92 store = db.createObjectStore('name', {keyPath: '_\u0371'})
93 PASS store.keyPath is '_\u0371'
94 index = store.createIndex('name', '_\u0371')
95 PASS index.keyPath is '_\u0371'
96 Deleted all object stores.
97 store = db.createObjectStore('name', {keyPath: '_\u01C5'})
98 PASS store.keyPath is '_\u01C5'
99 index = store.createIndex('name', '_\u01C5')
100 PASS index.keyPath is '_\u01C5'
101 Deleted all object stores.
102 store = db.createObjectStore('name', {keyPath: '_\u02B0'})
103 PASS store.keyPath is '_\u02B0'
104 index = store.createIndex('name', '_\u02B0')
105 PASS index.keyPath is '_\u02B0'
106 Deleted all object stores.
107 store = db.createObjectStore('name', {keyPath: '_\u00AA'})
108 PASS store.keyPath is '_\u00AA'
109 index = store.createIndex('name', '_\u00AA')
110 PASS index.keyPath is '_\u00AA'
111 Deleted all object stores.
112 store = db.createObjectStore('name', {keyPath: '_\u16EE'})
113 PASS store.keyPath is '_\u16EE'
114 index = store.createIndex('name', '_\u16EE')
115 PASS index.keyPath is '_\u16EE'
116 Deleted all object stores.
117 store = db.createObjectStore('name', {keyPath: '_\u0300'})
118 PASS store.keyPath is '_\u0300'
119 index = store.createIndex('name', '_\u0300')
120 PASS index.keyPath is '_\u0300'
121 Deleted all object stores.
122 store = db.createObjectStore('name', {keyPath: '_\u0903'})
123 PASS store.keyPath is '_\u0903'
124 index = store.createIndex('name', '_\u0903')
125 PASS index.keyPath is '_\u0903'
126 Deleted all object stores.
127 store = db.createObjectStore('name', {keyPath: '_\u0300'})
128 PASS store.keyPath is '_\u0300'
129 index = store.createIndex('name', '_\u0300')
130 PASS index.keyPath is '_\u0300'
131 Deleted all object stores.
132 store = db.createObjectStore('name', {keyPath: '_\u203F'})
133 PASS store.keyPath is '_\u203F'
134 index = store.createIndex('name', '_\u203F')
135 PASS index.keyPath is '_\u203F'
136 Deleted all object stores.
137 store = db.createObjectStore('name', {keyPath: '_\u200C'})
138 PASS store.keyPath is '_\u200C'
139 index = store.createIndex('name', '_\u200C')
140 PASS index.keyPath is '_\u200C'
141 Deleted all object stores.
142 store = db.createObjectStore('name', {keyPath: '_\u200D'})
143 PASS store.keyPath is '_\u200D'
144 index = store.createIndex('name', '_\u200D')
145 PASS index.keyPath is '_\u200D'
146 Deleted all object stores.
148 testInvalidKeyPaths():
149 Deleted all object stores.
151 Object store key path may not be empty or an array if autoIncrement is true
152 Expecting exception from store = db.createObjectStore('storeName', {autoIncrement: true, keyPath: ''})
153 PASS Exception was thrown.
154 PASS code is DOMException.INVALID_ACCESS_ERR
155 Exception message: Failed to execute 'createObjectStore' on 'IDBDatabase': The autoIncrement option was set but the keyPath option was empty or an array.
156 Deleted all object stores.
157 Expecting exception from store = db.createObjectStore('storeName', {autoIncrement: true, keyPath: ['a']})
158 PASS Exception was thrown.
159 PASS code is DOMException.INVALID_ACCESS_ERR
160 Exception message: Failed to execute 'createObjectStore' on 'IDBDatabase': The autoIncrement option was set but the keyPath option was empty or an array.
161 Deleted all object stores.
162 Expecting exception from store = db.createObjectStore('storeName', {autoIncrement: true, keyPath: ['']})
163 PASS Exception was thrown.
164 PASS code is DOMException.INVALID_ACCESS_ERR
165 Exception message: Failed to execute 'createObjectStore' on 'IDBDatabase': The autoIncrement option was set but the keyPath option was empty or an array.
166 Deleted all object stores.
168 Key paths which are never valid:
169 Expecting exception from db.createObjectStore('name', {keyPath: ' '})
170 PASS Exception was thrown.
171 PASS code is DOMException.SYNTAX_ERR
172 Exception message: Failed to execute 'createObjectStore' on 'IDBDatabase': The keyPath option is not a valid key path.
173 Expecting exception from db.createObjectStore('name').createIndex('name', ' ')
174 PASS Exception was thrown.
175 PASS code is DOMException.SYNTAX_ERR
176 Exception message: Failed to execute 'createIndex' on 'IDBObjectStore': The keyPath argument contains an invalid key path.
177 Deleted all object stores.
178 Expecting exception from db.createObjectStore('name', {keyPath: 'foo '})
179 PASS Exception was thrown.
180 PASS code is DOMException.SYNTAX_ERR
181 Exception message: Failed to execute 'createObjectStore' on 'IDBDatabase': The keyPath option is not a valid key path.
182 Expecting exception from db.createObjectStore('name').createIndex('name', 'foo ')
183 PASS Exception was thrown.
184 PASS code is DOMException.SYNTAX_ERR
185 Exception message: Failed to execute 'createIndex' on 'IDBObjectStore': The keyPath argument contains an invalid key path.
186 Deleted all object stores.
187 Expecting exception from db.createObjectStore('name', {keyPath: 'foo bar'})
188 PASS Exception was thrown.
189 PASS code is DOMException.SYNTAX_ERR
190 Exception message: Failed to execute 'createObjectStore' on 'IDBDatabase': The keyPath option is not a valid key path.
191 Expecting exception from db.createObjectStore('name').createIndex('name', 'foo bar')
192 PASS Exception was thrown.
193 PASS code is DOMException.SYNTAX_ERR
194 Exception message: Failed to execute 'createIndex' on 'IDBObjectStore': The keyPath argument contains an invalid key path.
195 Deleted all object stores.
196 Expecting exception from db.createObjectStore('name', {keyPath: 'foo. bar'})
197 PASS Exception was thrown.
198 PASS code is DOMException.SYNTAX_ERR
199 Exception message: Failed to execute 'createObjectStore' on 'IDBDatabase': The keyPath option is not a valid key path.
200 Expecting exception from db.createObjectStore('name').createIndex('name', 'foo. bar')
201 PASS Exception was thrown.
202 PASS code is DOMException.SYNTAX_ERR
203 Exception message: Failed to execute 'createIndex' on 'IDBObjectStore': The keyPath argument contains an invalid key path.
204 Deleted all object stores.
205 Expecting exception from db.createObjectStore('name', {keyPath: 'foo .bar'})
206 PASS Exception was thrown.
207 PASS code is DOMException.SYNTAX_ERR
208 Exception message: Failed to execute 'createObjectStore' on 'IDBDatabase': The keyPath option is not a valid key path.
209 Expecting exception from db.createObjectStore('name').createIndex('name', 'foo .bar')
210 PASS Exception was thrown.
211 PASS code is DOMException.SYNTAX_ERR
212 Exception message: Failed to execute 'createIndex' on 'IDBObjectStore': The keyPath argument contains an invalid key path.
213 Deleted all object stores.
214 Expecting exception from db.createObjectStore('name', {keyPath: 'foo..bar'})
215 PASS Exception was thrown.
216 PASS code is DOMException.SYNTAX_ERR
217 Exception message: Failed to execute 'createObjectStore' on 'IDBDatabase': The keyPath option is not a valid key path.
218 Expecting exception from db.createObjectStore('name').createIndex('name', 'foo..bar')
219 PASS Exception was thrown.
220 PASS code is DOMException.SYNTAX_ERR
221 Exception message: Failed to execute 'createIndex' on 'IDBObjectStore': The keyPath argument contains an invalid key path.
222 Deleted all object stores.
223 Expecting exception from db.createObjectStore('name', {keyPath: '+foo'})
224 PASS Exception was thrown.
225 PASS code is DOMException.SYNTAX_ERR
226 Exception message: Failed to execute 'createObjectStore' on 'IDBDatabase': The keyPath option is not a valid key path.
227 Expecting exception from db.createObjectStore('name').createIndex('name', '+foo')
228 PASS Exception was thrown.
229 PASS code is DOMException.SYNTAX_ERR
230 Exception message: Failed to execute 'createIndex' on 'IDBObjectStore': The keyPath argument contains an invalid key path.
231 Deleted all object stores.
232 Expecting exception from db.createObjectStore('name', {keyPath: 'foo%'})
233 PASS Exception was thrown.
234 PASS code is DOMException.SYNTAX_ERR
235 Exception message: Failed to execute 'createObjectStore' on 'IDBDatabase': The keyPath option is not a valid key path.
236 Expecting exception from db.createObjectStore('name').createIndex('name', 'foo%')
237 PASS Exception was thrown.
238 PASS code is DOMException.SYNTAX_ERR
239 Exception message: Failed to execute 'createIndex' on 'IDBObjectStore': The keyPath argument contains an invalid key path.
240 Deleted all object stores.
241 Expecting exception from db.createObjectStore('name', {keyPath: '1'})
242 PASS Exception was thrown.
243 PASS code is DOMException.SYNTAX_ERR
244 Exception message: Failed to execute 'createObjectStore' on 'IDBDatabase': The keyPath option is not a valid key path.
245 Expecting exception from db.createObjectStore('name').createIndex('name', '1')
246 PASS Exception was thrown.
247 PASS code is DOMException.SYNTAX_ERR
248 Exception message: Failed to execute 'createIndex' on 'IDBObjectStore': The keyPath argument contains an invalid key path.
249 Deleted all object stores.
250 Expecting exception from db.createObjectStore('name', {keyPath: '1.0'})
251 PASS Exception was thrown.
252 PASS code is DOMException.SYNTAX_ERR
253 Exception message: Failed to execute 'createObjectStore' on 'IDBDatabase': The keyPath option is not a valid key path.
254 Expecting exception from db.createObjectStore('name').createIndex('name', '1.0')
255 PASS Exception was thrown.
256 PASS code is DOMException.SYNTAX_ERR
257 Exception message: Failed to execute 'createIndex' on 'IDBObjectStore': The keyPath argument contains an invalid key path.
258 Deleted all object stores.
259 Expecting exception from db.createObjectStore('name', {keyPath: []})
260 PASS Exception was thrown.
261 PASS code is DOMException.SYNTAX_ERR
262 Exception message: Failed to execute 'createObjectStore' on 'IDBDatabase': The keyPath option is not a valid key path.
263 Expecting exception from db.createObjectStore('name').createIndex('name', [])
264 PASS Exception was thrown.
265 PASS code is DOMException.SYNTAX_ERR
266 Exception message: Failed to execute 'createIndex' on 'IDBObjectStore': The keyPath argument contains an invalid key path.
267 Deleted all object stores.
268 Expecting exception from db.createObjectStore('name', {keyPath: '\u0300'})
269 PASS Exception was thrown.
270 PASS code is DOMException.SYNTAX_ERR
271 Exception message: Failed to execute 'createObjectStore' on 'IDBDatabase': The keyPath option is not a valid key path.
272 Expecting exception from db.createObjectStore('name').createIndex('name', '\u0300')
273 PASS Exception was thrown.
274 PASS code is DOMException.SYNTAX_ERR
275 Exception message: Failed to execute 'createIndex' on 'IDBObjectStore': The keyPath argument contains an invalid key path.
276 Deleted all object stores.
277 Expecting exception from db.createObjectStore('name', {keyPath: '\u0903'})
278 PASS Exception was thrown.
279 PASS code is DOMException.SYNTAX_ERR
280 Exception message: Failed to execute 'createObjectStore' on 'IDBDatabase': The keyPath option is not a valid key path.
281 Expecting exception from db.createObjectStore('name').createIndex('name', '\u0903')
282 PASS Exception was thrown.
283 PASS code is DOMException.SYNTAX_ERR
284 Exception message: Failed to execute 'createIndex' on 'IDBObjectStore': The keyPath argument contains an invalid key path.
285 Deleted all object stores.
286 Expecting exception from db.createObjectStore('name', {keyPath: '\u0300'})
287 PASS Exception was thrown.
288 PASS code is DOMException.SYNTAX_ERR
289 Exception message: Failed to execute 'createObjectStore' on 'IDBDatabase': The keyPath option is not a valid key path.
290 Expecting exception from db.createObjectStore('name').createIndex('name', '\u0300')
291 PASS Exception was thrown.
292 PASS code is DOMException.SYNTAX_ERR
293 Exception message: Failed to execute 'createIndex' on 'IDBObjectStore': The keyPath argument contains an invalid key path.
294 Deleted all object stores.
295 Expecting exception from db.createObjectStore('name', {keyPath: '\u203F'})
296 PASS Exception was thrown.
297 PASS code is DOMException.SYNTAX_ERR
298 Exception message: Failed to execute 'createObjectStore' on 'IDBDatabase': The keyPath option is not a valid key path.
299 Expecting exception from db.createObjectStore('name').createIndex('name', '\u203F')
300 PASS Exception was thrown.
301 PASS code is DOMException.SYNTAX_ERR
302 Exception message: Failed to execute 'createIndex' on 'IDBObjectStore': The keyPath argument contains an invalid key path.
303 Deleted all object stores.
304 Expecting exception from db.createObjectStore('name', {keyPath: '\u200C'})
305 PASS Exception was thrown.
306 PASS code is DOMException.SYNTAX_ERR
307 Exception message: Failed to execute 'createObjectStore' on 'IDBDatabase': The keyPath option is not a valid key path.
308 Expecting exception from db.createObjectStore('name').createIndex('name', '\u200C')
309 PASS Exception was thrown.
310 PASS code is DOMException.SYNTAX_ERR
311 Exception message: Failed to execute 'createIndex' on 'IDBObjectStore': The keyPath argument contains an invalid key path.
312 Deleted all object stores.
313 Expecting exception from db.createObjectStore('name', {keyPath: '\u200D'})
314 PASS Exception was thrown.
315 PASS code is DOMException.SYNTAX_ERR
316 Exception message: Failed to execute 'createObjectStore' on 'IDBDatabase': The keyPath option is not a valid key path.
317 Expecting exception from db.createObjectStore('name').createIndex('name', '\u200D')
318 PASS Exception was thrown.
319 PASS code is DOMException.SYNTAX_ERR
320 Exception message: Failed to execute 'createIndex' on 'IDBObjectStore': The keyPath argument contains an invalid key path.
321 Deleted all object stores.
322 Expecting exception from db.createObjectStore('name', {keyPath: '\u002D'})
323 PASS Exception was thrown.
324 PASS code is DOMException.SYNTAX_ERR
325 Exception message: Failed to execute 'createObjectStore' on 'IDBDatabase': The keyPath option is not a valid key path.
326 Expecting exception from db.createObjectStore('name').createIndex('name', '\u002D')
327 PASS Exception was thrown.
328 PASS code is DOMException.SYNTAX_ERR
329 Exception message: Failed to execute 'createIndex' on 'IDBObjectStore': The keyPath argument contains an invalid key path.
330 Deleted all object stores.
331 Expecting exception from db.createObjectStore('name', {keyPath: '\u0028'})
332 PASS Exception was thrown.
333 PASS code is DOMException.SYNTAX_ERR
334 Exception message: Failed to execute 'createObjectStore' on 'IDBDatabase': The keyPath option is not a valid key path.
335 Expecting exception from db.createObjectStore('name').createIndex('name', '\u0028')
336 PASS Exception was thrown.
337 PASS code is DOMException.SYNTAX_ERR
338 Exception message: Failed to execute 'createIndex' on 'IDBObjectStore': The keyPath argument contains an invalid key path.
339 Deleted all object stores.
340 Expecting exception from db.createObjectStore('name', {keyPath: '\u0029'})
341 PASS Exception was thrown.
342 PASS code is DOMException.SYNTAX_ERR
343 Exception message: Failed to execute 'createObjectStore' on 'IDBDatabase': The keyPath option is not a valid key path.
344 Expecting exception from db.createObjectStore('name').createIndex('name', '\u0029')
345 PASS Exception was thrown.
346 PASS code is DOMException.SYNTAX_ERR
347 Exception message: Failed to execute 'createIndex' on 'IDBObjectStore': The keyPath argument contains an invalid key path.
348 Deleted all object stores.
349 Expecting exception from db.createObjectStore('name', {keyPath: '\u00AB'})
350 PASS Exception was thrown.
351 PASS code is DOMException.SYNTAX_ERR
352 Exception message: Failed to execute 'createObjectStore' on 'IDBDatabase': The keyPath option is not a valid key path.
353 Expecting exception from db.createObjectStore('name').createIndex('name', '\u00AB')
354 PASS Exception was thrown.
355 PASS code is DOMException.SYNTAX_ERR
356 Exception message: Failed to execute 'createIndex' on 'IDBObjectStore': The keyPath argument contains an invalid key path.
357 Deleted all object stores.
358 Expecting exception from db.createObjectStore('name', {keyPath: '\u00BB'})
359 PASS Exception was thrown.
360 PASS code is DOMException.SYNTAX_ERR
361 Exception message: Failed to execute 'createObjectStore' on 'IDBDatabase': The keyPath option is not a valid key path.
362 Expecting exception from db.createObjectStore('name').createIndex('name', '\u00BB')
363 PASS Exception was thrown.
364 PASS code is DOMException.SYNTAX_ERR
365 Exception message: Failed to execute 'createIndex' on 'IDBObjectStore': The keyPath argument contains an invalid key path.
366 Deleted all object stores.
367 Expecting exception from db.createObjectStore('name', {keyPath: '\u0021'})
368 PASS Exception was thrown.
369 PASS code is DOMException.SYNTAX_ERR
370 Exception message: Failed to execute 'createObjectStore' on 'IDBDatabase': The keyPath option is not a valid key path.
371 Expecting exception from db.createObjectStore('name').createIndex('name', '\u0021')
372 PASS Exception was thrown.
373 PASS code is DOMException.SYNTAX_ERR
374 Exception message: Failed to execute 'createIndex' on 'IDBObjectStore': The keyPath argument contains an invalid key path.
375 Deleted all object stores.
376 Expecting exception from db.createObjectStore('name', {keyPath: '\u002B'})
377 PASS Exception was thrown.
378 PASS code is DOMException.SYNTAX_ERR
379 Exception message: Failed to execute 'createObjectStore' on 'IDBDatabase': The keyPath option is not a valid key path.
380 Expecting exception from db.createObjectStore('name').createIndex('name', '\u002B')
381 PASS Exception was thrown.
382 PASS code is DOMException.SYNTAX_ERR
383 Exception message: Failed to execute 'createIndex' on 'IDBObjectStore': The keyPath argument contains an invalid key path.
384 Deleted all object stores.
385 Expecting exception from db.createObjectStore('name', {keyPath: '\u00A2'})
386 PASS Exception was thrown.
387 PASS code is DOMException.SYNTAX_ERR
388 Exception message: Failed to execute 'createObjectStore' on 'IDBDatabase': The keyPath option is not a valid key path.
389 Expecting exception from db.createObjectStore('name').createIndex('name', '\u00A2')
390 PASS Exception was thrown.
391 PASS code is DOMException.SYNTAX_ERR
392 Exception message: Failed to execute 'createIndex' on 'IDBObjectStore': The keyPath argument contains an invalid key path.
393 Deleted all object stores.
394 Expecting exception from db.createObjectStore('name', {keyPath: '\u005E'})
395 PASS Exception was thrown.
396 PASS code is DOMException.SYNTAX_ERR
397 Exception message: Failed to execute 'createObjectStore' on 'IDBDatabase': The keyPath option is not a valid key path.
398 Expecting exception from db.createObjectStore('name').createIndex('name', '\u005E')
399 PASS Exception was thrown.
400 PASS code is DOMException.SYNTAX_ERR
401 Exception message: Failed to execute 'createIndex' on 'IDBObjectStore': The keyPath argument contains an invalid key path.
402 Deleted all object stores.
403 Expecting exception from db.createObjectStore('name', {keyPath: '\u00A6'})
404 PASS Exception was thrown.
405 PASS code is DOMException.SYNTAX_ERR
406 Exception message: Failed to execute 'createObjectStore' on 'IDBDatabase': The keyPath option is not a valid key path.
407 Expecting exception from db.createObjectStore('name').createIndex('name', '\u00A6')
408 PASS Exception was thrown.
409 PASS code is DOMException.SYNTAX_ERR
410 Exception message: Failed to execute 'createIndex' on 'IDBObjectStore': The keyPath argument contains an invalid key path.
411 Deleted all object stores.
412 Expecting exception from db.createObjectStore('name', {keyPath: '\u00A0'})
413 PASS Exception was thrown.
414 PASS code is DOMException.SYNTAX_ERR
415 Exception message: Failed to execute 'createObjectStore' on 'IDBDatabase': The keyPath option is not a valid key path.
416 Expecting exception from db.createObjectStore('name').createIndex('name', '\u00A0')
417 PASS Exception was thrown.
418 PASS code is DOMException.SYNTAX_ERR
419 Exception message: Failed to execute 'createIndex' on 'IDBObjectStore': The keyPath argument contains an invalid key path.
420 Deleted all object stores.
421 Expecting exception from db.createObjectStore('name', {keyPath: '\u2028'})
422 PASS Exception was thrown.
423 PASS code is DOMException.SYNTAX_ERR
424 Exception message: Failed to execute 'createObjectStore' on 'IDBDatabase': The keyPath option is not a valid key path.
425 Expecting exception from db.createObjectStore('name').createIndex('name', '\u2028')
426 PASS Exception was thrown.
427 PASS code is DOMException.SYNTAX_ERR
428 Exception message: Failed to execute 'createIndex' on 'IDBObjectStore': The keyPath argument contains an invalid key path.
429 Deleted all object stores.
430 Expecting exception from db.createObjectStore('name', {keyPath: '\u2029'})
431 PASS Exception was thrown.
432 PASS code is DOMException.SYNTAX_ERR
433 Exception message: Failed to execute 'createObjectStore' on 'IDBDatabase': The keyPath option is not a valid key path.
434 Expecting exception from db.createObjectStore('name').createIndex('name', '\u2029')
435 PASS Exception was thrown.
436 PASS code is DOMException.SYNTAX_ERR
437 Exception message: Failed to execute 'createIndex' on 'IDBObjectStore': The keyPath argument contains an invalid key path.
438 Deleted all object stores.
439 Expecting exception from db.createObjectStore('name', {keyPath: '\u0000'})
440 PASS Exception was thrown.
441 PASS code is DOMException.SYNTAX_ERR
442 Exception message: Failed to execute 'createObjectStore' on 'IDBDatabase': The keyPath option is not a valid key path.
443 Expecting exception from db.createObjectStore('name').createIndex('name', '\u0000')
444 PASS Exception was thrown.
445 PASS code is DOMException.SYNTAX_ERR
446 Exception message: Failed to execute 'createIndex' on 'IDBObjectStore': The keyPath argument contains an invalid key path.
447 Deleted all object stores.
448 Expecting exception from db.createObjectStore('name', {keyPath: '\u00AD'})
449 PASS Exception was thrown.
450 PASS code is DOMException.SYNTAX_ERR
451 Exception message: Failed to execute 'createObjectStore' on 'IDBDatabase': The keyPath option is not a valid key path.
452 Expecting exception from db.createObjectStore('name').createIndex('name', '\u00AD')
453 PASS Exception was thrown.
454 PASS code is DOMException.SYNTAX_ERR
455 Exception message: Failed to execute 'createIndex' on 'IDBObjectStore': The keyPath argument contains an invalid key path.
456 Deleted all object stores.
457 Expecting exception from db.createObjectStore('name', {keyPath: '\uD800'})
458 PASS Exception was thrown.
459 PASS code is DOMException.SYNTAX_ERR
460 Exception message: Failed to execute 'createObjectStore' on 'IDBDatabase': The keyPath option is not a valid key path.
461 Expecting exception from db.createObjectStore('name').createIndex('name', '\uD800')
462 PASS Exception was thrown.
463 PASS code is DOMException.SYNTAX_ERR
464 Exception message: Failed to execute 'createIndex' on 'IDBObjectStore': The keyPath argument contains an invalid key path.
465 Deleted all object stores.
466 Expecting exception from db.createObjectStore('name', {keyPath: '\uE000'})
467 PASS Exception was thrown.
468 PASS code is DOMException.SYNTAX_ERR
469 Exception message: Failed to execute 'createObjectStore' on 'IDBDatabase': The keyPath option is not a valid key path.
470 Expecting exception from db.createObjectStore('name').createIndex('name', '\uE000')
471 PASS Exception was thrown.
472 PASS code is DOMException.SYNTAX_ERR
473 Exception message: Failed to execute 'createIndex' on 'IDBObjectStore': The keyPath argument contains an invalid key path.
474 Deleted all object stores.
475 Expecting exception from db.createObjectStore('name', {keyPath: '\uFFFE'})
476 PASS Exception was thrown.
477 PASS code is DOMException.SYNTAX_ERR
478 Exception message: Failed to execute 'createObjectStore' on 'IDBDatabase': The keyPath option is not a valid key path.
479 Expecting exception from db.createObjectStore('name').createIndex('name', '\uFFFE')
480 PASS Exception was thrown.
481 PASS code is DOMException.SYNTAX_ERR
482 Exception message: Failed to execute 'createIndex' on 'IDBObjectStore': The keyPath argument contains an invalid key path.
483 Deleted all object stores.
484 Expecting exception from db.createObjectStore('name', {keyPath: '\uFFFF'})
485 PASS Exception was thrown.
486 PASS code is DOMException.SYNTAX_ERR
487 Exception message: Failed to execute 'createObjectStore' on 'IDBDatabase': The keyPath option is not a valid key path.
488 Expecting exception from db.createObjectStore('name').createIndex('name', '\uFFFF')
489 PASS Exception was thrown.
490 PASS code is DOMException.SYNTAX_ERR
491 Exception message: Failed to execute 'createIndex' on 'IDBObjectStore': The keyPath argument contains an invalid key path.
492 Deleted all object stores.
493 Expecting exception from db.createObjectStore('name', {keyPath: '_\u002D'})
494 PASS Exception was thrown.
495 PASS code is DOMException.SYNTAX_ERR
496 Exception message: Failed to execute 'createObjectStore' on 'IDBDatabase': The keyPath option is not a valid key path.
497 Expecting exception from db.createObjectStore('name').createIndex('name', '_\u002D')
498 PASS Exception was thrown.
499 PASS code is DOMException.SYNTAX_ERR
500 Exception message: Failed to execute 'createIndex' on 'IDBObjectStore': The keyPath argument contains an invalid key path.
501 Deleted all object stores.
502 Expecting exception from db.createObjectStore('name', {keyPath: '_\u0028'})
503 PASS Exception was thrown.
504 PASS code is DOMException.SYNTAX_ERR
505 Exception message: Failed to execute 'createObjectStore' on 'IDBDatabase': The keyPath option is not a valid key path.
506 Expecting exception from db.createObjectStore('name').createIndex('name', '_\u0028')
507 PASS Exception was thrown.
508 PASS code is DOMException.SYNTAX_ERR
509 Exception message: Failed to execute 'createIndex' on 'IDBObjectStore': The keyPath argument contains an invalid key path.
510 Deleted all object stores.
511 Expecting exception from db.createObjectStore('name', {keyPath: '_\u0029'})
512 PASS Exception was thrown.
513 PASS code is DOMException.SYNTAX_ERR
514 Exception message: Failed to execute 'createObjectStore' on 'IDBDatabase': The keyPath option is not a valid key path.
515 Expecting exception from db.createObjectStore('name').createIndex('name', '_\u0029')
516 PASS Exception was thrown.
517 PASS code is DOMException.SYNTAX_ERR
518 Exception message: Failed to execute 'createIndex' on 'IDBObjectStore': The keyPath argument contains an invalid key path.
519 Deleted all object stores.
520 Expecting exception from db.createObjectStore('name', {keyPath: '_\u00AB'})
521 PASS Exception was thrown.
522 PASS code is DOMException.SYNTAX_ERR
523 Exception message: Failed to execute 'createObjectStore' on 'IDBDatabase': The keyPath option is not a valid key path.
524 Expecting exception from db.createObjectStore('name').createIndex('name', '_\u00AB')
525 PASS Exception was thrown.
526 PASS code is DOMException.SYNTAX_ERR
527 Exception message: Failed to execute 'createIndex' on 'IDBObjectStore': The keyPath argument contains an invalid key path.
528 Deleted all object stores.
529 Expecting exception from db.createObjectStore('name', {keyPath: '_\u00BB'})
530 PASS Exception was thrown.
531 PASS code is DOMException.SYNTAX_ERR
532 Exception message: Failed to execute 'createObjectStore' on 'IDBDatabase': The keyPath option is not a valid key path.
533 Expecting exception from db.createObjectStore('name').createIndex('name', '_\u00BB')
534 PASS Exception was thrown.
535 PASS code is DOMException.SYNTAX_ERR
536 Exception message: Failed to execute 'createIndex' on 'IDBObjectStore': The keyPath argument contains an invalid key path.
537 Deleted all object stores.
538 Expecting exception from db.createObjectStore('name', {keyPath: '_\u0021'})
539 PASS Exception was thrown.
540 PASS code is DOMException.SYNTAX_ERR
541 Exception message: Failed to execute 'createObjectStore' on 'IDBDatabase': The keyPath option is not a valid key path.
542 Expecting exception from db.createObjectStore('name').createIndex('name', '_\u0021')
543 PASS Exception was thrown.
544 PASS code is DOMException.SYNTAX_ERR
545 Exception message: Failed to execute 'createIndex' on 'IDBObjectStore': The keyPath argument contains an invalid key path.
546 Deleted all object stores.
547 Expecting exception from db.createObjectStore('name', {keyPath: '_\u002B'})
548 PASS Exception was thrown.
549 PASS code is DOMException.SYNTAX_ERR
550 Exception message: Failed to execute 'createObjectStore' on 'IDBDatabase': The keyPath option is not a valid key path.
551 Expecting exception from db.createObjectStore('name').createIndex('name', '_\u002B')
552 PASS Exception was thrown.
553 PASS code is DOMException.SYNTAX_ERR
554 Exception message: Failed to execute 'createIndex' on 'IDBObjectStore': The keyPath argument contains an invalid key path.
555 Deleted all object stores.
556 Expecting exception from db.createObjectStore('name', {keyPath: '_\u00A2'})
557 PASS Exception was thrown.
558 PASS code is DOMException.SYNTAX_ERR
559 Exception message: Failed to execute 'createObjectStore' on 'IDBDatabase': The keyPath option is not a valid key path.
560 Expecting exception from db.createObjectStore('name').createIndex('name', '_\u00A2')
561 PASS Exception was thrown.
562 PASS code is DOMException.SYNTAX_ERR
563 Exception message: Failed to execute 'createIndex' on 'IDBObjectStore': The keyPath argument contains an invalid key path.
564 Deleted all object stores.
565 Expecting exception from db.createObjectStore('name', {keyPath: '_\u005E'})
566 PASS Exception was thrown.
567 PASS code is DOMException.SYNTAX_ERR
568 Exception message: Failed to execute 'createObjectStore' on 'IDBDatabase': The keyPath option is not a valid key path.
569 Expecting exception from db.createObjectStore('name').createIndex('name', '_\u005E')
570 PASS Exception was thrown.
571 PASS code is DOMException.SYNTAX_ERR
572 Exception message: Failed to execute 'createIndex' on 'IDBObjectStore': The keyPath argument contains an invalid key path.
573 Deleted all object stores.
574 Expecting exception from db.createObjectStore('name', {keyPath: '_\u00A6'})
575 PASS Exception was thrown.
576 PASS code is DOMException.SYNTAX_ERR
577 Exception message: Failed to execute 'createObjectStore' on 'IDBDatabase': The keyPath option is not a valid key path.
578 Expecting exception from db.createObjectStore('name').createIndex('name', '_\u00A6')
579 PASS Exception was thrown.
580 PASS code is DOMException.SYNTAX_ERR
581 Exception message: Failed to execute 'createIndex' on 'IDBObjectStore': The keyPath argument contains an invalid key path.
582 Deleted all object stores.
583 Expecting exception from db.createObjectStore('name', {keyPath: '_\u00A0'})
584 PASS Exception was thrown.
585 PASS code is DOMException.SYNTAX_ERR
586 Exception message: Failed to execute 'createObjectStore' on 'IDBDatabase': The keyPath option is not a valid key path.
587 Expecting exception from db.createObjectStore('name').createIndex('name', '_\u00A0')
588 PASS Exception was thrown.
589 PASS code is DOMException.SYNTAX_ERR
590 Exception message: Failed to execute 'createIndex' on 'IDBObjectStore': The keyPath argument contains an invalid key path.
591 Deleted all object stores.
592 Expecting exception from db.createObjectStore('name', {keyPath: '_\u2028'})
593 PASS Exception was thrown.
594 PASS code is DOMException.SYNTAX_ERR
595 Exception message: Failed to execute 'createObjectStore' on 'IDBDatabase': The keyPath option is not a valid key path.
596 Expecting exception from db.createObjectStore('name').createIndex('name', '_\u2028')
597 PASS Exception was thrown.
598 PASS code is DOMException.SYNTAX_ERR
599 Exception message: Failed to execute 'createIndex' on 'IDBObjectStore': The keyPath argument contains an invalid key path.
600 Deleted all object stores.
601 Expecting exception from db.createObjectStore('name', {keyPath: '_\u2029'})
602 PASS Exception was thrown.
603 PASS code is DOMException.SYNTAX_ERR
604 Exception message: Failed to execute 'createObjectStore' on 'IDBDatabase': The keyPath option is not a valid key path.
605 Expecting exception from db.createObjectStore('name').createIndex('name', '_\u2029')
606 PASS Exception was thrown.
607 PASS code is DOMException.SYNTAX_ERR
608 Exception message: Failed to execute 'createIndex' on 'IDBObjectStore': The keyPath argument contains an invalid key path.
609 Deleted all object stores.
610 Expecting exception from db.createObjectStore('name', {keyPath: '_\u0000'})
611 PASS Exception was thrown.
612 PASS code is DOMException.SYNTAX_ERR
613 Exception message: Failed to execute 'createObjectStore' on 'IDBDatabase': The keyPath option is not a valid key path.
614 Expecting exception from db.createObjectStore('name').createIndex('name', '_\u0000')
615 PASS Exception was thrown.
616 PASS code is DOMException.SYNTAX_ERR
617 Exception message: Failed to execute 'createIndex' on 'IDBObjectStore': The keyPath argument contains an invalid key path.
618 Deleted all object stores.
619 Expecting exception from db.createObjectStore('name', {keyPath: '_\u00AD'})
620 PASS Exception was thrown.
621 PASS code is DOMException.SYNTAX_ERR
622 Exception message: Failed to execute 'createObjectStore' on 'IDBDatabase': The keyPath option is not a valid key path.
623 Expecting exception from db.createObjectStore('name').createIndex('name', '_\u00AD')
624 PASS Exception was thrown.
625 PASS code is DOMException.SYNTAX_ERR
626 Exception message: Failed to execute 'createIndex' on 'IDBObjectStore': The keyPath argument contains an invalid key path.
627 Deleted all object stores.
628 Expecting exception from db.createObjectStore('name', {keyPath: '_\uD800'})
629 PASS Exception was thrown.
630 PASS code is DOMException.SYNTAX_ERR
631 Exception message: Failed to execute 'createObjectStore' on 'IDBDatabase': The keyPath option is not a valid key path.
632 Expecting exception from db.createObjectStore('name').createIndex('name', '_\uD800')
633 PASS Exception was thrown.
634 PASS code is DOMException.SYNTAX_ERR
635 Exception message: Failed to execute 'createIndex' on 'IDBObjectStore': The keyPath argument contains an invalid key path.
636 Deleted all object stores.
637 Expecting exception from db.createObjectStore('name', {keyPath: '_\uE000'})
638 PASS Exception was thrown.
639 PASS code is DOMException.SYNTAX_ERR
640 Exception message: Failed to execute 'createObjectStore' on 'IDBDatabase': The keyPath option is not a valid key path.
641 Expecting exception from db.createObjectStore('name').createIndex('name', '_\uE000')
642 PASS Exception was thrown.
643 PASS code is DOMException.SYNTAX_ERR
644 Exception message: Failed to execute 'createIndex' on 'IDBObjectStore': The keyPath argument contains an invalid key path.
645 Deleted all object stores.
646 Expecting exception from db.createObjectStore('name', {keyPath: '_\uFFFE'})
647 PASS Exception was thrown.
648 PASS code is DOMException.SYNTAX_ERR
649 Exception message: Failed to execute 'createObjectStore' on 'IDBDatabase': The keyPath option is not a valid key path.
650 Expecting exception from db.createObjectStore('name').createIndex('name', '_\uFFFE')
651 PASS Exception was thrown.
652 PASS code is DOMException.SYNTAX_ERR
653 Exception message: Failed to execute 'createIndex' on 'IDBObjectStore': The keyPath argument contains an invalid key path.
654 Deleted all object stores.
655 Expecting exception from db.createObjectStore('name', {keyPath: '_\uFFFF'})
656 PASS Exception was thrown.
657 PASS code is DOMException.SYNTAX_ERR
658 Exception message: Failed to execute 'createObjectStore' on 'IDBDatabase': The keyPath option is not a valid key path.
659 Expecting exception from db.createObjectStore('name').createIndex('name', '_\uFFFF')
660 PASS Exception was thrown.
661 PASS code is DOMException.SYNTAX_ERR
662 Exception message: Failed to execute 'createIndex' on 'IDBObjectStore': The keyPath argument contains an invalid key path.
663 Deleted all object stores.
664 PASS successfullyParsed is true