138 lines
3.0 KiB
Plaintext
138 lines
3.0 KiB
Plaintext
Test IndexedDB's cursor skips deleted entries.
|
|
|
|
On success, you will see a series of "PASS" messages, followed by "TEST COMPLETE".
|
|
|
|
|
|
indexedDB = self.indexedDB || self.webkitIndexedDB || self.mozIndexedDB || self.msIndexedDB || self.OIndexedDB;
|
|
|
|
indexedDB.deleteDatabase(dbname)
|
|
indexedDB.open(dbname)
|
|
setVersionSuccess():
|
|
trans = event.target.transaction
|
|
PASS trans is non-null.
|
|
objectStore = db.createObjectStore('store', {keyPath: 'id'})
|
|
objectStore.createIndex('nameIndex', 'name')
|
|
|
|
resetObjectStore():
|
|
|
|
basicCursorTest()
|
|
trans = db.transaction(['store'], 'readwrite')
|
|
|
|
testCursor():
|
|
trans.objectStore('store').openCursor(IDBKeyRange.lowerBound(0))
|
|
0: Alpha
|
|
1: Bravo
|
|
request = trans.objectStore('store').delete(0)
|
|
2: Charlie
|
|
request = trans.objectStore('store').delete(25)
|
|
3: Delta
|
|
request = trans.objectStore('store').delete(5)
|
|
request = trans.objectStore('store').delete(6)
|
|
request = trans.objectStore('store').delete(7)
|
|
4: Echo
|
|
8: India
|
|
9: Juliet
|
|
10: Kilo
|
|
request = trans.objectStore('store').delete(10)
|
|
11: Lima
|
|
12: Mike
|
|
request = trans.objectStore('store').delete(13)
|
|
14: Oscar
|
|
15: Papa
|
|
request = trans.objectStore('store').delete(14)
|
|
16: Quebec
|
|
17: Romeo
|
|
18: Sierra
|
|
19: Tango
|
|
20: Uniform
|
|
request = trans.objectStore('store').delete(17)
|
|
request = trans.objectStore('store').delete(18)
|
|
21: Victor
|
|
22: Whiskey
|
|
23: X-ray
|
|
24: Yankee
|
|
|
|
|
|
resetObjectStore():
|
|
|
|
reverseCursorTest():
|
|
|
|
testCursor():
|
|
trans.objectStore('store').openCursor(IDBKeyRange.lowerBound(0), 'prev')
|
|
25: Zulu
|
|
24: Yankee
|
|
request = trans.objectStore('store').delete(25)
|
|
23: X-ray
|
|
request = trans.objectStore('store').delete(0)
|
|
22: Whiskey
|
|
request = trans.objectStore('store').delete(20)
|
|
request = trans.objectStore('store').delete(19)
|
|
request = trans.objectStore('store').delete(18)
|
|
21: Victor
|
|
17: Romeo
|
|
16: Quebec
|
|
15: Papa
|
|
request = trans.objectStore('store').delete(15)
|
|
14: Oscar
|
|
13: November
|
|
request = trans.objectStore('store').delete(12)
|
|
11: Lima
|
|
10: Kilo
|
|
request = trans.objectStore('store').delete(11)
|
|
9: Juliet
|
|
8: India
|
|
7: Hotel
|
|
6: Golf
|
|
5: Foxtrot
|
|
request = trans.objectStore('store').delete(7)
|
|
request = trans.objectStore('store').delete(8)
|
|
4: Echo
|
|
3: Delta
|
|
2: Charlie
|
|
1: Bravo
|
|
|
|
|
|
resetObjectStore():
|
|
|
|
indexCursorTest():
|
|
|
|
testCursor():
|
|
trans.objectStore('store').index('nameIndex').openCursor(IDBKeyRange.lowerBound('Alpha'))
|
|
0: Alpha
|
|
1: Bravo
|
|
request = trans.objectStore('store').delete(0)
|
|
2: Charlie
|
|
request = trans.objectStore('store').delete(25)
|
|
3: Delta
|
|
request = trans.objectStore('store').delete(5)
|
|
request = trans.objectStore('store').delete(6)
|
|
request = trans.objectStore('store').delete(7)
|
|
4: Echo
|
|
8: India
|
|
9: Juliet
|
|
10: Kilo
|
|
request = trans.objectStore('store').delete(10)
|
|
11: Lima
|
|
12: Mike
|
|
request = trans.objectStore('store').delete(13)
|
|
14: Oscar
|
|
15: Papa
|
|
request = trans.objectStore('store').delete(14)
|
|
16: Quebec
|
|
17: Romeo
|
|
18: Sierra
|
|
19: Tango
|
|
20: Uniform
|
|
request = trans.objectStore('store').delete(17)
|
|
request = trans.objectStore('store').delete(18)
|
|
21: Victor
|
|
22: Whiskey
|
|
23: X-ray
|
|
24: Yankee
|
|
|
|
transactionComplete():
|
|
PASS successfullyParsed is true
|
|
|
|
TEST COMPLETE
|
|
|