58 lines
1.6 KiB
Plaintext
58 lines
1.6 KiB
Plaintext
Test exceptions in IDBRequest handlers cause aborts.
|
|
|
|
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)
|
|
store = db.createObjectStore('storeName', null)
|
|
store.add({x: 'value', y: 'zzz'}, 'key')
|
|
|
|
trans = db.transaction(['storeName'], 'readwrite')
|
|
trans.onabort = transactionAborted1
|
|
trans.oncomplete = unexpectedCompleteCallback
|
|
store = trans.objectStore('storeName')
|
|
store.add({x: 'value2', y: 'zzz2'}, 'key2')
|
|
|
|
event.preventDefault()
|
|
Throwing
|
|
|
|
PASS Got expected error: 'this exception is expected'
|
|
PASS The transaction was aborted.
|
|
trans = db.transaction(['storeName'], 'readwrite')
|
|
trans.onabort = transactionAborted2
|
|
trans.oncomplete = unexpectedCompleteCallback
|
|
store = trans.objectStore('storeName')
|
|
store.add({x: 'value', y: 'zzz'}, 'key')
|
|
|
|
event.preventDefault()
|
|
Throwing
|
|
|
|
PASS Got expected error: 'this exception is expected'
|
|
PASS The transaction was aborted.
|
|
trans = db.transaction(['storeName'], 'readwrite')
|
|
trans.onabort = unexpectedAbortCallback
|
|
trans.oncomplete = transactionCompleted1
|
|
store = trans.objectStore('storeName')
|
|
store.add({x: 'value3', y: 'zzz3'}, 'key3')
|
|
|
|
event.preventDefault()
|
|
Throwing within a try block
|
|
|
|
PASS The transaction completed.
|
|
trans = db.transaction(['storeName'], 'readwrite')
|
|
trans.onabort = unexpectedAbortCallback
|
|
trans.oncomplete = transactionCompleted2
|
|
store = trans.objectStore('storeName')
|
|
store.add({x: 'value4', y: 'zzz4'}, 'key4')
|
|
PASS key4 added
|
|
|
|
PASS The transaction completed.
|
|
|
|
PASS successfullyParsed is true
|
|
|
|
TEST COMPLETE
|
|
|