| Test that specifying a version when opening a non-existent db causes an upgradeneeded event and that the version number is set correctly. |
| |
| 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) |
| Should trigger: |
| 4.1.4: If no database with the given name from the origin origin was found, or if it was deleted during the previous step, then create a database with name name, with 0 as version, and with no object stores. Let db be the new database. |
| 4.1.6: Create a new connection to db and let connection represent it. |
| 4.1.7: If the version of db is lower than version, then run the steps for running a "versionchange" transaction using connection, version, request and upgrade callback. |
| 4.1.9: Return connection. |
| request = indexedDB.open(dbname, 7) |
| PASS String(request) is "[object IDBOpenDBRequest]" |
| |
| PASS In the upgradeneeded event hander: |
| Test 4.8.9.1: |
| db = event.target.result |
| PASS String(db) is "[object IDBDatabase]" |
| Test 4.8.9.3: |
| PASS event.oldVersion is 0 |
| PASS event.newVersion is 7 |
| PASS event.target.readyState is "done" |
| Test 4.1.4: |
| PASS db.name is dbname |
| PASS db.version is 7 |
| PASS db.objectStoreNames.length is 0 |
| transaction = event.target.transaction |
| PASS String(transaction) is "[object IDBTransaction]" |
| os = db.createObjectStore("someOS") |
| sawTransactionComplete = true |
| |
| openSuccess(): |
| Test 4.1.7, that a versionchange transaction was run. |
| PASS sawUpgradeNeeded is true |
| PASS sawTransactionComplete is true |
| db = event.target.result |
| Kind of test 4.1.9: |
| PASS String(db) is "[object IDBDatabase]" |
| PASS db.version is 7 |
| PASS successfullyParsed is true |
| |
| TEST COMPLETE |
| |