Index: chrome/test/data/indexeddb/version_change_crash.js |
=================================================================== |
--- chrome/test/data/indexeddb/version_change_crash.js (revision 152131) |
+++ chrome/test/data/indexeddb/version_change_crash.js (working copy) |
@@ -1,95 +0,0 @@ |
-// Copyright (c) 2012 The Chromium Authors. All rights reserved. |
-// Use of this source code is governed by a BSD-style license that can be |
-// found in the LICENSE file. |
- |
-function test() |
-{ |
- if (document.location.hash === '#part1') { |
- testPart1(); |
- } else if (document.location.hash === '#part2') { |
- testPart2(); |
- } else if (document.location.hash === '#part3') { |
- testPart3(); |
- } else { |
- result('fail - unexpected hash'); |
- } |
-} |
- |
-function testPart1() |
-{ |
- // Prepare the database, then exit normally |
- |
- // Set version 1, create store1 |
- var delreq = window.indexedDB.deleteDatabase('version-change-crash'); |
- delreq.onerror = unexpectedErrorCallback; |
- delreq.onsuccess = function() { |
- var openreq = window.indexedDB.open('version-change-crash'); |
- openreq.onerror = unexpectedErrorCallback; |
- 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'); |
- }; |
- }; |
- }; |
- }; |
-} |
- |
-function testPart2() |
-{ |
- // Start a VERSION_CHANGE then crash |
- |
- // Set version 2, twiddle stores and crash |
- var openreq = window.indexedDB.open('version-change-crash'); |
- openreq.onerror = unexpectedErrorCallback; |
- openreq.onsuccess = 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 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; }()); |
- }; |
- }; |
-} |
- |
-function testPart3() |
-{ |
- // Validate that Part 2 never committed |
- |
- // Check version |
- var openreq = window.indexedDB.open('version-change-crash'); |
- openreq.onerror = unexpectedErrorCallback; |
- openreq.onsuccess = function(e) { |
- var db = openreq.result; |
- if (db.version !== '1') { |
- result('fail - version incorrect'); |
- return; |
- } |
- |
- if (!db.objectStoreNames.contains('store1')) { |
- result('fail - store1 does not exist'); |
- return; |
- } |
- |
- if (db.objectStoreNames.contains('store2')) { |
- result('fail - store2 exists'); |
- return; |
- } |
- |
- result('pass - part3 - rolled back'); |
- }; |
-} |