diff options
Diffstat (limited to 'content/test/data/indexeddb/version_change_crash.js')
-rw-r--r-- | content/test/data/indexeddb/version_change_crash.js | 46 |
1 files changed, 20 insertions, 26 deletions
diff --git a/content/test/data/indexeddb/version_change_crash.js b/content/test/data/indexeddb/version_change_crash.js index 3833c98..7fa1465 100644 --- a/content/test/data/indexeddb/version_change_crash.js +++ b/content/test/data/indexeddb/version_change_crash.js @@ -23,20 +23,14 @@ function testPart1() var delreq = window.indexedDB.deleteDatabase('version-change-crash'); delreq.onerror = unexpectedErrorCallback; delreq.onsuccess = function() { - var openreq = window.indexedDB.open('version-change-crash'); + var openreq = window.indexedDB.open('version-change-crash', 1); openreq.onerror = unexpectedErrorCallback; + openreq.onblocked = unexpectedBlockedCallback; + openreq.onupgradeneeded = function(e) { + openreq.result.createObjectStore('store1'); + }; openreq.onsuccess = function(e) { - var db = openreq.result; - var setverreq = db.setVersion('1'); - setverreq.onerror = unexpectedErrorCallback; - setverreq.onsuccess = function(e) { - var transaction = setverreq.result; - db.createObjectStore('store1'); - transaction.onabort = unexpectedAbortCallback; - transaction.oncomplete = function (e) { - result('pass - part1 - complete'); - }; - }; + result('pass - part1 - complete'); }; }; } @@ -46,23 +40,21 @@ function testPart2() // Start a VERSION_CHANGE then crash // Set version 2, twiddle stores and crash - var openreq = window.indexedDB.open('version-change-crash'); + var openreq = window.indexedDB.open('version-change-crash', 2); openreq.onerror = unexpectedErrorCallback; - openreq.onsuccess = function(e) { + openreq.onblocked = unexpectedBlockedCallback; + openreq.onsuccess = unexpectedSuccessCallback; + openreq.onupgradeneeded = function(e) { var db = openreq.result; - var setverreq = db.setVersion('2'); - setverreq.onerror = unexpectedErrorCallback; - setverreq.onsuccess = function(e) { - var transaction = setverreq.result; - transaction.onabort = unexpectedAbortCallback; - transaction.oncomplete = unexpectedCompleteCallback; + var transaction = openreq.transaction; + transaction.onabort = unexpectedAbortCallback; + transaction.oncomplete = unexpectedCompleteCallback; - var store = db.createObjectStore('store2'); - result('pass - part2 - crash me'); + var store = db.createObjectStore('store2'); + result('pass - part2 - crash me'); - // Keep adding to the transaction so it can't commit - (function loop() { store.put(0, 0).onsuccess = loop; }()); - }; + // Keep adding to the transaction so it can't commit + (function loop() { store.put(0, 0).onsuccess = loop; }()); }; } @@ -73,9 +65,11 @@ function testPart3() // Check version var openreq = window.indexedDB.open('version-change-crash'); openreq.onerror = unexpectedErrorCallback; + openreq.onblocked = unexpectedBlockedCallback; + openreq.onupgradeneeded = unexpectedUpgradeNeededCallback; openreq.onsuccess = function(e) { var db = openreq.result; - if (db.version !== '1') { + if (db.version !== 1) { result('fail - version incorrect'); return; } |