blob: e048ff9fd600b151161251f1a6ecd04ece14a013 [file] [log] [blame]
Test the deleteDatabase call and its interaction with open/setVersion
On success, you will see a series of "PASS" messages, followed by "TEST COMPLETE".
indexedDB = window.indexedDB || window.webkitIndexedDB || window.mozIndexedDB;
PASS indexedDB == null is false
TEST: deleteDatabase blocked on open handles
window.dbname = 'test1'; window.ver = 1; window.steps = []
'h.open'
'h.open.onsuccess'
'deleteDatabase()'
'h.onversionchange'
h closing, but not immediately
'deleteDatabase().onblocked'
'h.close'
'deleteDatabase().onsuccess'
PASS window.steps.toString() is "h.open,h.open.onsuccess,deleteDatabase(),h.onversionchange,deleteDatabase().onblocked,h.close,deleteDatabase().onsuccess"
TEST: deleteDatabase not blocked when handles close immediately
window.dbname = 'test2'; window.ver = 1; window.steps = []
'h.open'
'h.open.onsuccess'
'deleteDatabase()'
'h.onversionchange'
h closing immediately
'h.close'
'deleteDatabase().onblocked'
'deleteDatabase().onsuccess'
NOTE: Will FAIL with extra bogus deleteDatabase().onblocked step; https://bugs.webkit.org/show_bug.cgi?id=71130
FAIL window.steps.toString() should be h.open,h.open.onsuccess,deleteDatabase(),h.onversionchange,h.close,deleteDatabase().onsuccess. Was h.open,h.open.onsuccess,deleteDatabase(),h.onversionchange,h.close,deleteDatabase().onblocked,deleteDatabase().onsuccess.
TEST: deleteDatabase is delayed if a VERSION_CHANGE transaction is running
window.dbname = 'test3'; window.ver = 1; window.steps = []
'h.open'
'h.open.onsuccess'
'h.setVersion'
'deleteDatabase()'
'h.setVersion.onsuccess'
'h.setVersion.transaction-complete'
'h.onversionchange'
h closing, but not immediately
'deleteDatabase().onblocked'
'h.close'
'deleteDatabase().onsuccess'
PASS window.steps.toString() is "h.open,h.open.onsuccess,h.setVersion,deleteDatabase(),h.setVersion.onsuccess,h.setVersion.transaction-complete,h.onversionchange,deleteDatabase().onblocked,h.close,deleteDatabase().onsuccess"
PASS successfullyParsed is true
TEST COMPLETE