| Test event propogation on IDBRequest. |
| |
| 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') |
| Verify that handler fires and that not preventing default will result in an abort |
| trans = db.transaction(['storeName'], 'readwrite') |
| trans.onabort = transactionAborted |
| trans.oncomplete = unexpectedCompleteCallback |
| trans.onerror = allowDefault |
| store = trans.objectStore('storeName') |
| store.add({x: 'value', y: 'zzz'}, 'key') |
| PASS Event handler fired |
| Doing nothing to prevent the default action... |
| PASS handlerFired is true |
| |
| Verifing error |
| trans = db.transaction(['storeName'], 'readwrite') |
| trans.onabort = transactionAborted2 |
| trans.oncomplete = unexpectedAbortCallback |
| trans.addEventListener('error', errorCaptureCallback, true) |
| trans.addEventListener('error', errorBubbleCallback, false) |
| trans.addEventListener('success', unexpectedSuccessCallback, true) |
| trans.addEventListener('success', unexpectedSuccessCallback, false) |
| db.addEventListener('error', dbErrorCaptureCallback, true) |
| db.addEventListener('error', dbErrorBubbleCallback, false) |
| db.addEventListener('success', unexpectedSuccessCallback, true) |
| db.addEventListener('success', unexpectedSuccessCallback, false) |
| store = trans.objectStore('storeName') |
| store.add({x: 'value', y: 'zzz'}, 'key') |
| |
| In IDBDatabase error capture |
| PASS dbCaptureFired is false |
| PASS captureFired is false |
| PASS requestFired is false |
| PASS bubbleFired is false |
| PASS dbBubbleFired is false |
| PASS event.target is request |
| PASS event.currentTarget is db |
| |
| In IDBTransaction error capture |
| PASS dbCaptureFired is true |
| PASS captureFired is false |
| PASS requestFired is false |
| PASS bubbleFired is false |
| PASS dbBubbleFired is false |
| PASS event.target is request |
| PASS event.currentTarget is trans |
| |
| In IDBRequest handler |
| PASS dbCaptureFired is true |
| PASS captureFired is true |
| PASS requestFired is false |
| PASS bubbleFired is false |
| PASS dbBubbleFired is false |
| PASS event.target is request |
| PASS event.currentTarget is request |
| |
| In IDBTransaction error bubble |
| PASS dbCaptureFired is true |
| PASS captureFired is true |
| PASS requestFired is true |
| PASS bubbleFired is false |
| PASS dbBubbleFired is false |
| PASS event.target is request |
| PASS event.currentTarget is trans |
| |
| In IDBDatabase error bubble |
| PASS dbCaptureFired is true |
| PASS captureFired is true |
| PASS requestFired is true |
| PASS bubbleFired is true |
| PASS dbBubbleFired is false |
| PASS event.target is request |
| PASS event.currentTarget is db |
| |
| Transaction aborted |
| PASS dbCaptureFired is true |
| PASS captureFired is true |
| PASS requestFired is true |
| PASS bubbleFired is true |
| PASS dbBubbleFired is true |
| |
| Verifing success. |
| trans = db.transaction(['storeName'], 'readwrite') |
| trans.oncomplete = transactionComplete |
| trans.onabort = unexpectedAbortCallback |
| trans.addEventListener('success', successCaptureCallback, true) |
| trans.addEventListener('success', successBubbleCallback, false) |
| trans.addEventListener('error', unexpectedErrorCallback, true) |
| trans.addEventListener('error', unexpectedErrorCallback, false) |
| db.removeEventListener('error', dbErrorCaptureCallback, true) |
| db.removeEventListener('error', dbErrorBubbleCallback, false) |
| db.removeEventListener('success', unexpectedSuccessCallback, true) |
| db.removeEventListener('success', unexpectedSuccessCallback, false) |
| db.addEventListener('success', dbSuccessCaptureCallback, true) |
| db.addEventListener('success', dbSuccessBubbleCallback, false) |
| db.addEventListener('error', unexpectedErrorCallback, true) |
| db.addEventListener('error', unexpectedErrorCallback, false) |
| store = trans.objectStore('storeName') |
| store.add({x: 'value', y: 'zzz'}, 'key2') |
| |
| In IDBDatabase success capture |
| PASS dbCaptureFired is false |
| PASS captureFired is false |
| PASS requestFired is false |
| PASS bubbleFired is false |
| PASS dbBubbleFired is false |
| PASS event.target is request |
| PASS event.currentTarget is db |
| |
| In IDBTransaction success capture |
| PASS dbCaptureFired is true |
| PASS captureFired is false |
| PASS requestFired is false |
| PASS bubbleFired is false |
| PASS dbBubbleFired is false |
| PASS event.target is request |
| PASS event.currentTarget is trans |
| |
| In IDBRequest handler |
| PASS dbCaptureFired is true |
| PASS captureFired is true |
| PASS requestFired is false |
| PASS bubbleFired is false |
| PASS dbBubbleFired is false |
| PASS event.target is request |
| PASS event.currentTarget is request |
| |
| Transaction completed |
| PASS dbCaptureFired is true |
| PASS captureFired is true |
| PASS requestFired is true |
| PASS bubbleFired is false |
| PASS dbBubbleFired is false |
| |
| PASS successfullyParsed is true |
| |
| TEST COMPLETE |
| |