| 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 |
| |