47 lines
1.6 KiB
Plaintext
47 lines
1.6 KiB
Plaintext
Regression test for WK82678 - don't commit after a blocked event
|
|
|
|
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)
|
|
db.onversionchange = onVersionChange
|
|
store = db.createObjectStore('store1')
|
|
|
|
holdConnection():
|
|
holding connection until versionchange event
|
|
|
|
Starting worker: resources/dont-commit-on-blocked-worker.js
|
|
[Worker] indexedDB = self.indexedDB || self.webkitIndexedDB || self.mozIndexedDB || self.msIndexedDB || self.OIndexedDB;
|
|
[Worker]
|
|
[Worker] opening database connection
|
|
[Worker] request = indexedDB.open('dont-commit-on-blocked.html', 2)
|
|
[Worker] state = 'setversion'
|
|
[Worker] request.onblocked = onSetVersionBlocked
|
|
[Worker] request.onupgradeneeded = onSetVersionSuccess
|
|
[Worker] spinning for 100ms to let events be queued but prevent dispatch
|
|
[Worker] done spinning
|
|
[Worker]
|
|
[Worker] onSetVersionBlocked():
|
|
PASS [Worker] state is "setversion"
|
|
[Worker] state = 'blocked'
|
|
[Worker]
|
|
[Worker] onSetVersionSuccess():
|
|
[Worker] db = event.target.result
|
|
PASS [Worker] state is "blocked"
|
|
[Worker] state = 'success'
|
|
[Worker] creating object store - will fail if transaction commited after blocked event
|
|
[Worker] db.createObjectStore('store2')
|
|
[Worker]
|
|
[Worker] onTransactionComplete
|
|
PASS [Worker] state is "success"
|
|
PASS [Worker] Number(db.version) is 2
|
|
PASS [Worker] db.objectStoreNames.contains('store1') is true
|
|
PASS [Worker] db.objectStoreNames.contains('store2') is true
|
|
PASS successfullyParsed is true
|
|
|
|
TEST COMPLETE
|
|
|