1 Test IndexedDB's IDBIndex.openCursor + the cursor it produces in depth.
3 On success, you will see a series of "PASS" messages, followed by "TEST COMPLETE".
6 indexedDB = self.indexedDB || self.webkitIndexedDB || self.mozIndexedDB || self.msIndexedDB || self.OIndexedDB;
8 dbname = "index-cursor.html"
9 indexedDB.deleteDatabase(dbname)
10 indexedDB.open(dbname)
11 db.createObjectStore('someObjectStore')
12 objectStore.createIndex('someIndex', 'x')
13 objectStore.add({'x': testData[nextToAdd]}, nextToAdd)
14 objectStore.add({'x': testData[nextToAdd]}, nextToAdd)
15 objectStore.add({'x': testData[nextToAdd]}, nextToAdd)
16 objectStore.add({'x': testData[nextToAdd]}, nextToAdd)
17 objectStore.add({'x': testData[nextToAdd]}, nextToAdd)
18 objectStore.add({'x': testData[nextToAdd]}, nextToAdd)
19 objectStore.add({'x': testData[nextToAdd]}, nextToAdd)
20 objectStore.add({'x': testData[nextToAdd]}, nextToAdd)
24 Next test: lower open bound is 0; sorted ascending.
25 PASS event.target.result is null
27 Next test: lower bound is 0; sorted ascending.
28 PASS event.target.result is null
30 Next test: upper open bound is 0; sorted ascending.
31 PASS event.target.result is null
33 Next test: upper bound is 0; sorted ascending.
34 PASS event.target.result is null
36 Next test: lower open bound is 0; sorted descending.
37 PASS event.target.result is null
39 Next test: lower bound is 0; sorted descending.
40 PASS event.target.result is null
42 Next test: upper open bound is 0; sorted descending.
43 PASS event.target.result is null
45 Next test: upper bound is 0; sorted descending.
46 PASS event.target.result is null
48 Next test: lower open bound is 0; upper open bound is 6; sorted ascending.
49 PASS event.target.result is null
51 Next test: lower open bound is 0; upper bound is 6; sorted ascending.
52 PASS event.target.result is null
54 Next test: lower bound is 0; upper open bound is 6; sorted ascending.
55 PASS event.target.result is null
57 Next test: lower bound is 0; upper bound is 6; sorted ascending.
58 PASS event.target.result is null
60 Next test: lower open bound is 0; upper open bound is 6; sorted descending.
61 PASS event.target.result is null
63 Next test: lower open bound is 0; upper bound is 6; sorted descending.
64 PASS event.target.result is null
66 Next test: lower bound is 0; upper open bound is 6; sorted descending.
67 PASS event.target.result is null
69 Next test: lower bound is 0; upper bound is 6; sorted descending.
70 PASS event.target.result is null
72 Next test: lower open bound is 0; upper open bound is 7; sorted ascending.
73 PASS event.target.result is null
75 Next test: lower open bound is 0; upper bound is 7; sorted ascending.
76 PASS event.target.result is null
78 Next test: lower bound is 0; upper open bound is 7; sorted ascending.
79 PASS event.target.result is null
81 Next test: lower bound is 0; upper bound is 7; sorted ascending.
82 PASS event.target.result is null
84 Next test: lower open bound is 0; upper open bound is 7; sorted descending.
85 PASS event.target.result is null
87 Next test: lower open bound is 0; upper bound is 7; sorted descending.
88 PASS event.target.result is null
90 Next test: lower bound is 0; upper open bound is 7; sorted descending.
91 PASS event.target.result is null
93 Next test: lower bound is 0; upper bound is 7; sorted descending.
94 PASS event.target.result is null
96 Next test: lower open bound is 1; sorted ascending.
97 PASS event.target.result is null
99 Next test: lower bound is 1; sorted ascending.
100 PASS event.target.result is null
102 Next test: upper open bound is 1; sorted ascending.
103 PASS event.target.result is null
105 Next test: upper bound is 1; sorted ascending.
106 PASS event.target.result is null
108 Next test: lower open bound is 1; sorted descending.
109 PASS event.target.result is null
111 Next test: lower bound is 1; sorted descending.
112 PASS event.target.result is null
114 Next test: upper open bound is 1; sorted descending.
115 PASS event.target.result is null
117 Next test: upper bound is 1; sorted descending.
118 PASS event.target.result is null
120 Next test: lower open bound is 1; upper open bound is 6; sorted ascending.
121 PASS event.target.result is null
123 Next test: lower open bound is 1; upper bound is 6; sorted ascending.
124 PASS event.target.result is null
126 Next test: lower bound is 1; upper open bound is 6; sorted ascending.
127 PASS event.target.result is null
129 Next test: lower bound is 1; upper bound is 6; sorted ascending.
130 PASS event.target.result is null
132 Next test: lower open bound is 1; upper open bound is 6; sorted descending.
133 PASS event.target.result is null
135 Next test: lower open bound is 1; upper bound is 6; sorted descending.
136 PASS event.target.result is null
138 Next test: lower bound is 1; upper open bound is 6; sorted descending.
139 PASS event.target.result is null
141 Next test: lower bound is 1; upper bound is 6; sorted descending.
142 PASS event.target.result is null
144 Next test: lower open bound is 1; upper open bound is 7; sorted ascending.
145 PASS event.target.result is null
147 Next test: lower open bound is 1; upper bound is 7; sorted ascending.
148 PASS event.target.result is null
150 Next test: lower bound is 1; upper open bound is 7; sorted ascending.
151 PASS event.target.result is null
153 Next test: lower bound is 1; upper bound is 7; sorted ascending.
154 PASS event.target.result is null
156 Next test: lower open bound is 1; upper open bound is 7; sorted descending.
157 PASS event.target.result is null
159 Next test: lower open bound is 1; upper bound is 7; sorted descending.
160 PASS event.target.result is null
162 Next test: lower bound is 1; upper open bound is 7; sorted descending.
163 PASS event.target.result is null
165 Next test: lower bound is 1; upper bound is 7; sorted descending.
166 PASS event.target.result is null
168 Next test: lower open bound is 2; sorted ascending.
169 PASS event.target.result is null
171 Next test: lower bound is 2; sorted ascending.
172 PASS event.target.result is null
174 Next test: upper open bound is 2; sorted ascending.
175 PASS event.target.result is null
177 Next test: upper bound is 2; sorted ascending.
178 PASS event.target.result is null
180 Next test: lower open bound is 2; sorted descending.
181 PASS event.target.result is null
183 Next test: lower bound is 2; sorted descending.
184 PASS event.target.result is null
186 Next test: upper open bound is 2; sorted descending.
187 PASS event.target.result is null
189 Next test: upper bound is 2; sorted descending.
190 PASS event.target.result is null
192 Next test: lower open bound is 2; upper open bound is 6; sorted ascending.
193 PASS event.target.result is null
195 Next test: lower open bound is 2; upper bound is 6; sorted ascending.
196 PASS event.target.result is null
198 Next test: lower bound is 2; upper open bound is 6; sorted ascending.
199 PASS event.target.result is null
201 Next test: lower bound is 2; upper bound is 6; sorted ascending.
202 PASS event.target.result is null
204 Next test: lower open bound is 2; upper open bound is 6; sorted descending.
205 PASS event.target.result is null
207 Next test: lower open bound is 2; upper bound is 6; sorted descending.
208 PASS event.target.result is null
210 Next test: lower bound is 2; upper open bound is 6; sorted descending.
211 PASS event.target.result is null
213 Next test: lower bound is 2; upper bound is 6; sorted descending.
214 PASS event.target.result is null
216 Next test: lower open bound is 2; upper open bound is 7; sorted ascending.
217 PASS event.target.result is null
219 Next test: lower open bound is 2; upper bound is 7; sorted ascending.
220 PASS event.target.result is null
222 Next test: lower bound is 2; upper open bound is 7; sorted ascending.
223 PASS event.target.result is null
225 Next test: lower bound is 2; upper bound is 7; sorted ascending.
226 PASS event.target.result is null
228 Next test: lower open bound is 2; upper open bound is 7; sorted descending.
229 PASS event.target.result is null
231 Next test: lower open bound is 2; upper bound is 7; sorted descending.
232 PASS event.target.result is null
234 Next test: lower bound is 2; upper open bound is 7; sorted descending.
235 PASS event.target.result is null
237 Next test: lower bound is 2; upper bound is 7; sorted descending.
238 PASS event.target.result is null
240 Next test: lower open bound is 3; sorted ascending.
241 PASS event.target.result is null
243 Next test: lower bound is 3; sorted ascending.
244 PASS event.target.result is null
246 Next test: upper open bound is 3; sorted ascending.
247 PASS event.target.result is null
249 Next test: upper bound is 3; sorted ascending.
250 PASS event.target.result is null
252 Next test: lower open bound is 3; sorted descending.
253 PASS event.target.result is null
255 Next test: lower bound is 3; sorted descending.
256 PASS event.target.result is null
258 Next test: upper open bound is 3; sorted descending.
259 PASS event.target.result is null
261 Next test: upper bound is 3; sorted descending.
262 PASS event.target.result is null
264 Next test: lower open bound is 3; upper open bound is 6; sorted ascending.
265 PASS event.target.result is null
267 Next test: lower open bound is 3; upper bound is 6; sorted ascending.
268 PASS event.target.result is null
270 Next test: lower bound is 3; upper open bound is 6; sorted ascending.
271 PASS event.target.result is null
273 Next test: lower bound is 3; upper bound is 6; sorted ascending.
274 PASS event.target.result is null
276 Next test: lower open bound is 3; upper open bound is 6; sorted descending.
277 PASS event.target.result is null
279 Next test: lower open bound is 3; upper bound is 6; sorted descending.
280 PASS event.target.result is null
282 Next test: lower bound is 3; upper open bound is 6; sorted descending.
283 PASS event.target.result is null
285 Next test: lower bound is 3; upper bound is 6; sorted descending.
286 PASS event.target.result is null
288 Next test: lower open bound is 3; upper open bound is 7; sorted ascending.
289 PASS event.target.result is null
291 Next test: lower open bound is 3; upper bound is 7; sorted ascending.
292 PASS event.target.result is null
294 Next test: lower bound is 3; upper open bound is 7; sorted ascending.
295 PASS event.target.result is null
297 Next test: lower bound is 3; upper bound is 7; sorted ascending.
298 PASS event.target.result is null
300 Next test: lower open bound is 3; upper open bound is 7; sorted descending.
301 PASS event.target.result is null
303 Next test: lower open bound is 3; upper bound is 7; sorted descending.
304 PASS event.target.result is null
306 Next test: lower bound is 3; upper open bound is 7; sorted descending.
307 PASS event.target.result is null
309 Next test: lower bound is 3; upper bound is 7; sorted descending.
310 PASS event.target.result is null
312 Next test: lower open bound is 4; sorted ascending.
313 PASS event.target.result is null
315 Next test: lower bound is 4; sorted ascending.
316 PASS event.target.result is null
318 Next test: upper open bound is 4; sorted ascending.
319 PASS event.target.result is null
321 Next test: upper bound is 4; sorted ascending.
322 PASS event.target.result is null
324 Next test: lower open bound is 4; sorted descending.
325 PASS event.target.result is null
327 Next test: lower bound is 4; sorted descending.
328 PASS event.target.result is null
330 Next test: upper open bound is 4; sorted descending.
331 PASS event.target.result is null
333 Next test: upper bound is 4; sorted descending.
334 PASS event.target.result is null
336 Next test: lower open bound is 4; upper open bound is 6; sorted ascending.
337 PASS event.target.result is null
339 Next test: lower open bound is 4; upper bound is 6; sorted ascending.
340 PASS event.target.result is null
342 Next test: lower bound is 4; upper open bound is 6; sorted ascending.
343 PASS event.target.result is null
345 Next test: lower bound is 4; upper bound is 6; sorted ascending.
346 PASS event.target.result is null
348 Next test: lower open bound is 4; upper open bound is 6; sorted descending.
349 PASS event.target.result is null
351 Next test: lower open bound is 4; upper bound is 6; sorted descending.
352 PASS event.target.result is null
354 Next test: lower bound is 4; upper open bound is 6; sorted descending.
355 PASS event.target.result is null
357 Next test: lower bound is 4; upper bound is 6; sorted descending.
358 PASS event.target.result is null
360 Next test: lower open bound is 4; upper open bound is 7; sorted ascending.
361 PASS event.target.result is null
363 Next test: lower open bound is 4; upper bound is 7; sorted ascending.
364 PASS event.target.result is null
366 Next test: lower bound is 4; upper open bound is 7; sorted ascending.
367 PASS event.target.result is null
369 Next test: lower bound is 4; upper bound is 7; sorted ascending.
370 PASS event.target.result is null
372 Next test: lower open bound is 4; upper open bound is 7; sorted descending.
373 PASS event.target.result is null
375 Next test: lower open bound is 4; upper bound is 7; sorted descending.
376 PASS event.target.result is null
378 Next test: lower bound is 4; upper open bound is 7; sorted descending.
379 PASS event.target.result is null
381 Next test: lower bound is 4; upper bound is 7; sorted descending.
382 PASS event.target.result is null
384 Next test: lower open bound is 5; sorted ascending.
385 PASS event.target.result is null
387 Next test: lower bound is 5; sorted ascending.
388 PASS event.target.result is null
390 Next test: upper open bound is 5; sorted ascending.
391 PASS event.target.result is null
393 Next test: upper bound is 5; sorted ascending.
394 PASS event.target.result is null
396 Next test: lower open bound is 5; sorted descending.
397 PASS event.target.result is null
399 Next test: lower bound is 5; sorted descending.
400 PASS event.target.result is null
402 Next test: upper open bound is 5; sorted descending.
403 PASS event.target.result is null
405 Next test: upper bound is 5; sorted descending.
406 PASS event.target.result is null
408 Next test: lower open bound is 5; upper open bound is 6; sorted ascending.
409 PASS event.target.result is null
411 Next test: lower open bound is 5; upper bound is 6; sorted ascending.
412 PASS event.target.result is null
414 Next test: lower bound is 5; upper open bound is 6; sorted ascending.
415 PASS event.target.result is null
417 Next test: lower bound is 5; upper bound is 6; sorted ascending.
418 PASS event.target.result is null
420 Next test: lower open bound is 5; upper open bound is 6; sorted descending.
421 PASS event.target.result is null
423 Next test: lower open bound is 5; upper bound is 6; sorted descending.
424 PASS event.target.result is null
426 Next test: lower bound is 5; upper open bound is 6; sorted descending.
427 PASS event.target.result is null
429 Next test: lower bound is 5; upper bound is 6; sorted descending.
430 PASS event.target.result is null
432 Next test: lower open bound is 5; upper open bound is 7; sorted ascending.
433 PASS event.target.result is null
435 Next test: lower open bound is 5; upper bound is 7; sorted ascending.
436 PASS event.target.result is null
438 Next test: lower bound is 5; upper open bound is 7; sorted ascending.
439 PASS event.target.result is null
441 Next test: lower bound is 5; upper bound is 7; sorted ascending.
442 PASS event.target.result is null
444 Next test: lower open bound is 5; upper open bound is 7; sorted descending.
445 PASS event.target.result is null
447 Next test: lower open bound is 5; upper bound is 7; sorted descending.
448 PASS event.target.result is null
450 Next test: lower bound is 5; upper open bound is 7; sorted descending.
451 PASS event.target.result is null
453 Next test: lower bound is 5; upper bound is 7; sorted descending.
454 PASS event.target.result is null
456 Next test: lower open bound is 6; sorted ascending.
457 PASS event.target.result is null
459 Next test: lower bound is 6; sorted ascending.
460 PASS event.target.result is null
462 Next test: upper open bound is 6; sorted ascending.
463 PASS event.target.result is null
465 Next test: upper bound is 6; sorted ascending.
466 PASS event.target.result is null
468 Next test: lower open bound is 6; sorted descending.
469 PASS event.target.result is null
471 Next test: lower bound is 6; sorted descending.
472 PASS event.target.result is null
474 Next test: upper open bound is 6; sorted descending.
475 PASS event.target.result is null
477 Next test: upper bound is 6; sorted descending.
478 PASS event.target.result is null
480 Next test: lower open bound is 6; upper open bound is 6; sorted ascending.
481 Skipping illegal key range.
483 Next test: lower open bound is 6; upper bound is 6; sorted ascending.
484 Skipping illegal key range.
486 Next test: lower bound is 6; upper open bound is 6; sorted ascending.
487 Skipping illegal key range.
489 Next test: lower bound is 6; upper bound is 6; sorted ascending.
490 PASS event.target.result is null
492 Next test: lower open bound is 6; upper open bound is 6; sorted descending.
493 Skipping illegal key range.
495 Next test: lower open bound is 6; upper bound is 6; sorted descending.
496 Skipping illegal key range.
498 Next test: lower bound is 6; upper open bound is 6; sorted descending.
499 Skipping illegal key range.
501 Next test: lower bound is 6; upper bound is 6; sorted descending.
502 PASS event.target.result is null
504 Next test: lower open bound is 6; upper open bound is 7; sorted ascending.
505 Skipping illegal key range.
507 Next test: lower open bound is 6; upper bound is 7; sorted ascending.
508 Skipping illegal key range.
510 Next test: lower bound is 6; upper open bound is 7; sorted ascending.
511 Skipping illegal key range.
513 Next test: lower bound is 6; upper bound is 7; sorted ascending.
514 PASS event.target.result is null
516 Next test: lower open bound is 6; upper open bound is 7; sorted descending.
517 Skipping illegal key range.
519 Next test: lower open bound is 6; upper bound is 7; sorted descending.
520 Skipping illegal key range.
522 Next test: lower bound is 6; upper open bound is 7; sorted descending.
523 Skipping illegal key range.
525 Next test: lower bound is 6; upper bound is 7; sorted descending.
526 PASS event.target.result is null
528 Next test: lower open bound is 7; sorted ascending.
529 PASS event.target.result is null
531 Next test: lower bound is 7; sorted ascending.
532 PASS event.target.result is null
534 Next test: upper open bound is 7; sorted ascending.
535 PASS event.target.result is null
537 Next test: upper bound is 7; sorted ascending.
538 PASS event.target.result is null
540 Next test: lower open bound is 7; sorted descending.
541 PASS event.target.result is null
543 Next test: lower bound is 7; sorted descending.
544 PASS event.target.result is null
546 Next test: upper open bound is 7; sorted descending.
547 PASS event.target.result is null
549 Next test: upper bound is 7; sorted descending.
550 PASS event.target.result is null
552 Next test: lower open bound is 7; upper open bound is 6; sorted ascending.
553 Skipping illegal key range.
555 Next test: lower open bound is 7; upper bound is 6; sorted ascending.
556 Skipping illegal key range.
558 Next test: lower bound is 7; upper open bound is 6; sorted ascending.
559 Skipping illegal key range.
561 Next test: lower bound is 7; upper bound is 6; sorted ascending.
562 PASS event.target.result is null
564 Next test: lower open bound is 7; upper open bound is 6; sorted descending.
565 Skipping illegal key range.
567 Next test: lower open bound is 7; upper bound is 6; sorted descending.
568 Skipping illegal key range.
570 Next test: lower bound is 7; upper open bound is 6; sorted descending.
571 Skipping illegal key range.
573 Next test: lower bound is 7; upper bound is 6; sorted descending.
574 PASS event.target.result is null
576 Next test: lower open bound is 7; upper open bound is 7; sorted ascending.
577 Skipping illegal key range.
579 Next test: lower open bound is 7; upper bound is 7; sorted ascending.
580 Skipping illegal key range.
582 Next test: lower bound is 7; upper open bound is 7; sorted ascending.
583 Skipping illegal key range.
585 Next test: lower bound is 7; upper bound is 7; sorted ascending.
586 PASS event.target.result is null
588 Next test: lower open bound is 7; upper open bound is 7; sorted descending.
589 Skipping illegal key range.
591 Next test: lower open bound is 7; upper bound is 7; sorted descending.
592 Skipping illegal key range.
594 Next test: lower bound is 7; upper open bound is 7; sorted descending.
595 Skipping illegal key range.
597 Next test: lower bound is 7; upper bound is 7; sorted descending.
598 PASS event.target.result is null
600 Next test: null key path sorted ascending.
601 PASS event.target.result is null
603 Next test: null key path sorted descending.
604 PASS event.target.result is null
605 PASS successfullyParsed is true