blob: 4fd4dd268bc9bde809f878a1e2e398fc40ce79b0 [file] [log] [blame]
Verify that that cursors weakly hold request, and work if request is GC'd
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')
onOpen():
db = event.target.result
tx = db.transaction('store', 'readonly')
store = tx.objectStore('store')
Create 1000 cursorRequests and check their results in otherRequestSuccess().
otherRequest = store.get(0)
otherRequestSuccess():
Verify that results of openCursor requests can be accessed lazily.
gc()
Ensure requests are not released if cursors are still around.
cursorRequests = null
gc()
PASS isAnyCollected(cursorRequestObservers) is false
Ensure requests are not released if they are pending.
cursors = null
gc()
PASS isAnyCollected(cursorObservers) is false
PASS isAnyCollected(cursorRequestObservers) is false
finalRequest = store.get(0)
finalRequestSuccess():
Ensure requests and cursors are released.
PASS cursors is non-null.
PASS cursors.length is 1000
cursors = null
gc()
PASS isAnyCollected(cursorObservers) is true
PASS isAnyCollected(cursorRequestObservers) is true
PASS successfullyParsed is true
TEST COMPLETE