57 lines
1.3 KiB
Plaintext
57 lines
1.3 KiB
Plaintext
Check that transactions in different databases can run in parallel.
|
|
|
|
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;
|
|
|
|
dbname1 = dbname + '1'
|
|
dbname2 = dbname + '2'
|
|
|
|
deleteDatabase1():
|
|
indexedDB.deleteDatabase(dbname1)
|
|
|
|
deleteDatabase2():
|
|
indexedDB.deleteDatabase(dbname2)
|
|
|
|
openDatabase1():
|
|
indexedDB.open(dbname1, 1)
|
|
|
|
openOnUpgradeNeeded1():
|
|
db1 = event.target.result
|
|
store1 = db1.createObjectStore('store')
|
|
store1.put(0, 0)
|
|
|
|
openOnSuccess1():
|
|
db1 = event.target.result
|
|
|
|
openDatabase2():
|
|
indexedDB.open(dbname2, 1)
|
|
|
|
onUpgradeNeeded2():
|
|
db2 = event.target.result
|
|
store2 = db2.createObjectStore('store')
|
|
|
|
openOnSuccess2():
|
|
db2 = event.target.result
|
|
|
|
startWork():
|
|
transaction1 = db1.transaction('store', 'readwrite')
|
|
transaction2 = db2.transaction('store', 'readwrite')
|
|
transaction1PutSuccess = false
|
|
transaction2PutSuccess = false
|
|
Keep both transactions alive until each has reported at least one successful operation
|
|
|
|
onTransactionComplete():
|
|
first transaction complete, still waiting...
|
|
|
|
onTransactionComplete():
|
|
PASS transaction1PutSuccess is true
|
|
PASS transaction2PutSuccess is true
|
|
db1.close()
|
|
db2.close()
|
|
PASS successfullyParsed is true
|
|
|
|
TEST COMPLETE
|
|
|