Chromium Code Reviews| 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 the order when there are pending setVersion, delete and open c alls."); | 6 description("Test the order when there are pending open (with upgrade) and delet e calls."); |
| 7 | 7 |
| 8 indexedDBTest(null, h1OpenSuccess); | 8 indexedDBTest(null, h1OpenSuccess); |
| 9 function h1OpenSuccess(evt) | 9 function h1OpenSuccess(evt) |
| 10 { | 10 { |
| 11 preamble(evt); | 11 preamble(evt); |
| 12 evalAndLog("setVersionBlockedEventFired = false"); | 12 evalAndLog("openWithUpgradeBlockedEventFired = false"); |
| 13 evalAndLog("versionChangeComplete = false"); | 13 evalAndLog("upgradeComplete = false"); |
| 14 evalAndLog("deleteDatabaseBlockedEventFired = false"); | 14 evalAndLog("deleteDatabaseBlockedEventFired = false"); |
| 15 evalAndLog("deleteDatabaseComplete = false"); | 15 evalAndLog("deleteDatabaseComplete = false"); |
| 16 | 16 |
| 17 | |
|
cmumford
2016/07/15 14:55:37
delete extra line.
jsbell
2016/07/15 17:22:22
Done.
| |
| 17 evalAndLog("h1 = event.target.result"); | 18 evalAndLog("h1 = event.target.result"); |
| 18 | 19 |
| 19 h1.onversionchange = function h1OnVersionChange(evt) { | 20 h1.onversionchange = function h1OnVersionChange(evt) { |
| 20 preamble(evt); | 21 preamble(evt); |
| 21 shouldBe("event.target.version", "1"); | 22 shouldBe("event.target.version", "1"); |
| 22 shouldBe("event.oldVersion", "1"); | 23 shouldBe("event.oldVersion", "1"); |
| 23 shouldBe("event.newVersion", "2"); | 24 shouldBe("event.newVersion", "2"); |
| 24 | 25 |
| 25 h1.onversionchange = function h1SecondOnVersionChange(evt) { | 26 h1.onversionchange = function h1SecondOnVersionChange(evt) { |
| 26 preamble(evt); | 27 preamble(evt); |
| 27 shouldBe("event.target.version", "1"); | 28 testFailed('Second "versionchange" event should not be seen'); |
| 28 shouldBe("event.oldVersion", "1"); | |
| 29 shouldBeNull("event.newVersion"); | |
| 30 }; | 29 }; |
| 31 }; | 30 }; |
| 32 | 31 |
| 32 debug(''); | |
| 33 debug("Open h2:"); | 33 debug("Open h2:"); |
| 34 request = evalAndLog("indexedDB.open(dbname)"); | 34 request = evalAndLog("indexedDB.open(dbname)"); |
| 35 request.onblocked = unexpectedBlockedCallback; | 35 request.onblocked = unexpectedBlockedCallback; |
| 36 request.onerror = unexpectedErrorCallback; | 36 request.onerror = unexpectedErrorCallback; |
| 37 request.onsuccess = function h2OpenSuccess(evt) { | 37 request.onsuccess = function h2OpenSuccess(evt) { |
| 38 preamble(evt); | 38 preamble(evt); |
| 39 evalAndLog("h2OpenSuccess = true"); | |
| 39 h2 = event.target.result; | 40 h2 = event.target.result; |
| 40 | 41 |
| 41 h2.onversionchange = function h2OnVersionChange(evt) { | 42 h2.onversionchange = function h2OnVersionChange(evt) { |
| 42 preamble(evt); | 43 preamble(evt); |
| 43 shouldBe("event.target.version", "1"); | 44 shouldBe("event.target.version", "1"); |
| 44 shouldBe("event.oldVersion", "1"); | 45 shouldBe("event.oldVersion", "1"); |
| 45 shouldBe("event.newVersion", "2"); | 46 shouldBe("event.newVersion", "2"); |
| 46 | 47 |
| 47 h2.onversionchange = function h2OnSecondVersionChange(evt) { | 48 h2.onversionchange = function h2OnSecondVersionChange(evt) { |
| 48 preamble(evt); | 49 preamble(evt); |
| 49 shouldBe("event.target.version", "1"); | 50 testFailed('Second "versionchange" event should not be seen'); |
| 50 shouldBe("event.oldVersion", "1"); | |
| 51 shouldBe("event.newVersion", "null"); | |
| 52 }; | 51 }; |
| 53 }; | 52 }; |
| 54 | 53 |
| 55 debug("Try to open h3:"); | 54 debug(''); |
| 55 debug("Open h3:"); | |
| 56 request = evalAndLog("indexedDB.open(dbname, 2)"); | 56 request = evalAndLog("indexedDB.open(dbname, 2)"); |
| 57 request.onerror = unexpectedErrorCallback; | 57 request.onerror = unexpectedErrorCallback; |
| 58 request.onsuccess = function h3OpenSuccess(evt) { | 58 request.onsuccess = function h3OpenSuccess(evt) { |
| 59 preamble(evt); | 59 preamble(evt); |
| 60 h3 = event.target.result; | 60 h3 = event.target.result; |
| 61 shouldBeTrue("upgradeComplete"); | |
| 62 shouldBeFalse("deleteDatabaseBlockedEventFired"); | |
| 63 shouldBeFalse("deleteDatabaseComplete"); | |
| 61 evalAndLog("h3.close()"); | 64 evalAndLog("h3.close()"); |
| 62 }; | 65 }; |
| 63 request.onblocked = function h3Blocked(evt) { | 66 request.onblocked = function h3Blocked(evt) { |
| 64 preamble(evt); | 67 preamble(evt); |
| 65 evalAndLog("setVersionBlockedEventFired = true"); | 68 evalAndLog("openWithUpgradeBlockedEventFired = true"); |
| 66 | 69 |
| 67 debug("Try to open h4:"); | 70 debug(''); |
| 71 debug("Open h4:"); | |
| 68 request = evalAndLog("indexedDB.open(dbname)"); | 72 request = evalAndLog("indexedDB.open(dbname)"); |
| 69 request.onblocked = unexpectedBlockedCallback; | 73 request.onblocked = unexpectedBlockedCallback; |
| 70 request.onerror = unexpectedErrorCallback; | 74 request.onerror = unexpectedErrorCallback; |
| 71 request.onsuccess = function h4OpenSuccess(evt) { | 75 request.onsuccess = function h4OpenSuccess(evt) { |
| 72 preamble(evt); | 76 preamble(evt); |
| 73 h4 = event.target.result; | 77 h4 = event.target.result; |
| 74 h4.onversionchange = unexpectedVersionChangeCallback; | 78 h4.onversionchange = unexpectedVersionChangeCallback; |
| 75 | 79 |
| 76 shouldBeTrue("setVersionBlockedEventFired"); | |
| 77 shouldBeTrue("versionChangeComplete"); | |
| 78 shouldBeTrue("deleteDatabaseBlockedEventFired"); | 80 shouldBeTrue("deleteDatabaseBlockedEventFired"); |
| 79 shouldBeTrue("deleteDatabaseComplete"); | 81 shouldBeTrue("deleteDatabaseComplete"); |
| 80 | 82 |
| 81 finishJSTest(); | 83 finishJSTest(); |
| 82 }; | 84 }; |
| 83 | 85 |
| 86 debug(''); | |
| 87 debug('Close connections to unblock previous requests:'); | |
| 88 evalAndLog("h1.close()"); | |
| 84 evalAndLog("h2.close()"); | 89 evalAndLog("h2.close()"); |
| 85 }; | 90 }; |
| 86 request.onupgradeneeded = function h3OnUpgradeneeded(evt) { | 91 request.onupgradeneeded = function h3OnUpgradeneeded(evt) { |
| 87 preamble(evt); | 92 preamble(evt); |
| 88 | 93 |
| 89 transaction = event.target.transaction; | 94 transaction = event.target.transaction; |
| 90 transaction.onabort = unexpectedAbortCallback; | 95 transaction.onabort = unexpectedAbortCallback; |
| 91 transaction.oncomplete = function transactionOnComplete(evt) { | 96 transaction.oncomplete = function transactionOnComplete(evt) { |
| 92 preamble(evt); | 97 preamble(evt); |
| 93 evalAndLog("versionChangeComplete = true"); | 98 evalAndLog("upgradeComplete = true"); |
| 94 }; | 99 }; |
| 95 }; | 100 }; |
| 96 | 101 |
| 102 debug('... and deleteDatabase()'); | |
| 97 request = evalAndLog("indexedDB.deleteDatabase(dbname)"); | 103 request = evalAndLog("indexedDB.deleteDatabase(dbname)"); |
| 98 request.onerror = unexpectedErrorCallback; | 104 request.onerror = unexpectedErrorCallback; |
| 99 request.onblocked = function deleteDatabaseOnBlocked(evt) { | 105 request.onblocked = function deleteDatabaseOnBlocked(evt) { |
| 100 preamble(evt); | 106 preamble(evt); |
| 101 evalAndLog("deleteDatabaseBlockedEventFired = true"); | 107 evalAndLog("deleteDatabaseBlockedEventFired = true"); |
| 102 | |
| 103 evalAndLog("h1.close()"); | |
| 104 }; | 108 }; |
| 105 request.onsuccess = function deleteDatabaseOnSuccess(evt) { | 109 request.onsuccess = function deleteDatabaseOnSuccess(evt) { |
| 106 preamble(evt); | 110 preamble(evt); |
| 107 evalAndLog("deleteDatabaseComplete = true"); | 111 evalAndLog("deleteDatabaseComplete = true"); |
| 112 shouldBeTrue("openWithUpgradeBlockedEventFired"); | |
| 113 shouldBeTrue("upgradeComplete"); | |
| 114 evalAndLog("deleteDatabaseBlockedEventFired = true"); | |
| 108 }; | 115 }; |
| 109 }; | 116 }; |
| 110 } | 117 } |
| OLD | NEW |