57 lines
1.3 KiB
Plaintext
57 lines
1.3 KiB
Plaintext
Ensure IndexedDB's write operations invalidate cursor prefetch caches
|
|
|
|
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)
|
|
|
|
prepareDatabase():
|
|
db = event.target.result
|
|
store = db.createObjectStore('store')
|
|
|
|
onOpenSuccess():
|
|
db = event.target.result
|
|
|
|
-------------------------------------------
|
|
|
|
doPrefetchInvalidationTest():
|
|
store = db.transaction('store', 'readwrite').objectStore('store')
|
|
Populate the store with 100 records.
|
|
cursorRequest = store.openCursor()
|
|
|
|
continue50Times():
|
|
PASS cursorRequest.result is non-null.
|
|
|
|
doOperationAndContinue():
|
|
store.delete(IDBKeyRange.bound(-Infinity, +Infinity))
|
|
cursor = cursorRequest.result
|
|
cursor.continue()
|
|
|
|
onContinueSuccess():
|
|
PASS cursorRequest.result is null
|
|
|
|
-------------------------------------------
|
|
|
|
doPrefetchInvalidationTest():
|
|
store = db.transaction('store', 'readwrite').objectStore('store')
|
|
Populate the store with 100 records.
|
|
cursorRequest = store.openCursor()
|
|
|
|
continue50Times():
|
|
PASS cursorRequest.result is non-null.
|
|
|
|
doOperationAndContinue():
|
|
store.clear()
|
|
cursor = cursorRequest.result
|
|
cursor.continue()
|
|
|
|
onContinueSuccess():
|
|
PASS cursorRequest.result is null
|
|
PASS successfullyParsed is true
|
|
|
|
TEST COMPLETE
|
|
|