beidson@apple.com | 422df6a | 2016-01-19 06:02:30 +0000 | [diff] [blame] | 1 | Test IndexedDB IDBDatabase internal delete pending flag |
| 2 | |
| 3 | On success, you will see a series of "PASS" messages, followed by "TEST COMPLETE". |
| 4 | |
| 5 | |
| 6 | indexedDB = self.indexedDB || self.webkitIndexedDB || self.mozIndexedDB || self.msIndexedDB || self.OIndexedDB; |
| 7 | |
| 8 | indexedDB.deleteDatabase(dbname) |
| 9 | indexedDB.open(dbname, 5) |
| 10 | connection.createObjectStore('store') |
| 11 | PASS connection.objectStoreNames.length is 1 |
| 12 | |
| 13 | Issue a delete request against the database - should be blocked by the open connection: |
| 14 | deleteRequest = indexedDB.deleteDatabase(dbname) |
| 15 | state = 0 |
| 16 | |
| 17 | Open a second connection - should be delayed: |
| 18 | openRequest = indexedDB.open(dbname) |
| 19 | |
| 20 | connection received versionchange event - ignoring. |
| 21 | PASS ++state is 1 |
| 22 | |
| 23 | deleteRequest received blocked event. |
| 24 | PASS ++state is 2 |
| 25 | connection.close() |
| 26 | deleteRequest should now be unblocked. |
| 27 | |
| 28 | deleteRequest received success event. |
| 29 | PASS ++state is 3 |
| 30 | openRequest should now be unblocked. |
| 31 | |
| 32 | PASS openRequest received success event. |
| 33 | PASS ++state is 4 |
| 34 | connection2 = openRequest.result |
| 35 | connection2 should reference a different database: |
| 36 | PASS connection2.version == connection.version is false |
| 37 | PASS connection2.objectStoreNames.length is 0 |
| 38 | |
| 39 | PASS successfullyParsed is true |
| 40 | |
| 41 | TEST COMPLETE |
| 42 | |