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"); |
42 debug(""); | 43 debug(""); |
43 debug("Verifing error"); | 44 debug("Verifing error"); |
44 trans = evalAndLog("trans = db.transaction(['storeName'], 'readwrite')"); | 45 trans = evalAndLog("trans = db.transaction(['storeName'], 'readwrite')"); |
45 evalAndLog("trans.onabort = transactionAborted2"); | 46 evalAndLog("trans.onabort = transactionAborted2"); |
46 evalAndLog("trans.oncomplete = unexpectedAbortCallback"); | 47 evalAndLog("trans.oncomplete = unexpectedAbortCallback"); |
47 evalAndLog("trans.addEventListener('error', errorCaptureCallback, true)"); | 48 evalAndLog("trans.addEventListener('error', errorCaptureCallback, true)"); |
48 evalAndLog("trans.addEventListener('error', errorBubbleCallback, false)"); | 49 evalAndLog("trans.addEventListener('error', errorBubbleCallback, false)"); |
49 evalAndLog("trans.addEventListener('success', unexpectedSuccessCallback, tru
e)"); | 50 evalAndLog("trans.addEventListener('success', unexpectedSuccessCallback, tru
e)"); |
50 evalAndLog("trans.addEventListener('success', unexpectedSuccessCallback, fal
se)"); | 51 evalAndLog("trans.addEventListener('success', unexpectedSuccessCallback, fal
se)"); |
51 evalAndLog("db.addEventListener('error', dbErrorCaptureCallback, true)"); | 52 evalAndLog("db.addEventListener('error', dbErrorCaptureCallback, true)"); |
52 evalAndLog("db.addEventListener('error', dbErrorBubbleCallback, false)"); | 53 evalAndLog("db.addEventListener('error', dbErrorBubbleCallback, false)"); |
53 evalAndLog("db.addEventListener('success', unexpectedSuccessCallback, true)"
); | 54 evalAndLog("db.addEventListener('success', unexpectedSuccessCallback, true)"
); |
54 evalAndLog("db.addEventListener('success', unexpectedSuccessCallback, false)
"); | 55 evalAndLog("db.addEventListener('success', unexpectedSuccessCallback, false)
"); |
55 store = evalAndLog("store = trans.objectStore('storeName')"); | 56 store = evalAndLog("store = trans.objectStore('storeName')"); |
56 request = evalAndLog("store.add({x: 'value', y: 'zzz'}, 'key')"); | 57 request = evalAndLog("store.add({x: 'value', y: 'zzz'}, 'key')"); |
| 58 expectError(); |
57 request.onsuccess = unexpectedSuccessCallback; | 59 request.onsuccess = unexpectedSuccessCallback; |
58 request.onerror = errorFiredCallback; | 60 request.onerror = errorFiredCallback; |
59 dbCaptureFired = false; | 61 dbCaptureFired = false; |
60 captureFired = false; | 62 captureFired = false; |
61 requestFired = false; | 63 requestFired = false; |
62 bubbleFired = false; | 64 bubbleFired = false; |
63 dbBubbleFired = false; | 65 dbBubbleFired = false; |
64 } | 66 } |
65 | 67 |
66 function dbErrorCaptureCallback() | 68 function dbErrorCaptureCallback() |
(...skipping 168 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
235 shouldBeTrue("dbCaptureFired"); | 237 shouldBeTrue("dbCaptureFired"); |
236 shouldBeTrue("captureFired"); | 238 shouldBeTrue("captureFired"); |
237 shouldBeTrue("requestFired"); | 239 shouldBeTrue("requestFired"); |
238 shouldBeFalse("bubbleFired"); | 240 shouldBeFalse("bubbleFired"); |
239 shouldBeFalse("dbBubbleFired"); | 241 shouldBeFalse("dbBubbleFired"); |
240 debug(""); | 242 debug(""); |
241 | 243 |
242 finishJSTest(); | 244 finishJSTest(); |
243 return; | 245 return; |
244 } | 246 } |
OLD | NEW |