| Makes sure that a read-only transaction scheduled after a read-write transaction with overlapping scope does not start until the read-write transaction completes |
| |
| 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) |
| connection = event.target.result; |
| objectStore = connection.createObjectStore('store'); |
| transaction1 = connection.transaction('store', 'readwrite'); |
| transaction2 = connection.transaction('store', 'readonly'); |
| getRequest = transaction2.objectStore('store').get('foo'); |
| Starting a series of 20 puts in the readwrite transaction to make sure the readonly transaction is deferred for some time |
| putCount = 0; |
| readWriteTransactionDone = false; |
| getRequestDone = false; |
| 20th put complete |
| Transaction 1 (readwrite) completed with 20 puts completed. |
| PASS getRequestDone is false |
| PASS putCount is 20 |
| Getting the value of 'foo' completed - This means the readonly transaction started. At this point 20 puts completed in the readwrite transaction. |
| PASS readWriteTransactionDone is true |
| PASS putCount is 20 |
| Transaction 1 (readonly) completed |
| PASS readWriteTransactionDone is true |
| PASS getRequestDone is true |
| PASS putCount is 20 |
| PASS successfullyParsed is true |
| |
| TEST COMPLETE |
| |