33 lines
1.3 KiB
Plaintext
33 lines
1.3 KiB
Plaintext
Makes sure that an OpenDBRequest that would result in a version change is blocked because there are still open connections, it gets the blocked event. Also makes sure that request gets unblocked when the open connections close.
|
|
|
|
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;
|
|
connection.onversionchange = firstVersionChange;
|
|
objectStore = connection.createObjectStore('testObjectStore');
|
|
First version change transaction complete
|
|
firstTransaction = connection.transaction('testObjectStore', 'readwrite');
|
|
objectStore = firstTransaction.objectStore('testObjectStore');
|
|
objectStorePutLoop();
|
|
secondRequest = indexedDB.open(dbname, 2);
|
|
secondRequest.onblocked = secondBlocked;
|
|
secondRequest.onupgradeneeded = secondUpgradeNeeded;
|
|
receivedVersionChange = true;
|
|
++blockedCount
|
|
PASS blockedEvent.oldVersion is 1
|
|
PASS blockedEvent.newVersion is 2
|
|
PASS blockedEvent.target.readyState is 'pending'
|
|
2nd upgradeNeeded
|
|
PASS blockedCount is 1
|
|
PASS event.target.result.version is 2
|
|
event.target.result.close();
|
|
PASS successfullyParsed is true
|
|
|
|
TEST COMPLETE
|
|
|