Test that when db.close is called in upgradeneeded, the db is cleaned up on refresh. 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) request = indexedDB.open(dbname, 7) upgradeNeeded(): db = event.target.result PASS event.newVersion is 7 transaction = event.target.transaction db.createObjectStore('os') db.close() transaction.oncomplete: sawTransactionComplete = true openError(): PASS sawTransactionComplete is true PASS event.target.error.name is 'AbortError' PASS event.result is undefined Verify that the old connection is unchanged and was closed: PASS db is non-null. PASS db.version is 7 Expecting exception from db.transaction('os') PASS Exception was thrown. PASS code is DOMException.INVALID_STATE_ERR PASS ename is 'InvalidStateError' Exception message: Failed to execute 'transaction' on 'IDBDatabase': The database connection is closing. PASS successfullyParsed is true TEST COMPLETE