OLD | NEW |
1 if (this.importScripts) { | 1 if (this.importScripts) { |
2 importScripts('../../../resources/js-test.js'); | 2 importScripts('../../../resources/js-test.js'); |
3 importScripts('shared.js'); | 3 importScripts('shared.js'); |
4 } | 4 } |
5 | 5 |
6 description("Test event propogation on IDBRequest."); | 6 description("Test event propogation on IDBRequest."); |
7 | 7 |
8 indexedDBTest(prepareDatabase, startTest); | 8 indexedDBTest(prepareDatabase, startTest); |
9 function prepareDatabase() | 9 function prepareDatabase() |
10 { | 10 { |
11 db = event.target.result; | 11 db = event.target.result; |
12 event.target.transaction.onabort = unexpectedAbortCallback; | 12 event.target.transaction.onabort = unexpectedAbortCallback; |
13 | 13 |
14 store = evalAndLog("store = db.createObjectStore('storeName', null)"); | 14 store = evalAndLog("store = db.createObjectStore('storeName', null)"); |
15 request = evalAndLog("store.add({x: 'value', y: 'zzz'}, 'key')"); | 15 request = evalAndLog("store.add({x: 'value', y: 'zzz'}, 'key')"); |
16 request.onerror = unexpectedErrorCallback; | 16 request.onerror = unexpectedErrorCallback; |
17 } | 17 } |
18 | 18 |
19 function startTest() | 19 function startTest() |
20 { | 20 { |
21 debug("Verify that handler fires and that not preventing default will result
in an abort"); | 21 debug("Verify that handler fires and that not preventing default will result
in an abort"); |
22 trans = evalAndLog("trans = db.transaction(['storeName'], 'readwrite')"); | 22 trans = evalAndLog("trans = db.transaction(['storeName'], 'readwrite')"); |
23 evalAndLog("trans.onabort = transactionAborted"); | 23 evalAndLog("trans.onabort = transactionAborted"); |
24 evalAndLog("trans.oncomplete = unexpectedCompleteCallback"); | 24 evalAndLog("trans.oncomplete = unexpectedCompleteCallback"); |
25 evalAndLog("trans.onerror = allowDefault"); | 25 evalAndLog("trans.onerror = allowDefault"); |
26 store = evalAndLog("store = trans.objectStore('storeName')"); | 26 store = evalAndLog("store = trans.objectStore('storeName')"); |
27 request = evalAndLog("store.add({x: 'value', y: 'zzz'}, 'key')"); | 27 request = evalAndLog("store.add({x: 'value', y: 'zzz'}, 'key')"); |
| 28 expectError(); |
28 request.onsuccess = unexpectedSuccessCallback; | 29 request.onsuccess = unexpectedSuccessCallback; |
29 handlerFired = false; | 30 handlerFired = false; |
30 } | 31 } |
31 | 32 |
32 function allowDefault() | 33 function allowDefault() |
33 { | 34 { |
34 testPassed("Event handler fired"); | 35 testPassed("Event handler fired"); |
35 debug("Doing nothing to prevent the default action..."); | 36 debug("Doing nothing to prevent the default action..."); |
36 handlerFired = true; | 37 handlerFired = true; |
37 } | 38 } |
38 | 39 |
39 function transactionAborted() | 40 function transactionAborted() |
40 { | 41 { |
41 shouldBeTrue("handlerFired"); | 42 shouldBeTrue("handlerFired"); |
| 43 |
42 debug(""); | 44 debug(""); |
43 debug("Verifing error"); | 45 debug("Verifing error"); |
44 trans = evalAndLog("trans = db.transaction(['storeName'], 'readwrite')"); | 46 trans = evalAndLog("trans = db.transaction(['storeName'], 'readwrite')"); |
45 evalAndLog("trans.onabort = transactionAborted2"); | 47 evalAndLog("trans.onabort = transactionAborted2"); |
46 evalAndLog("trans.oncomplete = unexpectedAbortCallback"); | 48 evalAndLog("trans.oncomplete = unexpectedAbortCallback"); |
47 evalAndLog("trans.addEventListener('error', errorCaptureCallback, true)"); | 49 evalAndLog("trans.addEventListener('error', errorCaptureCallback, true)"); |
48 evalAndLog("trans.addEventListener('error', errorBubbleCallback, false)"); | 50 evalAndLog("trans.addEventListener('error', errorBubbleCallback, false)"); |
49 evalAndLog("trans.addEventListener('success', unexpectedSuccessCallback, tru
e)"); | 51 evalAndLog("trans.addEventListener('success', unexpectedSuccessCallback, tru
e)"); |
50 evalAndLog("trans.addEventListener('success', unexpectedSuccessCallback, fal
se)"); | 52 evalAndLog("trans.addEventListener('success', unexpectedSuccessCallback, fal
se)"); |
51 evalAndLog("db.addEventListener('error', dbErrorCaptureCallback, true)"); | 53 evalAndLog("db.addEventListener('error', dbErrorCaptureCallback, true)"); |
52 evalAndLog("db.addEventListener('error', dbErrorBubbleCallback, false)"); | 54 evalAndLog("db.addEventListener('error', dbErrorBubbleCallback, false)"); |
53 evalAndLog("db.addEventListener('success', unexpectedSuccessCallback, true)"
); | 55 evalAndLog("db.addEventListener('success', unexpectedSuccessCallback, true)"
); |
54 evalAndLog("db.addEventListener('success', unexpectedSuccessCallback, false)
"); | 56 evalAndLog("db.addEventListener('success', unexpectedSuccessCallback, false)
"); |
55 store = evalAndLog("store = trans.objectStore('storeName')"); | 57 store = evalAndLog("store = trans.objectStore('storeName')"); |
56 request = evalAndLog("store.add({x: 'value', y: 'zzz'}, 'key')"); | 58 request = evalAndLog("store.add({x: 'value', y: 'zzz'}, 'key')"); |
| 59 expectError(); |
57 request.onsuccess = unexpectedSuccessCallback; | 60 request.onsuccess = unexpectedSuccessCallback; |
58 request.onerror = errorFiredCallback; | 61 request.onerror = errorFiredCallback; |
59 dbCaptureFired = false; | 62 dbCaptureFired = false; |
60 captureFired = false; | 63 captureFired = false; |
61 requestFired = false; | 64 requestFired = false; |
62 bubbleFired = false; | 65 bubbleFired = false; |
63 dbBubbleFired = false; | 66 dbBubbleFired = false; |
64 } | 67 } |
65 | 68 |
66 function dbErrorCaptureCallback() | 69 function dbErrorCaptureCallback() |
(...skipping 68 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
135 | 138 |
136 function transactionAborted2() | 139 function transactionAborted2() |
137 { | 140 { |
138 debug(""); | 141 debug(""); |
139 debug("Transaction aborted"); | 142 debug("Transaction aborted"); |
140 shouldBeTrue("dbCaptureFired"); | 143 shouldBeTrue("dbCaptureFired"); |
141 shouldBeTrue("captureFired"); | 144 shouldBeTrue("captureFired"); |
142 shouldBeTrue("requestFired"); | 145 shouldBeTrue("requestFired"); |
143 shouldBeTrue("bubbleFired"); | 146 shouldBeTrue("bubbleFired"); |
144 shouldBeTrue("dbBubbleFired"); | 147 shouldBeTrue("dbBubbleFired"); |
| 148 |
145 debug(""); | 149 debug(""); |
146 debug("Verifing success."); | 150 debug("Verifing success."); |
147 trans = evalAndLog("trans = db.transaction(['storeName'], 'readwrite')"); | 151 trans = evalAndLog("trans = db.transaction(['storeName'], 'readwrite')"); |
148 evalAndLog("trans.oncomplete = transactionComplete"); | 152 evalAndLog("trans.oncomplete = transactionComplete"); |
149 evalAndLog("trans.onabort = unexpectedAbortCallback"); | 153 evalAndLog("trans.onabort = unexpectedAbortCallback"); |
150 evalAndLog("trans.addEventListener('success', successCaptureCallback, true)"
); | 154 evalAndLog("trans.addEventListener('success', successCaptureCallback, true)"
); |
151 evalAndLog("trans.addEventListener('success', successBubbleCallback, false)"
); | 155 evalAndLog("trans.addEventListener('success', successBubbleCallback, false)"
); |
152 evalAndLog("trans.addEventListener('error', unexpectedErrorCallback, true)")
; | 156 evalAndLog("trans.addEventListener('error', unexpectedErrorCallback, true)")
; |
153 evalAndLog("trans.addEventListener('error', unexpectedErrorCallback, false)"
); | 157 evalAndLog("trans.addEventListener('error', unexpectedErrorCallback, false)"
); |
154 evalAndLog("db.removeEventListener('error', dbErrorCaptureCallback, true)"); | 158 evalAndLog("db.removeEventListener('error', dbErrorCaptureCallback, true)"); |
(...skipping 80 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
235 shouldBeTrue("dbCaptureFired"); | 239 shouldBeTrue("dbCaptureFired"); |
236 shouldBeTrue("captureFired"); | 240 shouldBeTrue("captureFired"); |
237 shouldBeTrue("requestFired"); | 241 shouldBeTrue("requestFired"); |
238 shouldBeFalse("bubbleFired"); | 242 shouldBeFalse("bubbleFired"); |
239 shouldBeFalse("dbBubbleFired"); | 243 shouldBeFalse("dbBubbleFired"); |
240 debug(""); | 244 debug(""); |
241 | 245 |
242 finishJSTest(); | 246 finishJSTest(); |
243 return; | 247 return; |
244 } | 248 } |
OLD | NEW |