| Test IndexedDB database metadata mutation/snapshotting |
| |
| 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) |
| connection1store1 = connection1.createObjectStore('store1') |
| connection1store1.createIndex('index1', 'path') |
| PASS connection1.version is 1 |
| PASS connection1.objectStoreNames.length is 1 |
| PASS connection1store1.indexNames.length is 1 |
| Connection's properties should be snapshotted on close |
| connection1.close() |
| |
| secondOpen(): |
| request = indexedDB.open(dbname, 2) |
| connection2 = request.result |
| trans = request.transaction |
| connection2.createObjectStore('store2') |
| connection2store1 = trans.objectStore('store1') |
| connection2store1.createIndex('index2', 'path') |
| PASS connection2.version is 2 |
| PASS connection2.objectStoreNames.length is 2 |
| PASS connection2store1.indexNames.length is 2 |
| Connection's properties should be snapshotted on close |
| connection2.close() |
| |
| thirdOpen(): |
| request = indexedDB.open(dbname, 3) |
| connection3 = request.result |
| trans = request.transaction |
| connection3.createObjectStore('store3') |
| connection3store1 = trans.objectStore('store1') |
| connection3store1.createIndex('index3', 'path') |
| PASS connection3.version is 3 |
| PASS connection3.objectStoreNames.length is 3 |
| PASS connection3store1.indexNames.length is 3 |
| Connection's properties should be reverted on abort |
| trans.abort() |
| Connection's properties should be snapshotted on close |
| connection3.close() |
| |
| fourthOpen(): |
| request = indexedDB.open(dbname, 4) |
| connection4 = request.result |
| trans = request.transaction |
| connection4.createObjectStore('store4') |
| connection4store1 = trans.objectStore('store1') |
| connection4store1.createIndex('index4', 'path') |
| PASS connection4.version is 4 |
| PASS connection4.objectStoreNames.length is 3 |
| PASS connection4store1.indexNames.length is 3 |
| Connection's properties should be snapshotted on close |
| connection4.close() |
| |
| checkState(): |
| PASS connection1.version is 1 |
| PASS connection1.objectStoreNames.length is 1 |
| PASS connection1store1.indexNames.length is 1 |
| |
| PASS connection2.version is 2 |
| PASS connection2.objectStoreNames.length is 2 |
| PASS connection2store1.indexNames.length is 2 |
| |
| PASS connection3.version is 2 |
| PASS connection3.objectStoreNames.length is 2 |
| PASS connection3store1.indexNames.length is 2 |
| |
| PASS connection4.version is 4 |
| PASS connection4.objectStoreNames.length is 3 |
| PASS connection4store1.indexNames.length is 3 |
| |
| PASS successfullyParsed is true |
| |
| TEST COMPLETE |
| |