Test IndexedDB opening database connections during transactions

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)
dbc1.createObjectStore('storeName')
database preparation complete

starting transaction
state = 'starting'
trans = dbc1.transaction('storeName', 'readwrite')
the transaction is kept alive with a series of puts until opens are complete

trying to open the same database
openreq2 = indexedDB.open(dbname)

trying to open a different database
openreq3 = indexedDB.open(dbname + '2')

openreq2.onsuccess
PASS state is "starting"
state = 'open2complete'

openreq3.onsuccess
PASS state is "open2complete"
state = 'open3complete'

transaction complete
PASS state is "open3complete"

PASS successfullyParsed is true

TEST COMPLETE

