Title: [134825] trunk/LayoutTests
Revision
134825
Author
[email protected]
Date
2012-11-15 13:34:44 -0800 (Thu, 15 Nov 2012)

Log Message

IndexedDB: setVersion test conversion batch 6
https://bugs.webkit.org/show_bug.cgi?id=102318

Reviewed by Tony Chang.

Salvaged the useful parts of intversion-and-setversion as
intversion-upgrades.

* storage/indexeddb/intversion-and-setversion-expected.txt: Removed.
* storage/indexeddb/intversion-upgrades-expected.txt: Added.
* storage/indexeddb/intversion-upgrades.html: Renamed from LayoutTests/storage/indexeddb/intversion-and-setversion.html.
* storage/indexeddb/resources/intversion-and-setversion.js: Removed.
* storage/indexeddb/resources/intversion-upgrades.js: Added.
(test):
(deleteSuccess):
(initialUpgradeNeeded):
(openSuccess):
(connection1VersionChangeCallback):
(connection2BlockedCallback):
(connection2UpgradeNeeded):
(transactionCompleted):
(connection2Success):
(connection3Success):
(errorWhenTryingLowVersion):
(connection4UpgradeNeeded):
(connection4Success):
(connection5Success):
* storage/indexeddb/resources/shared.js:
(unexpectedVersionChangeCallback):

Modified Paths

Added Paths

Removed Paths

Diff

Modified: trunk/LayoutTests/ChangeLog (134824 => 134825)


--- trunk/LayoutTests/ChangeLog	2012-11-15 21:25:54 UTC (rev 134824)
+++ trunk/LayoutTests/ChangeLog	2012-11-15 21:34:44 UTC (rev 134825)
@@ -1,5 +1,37 @@
 2012-11-15  David Grogan  <[email protected]>
 
+        IndexedDB: setVersion test conversion batch 6
+        https://bugs.webkit.org/show_bug.cgi?id=102318
+
+        Reviewed by Tony Chang.
+
+        Salvaged the useful parts of intversion-and-setversion as
+        intversion-upgrades.
+
+        * storage/indexeddb/intversion-and-setversion-expected.txt: Removed.
+        * storage/indexeddb/intversion-upgrades-expected.txt: Added.
+        * storage/indexeddb/intversion-upgrades.html: Renamed from LayoutTests/storage/indexeddb/intversion-and-setversion.html.
+        * storage/indexeddb/resources/intversion-and-setversion.js: Removed.
+        * storage/indexeddb/resources/intversion-upgrades.js: Added.
+        (test):
+        (deleteSuccess):
+        (initialUpgradeNeeded):
+        (openSuccess):
+        (connection1VersionChangeCallback):
+        (connection2BlockedCallback):
+        (connection2UpgradeNeeded):
+        (transactionCompleted):
+        (connection2Success):
+        (connection3Success):
+        (errorWhenTryingLowVersion):
+        (connection4UpgradeNeeded):
+        (connection4Success):
+        (connection5Success):
+        * storage/indexeddb/resources/shared.js:
+        (unexpectedVersionChangeCallback):
+
+2012-11-15  David Grogan  <[email protected]>
+
         IndexedDB test conversions batch 5
         https://bugs.webkit.org/show_bug.cgi?id=102308
 

Deleted: trunk/LayoutTests/storage/indexeddb/intversion-and-setversion-expected.txt (134824 => 134825)


--- trunk/LayoutTests/storage/indexeddb/intversion-and-setversion-expected.txt	2012-11-15 21:25:54 UTC (rev 134824)
+++ trunk/LayoutTests/storage/indexeddb/intversion-and-setversion-expected.txt	2012-11-15 21:34:44 UTC (rev 134825)
@@ -1,107 +0,0 @@
-CONSOLE MESSAGE: The setVersion() method is non-standard and will be removed. Use the "upgradeneeded" event instead.
-CONSOLE MESSAGE: The setVersion() method is non-standard and will be removed. Use the "upgradeneeded" event instead.
-Test that int version upgrades a string version and that string versions are then disallowed
-
-On success, you will see a series of "PASS" messages, followed by "TEST COMPLETE".
-
-
-indexedDB = self.indexedDB || self.webkitIndexedDB || self.mozIndexedDB || self.msIndexedDB || self.OIndexedDB;
-
-dbname = "intversion-and-setversion.html"
-indexedDB.deleteDatabase(dbname)
-FAIL String(request) should be [object IDBOpenDBRequest]. Was [object IDBVersionChangeRequest].
-
-Call open with no version parameter:
-indexedDB.open(dbname)
-
-initialUpgradeNeeded():
-
-openSuccess():
-db = event.target.result
-PASS db.version is 1
-request = db.setVersion("some version")
-
-inSetVersion():
-PASS db.version is "some version"
-
-setVersionDone():
-PASS db.version is "some version"
-db.close()
-indexedDB.open(dbname)
-request._onsuccess_ = secondOpen
-
-secondOpen():
-db = event.target.result
-PASS String(db) is "[object IDBDatabase]"
-PASS db.version is "some version"
-db.close()
-request = indexedDB.open(dbname, 2)
-
-firstUpgradeNeeded():
-db = event.target.result
-PASS String(db) is "[object IDBDatabase]"
-PASS String(request.transaction) is "[object IDBTransaction]"
-FAIL event.oldVersion should be some version (of type string). Was 0 (of type number).
-PASS event.newVersion is 2
-request.transaction._oncomplete_ = transactionCompleted
-
-transactionCompleted():
-didTransactionComplete = true
-
-firstOpenWithVersion():
-PASS didTransactionComplete is true
-db = event.target.result
-db._onversionchange_ = versionChangeGoingFromStringToInt
-PASS String(db) is "[object IDBDatabase]"
-PASS request.transaction is null
-PASS db.version is 2
-PASS String(request) is "[object IDBOpenDBRequest]"
-request = db.setVersion("string version 2")
-PASS String(request) is "[object IDBVersionChangeRequest]"
-request._onsuccess_ = secondSetVersionCallback
-
-secondSetVersionCallback():
-transaction = event.target.result
-transaction._oncomplete_ = setIntVersion2
-
-setIntVersion2():
-request = indexedDB.open(dbname, 2)
-request._onsuccess_ = version2ConnectionSuccess
-request._onblocked_ = version2ConnectionBlocked
-
-versionChangeGoingFromStringToInt():
-db.close()
-
-version2ConnectionBlocked():
-
-version2ConnectionSuccess():
-event.target.result.close()
-request = indexedDB.open(dbname, 1)
-request._onerror_ = errorWhenTryingLowVersion
-
-errorWhenTryingLowVersion():
-request.webkitErrorMessage = The requested version (1) is less than the existing version (2).
-request = indexedDB.open(dbname, 4)
-request._onupgradeneeded_ = secondUpgradeNeeded
-request._onsuccess_ = thirdOpenSuccess
-
-secondUpgradeNeeded():
-gotSecondUpgradeNeeded = true
-PASS event.oldVersion is 2
-PASS event.newVersion is 4
-
-thirdOpenSuccess():
-PASS gotSecondUpgradeNeeded is true
-db = event.target.result
-PASS db.version is 4
-db.close()
-request = indexedDB.open(dbname)
-request._onsuccess_ = fourthOpenSuccess
-
-fourthOpenSuccess():
-db = event.target.result
-PASS db.version is 4
-PASS successfullyParsed is true
-
-TEST COMPLETE
-

Deleted: trunk/LayoutTests/storage/indexeddb/intversion-and-setversion.html (134824 => 134825)


--- trunk/LayoutTests/storage/indexeddb/intversion-and-setversion.html	2012-11-15 21:25:54 UTC (rev 134824)
+++ trunk/LayoutTests/storage/indexeddb/intversion-and-setversion.html	2012-11-15 21:34:44 UTC (rev 134825)
@@ -1,10 +0,0 @@
-<html>
-<head>
-<script src=""
-<script src=""
-</head>
-<body>
-<script src=""
-<script src=""
-</body>
-</html>

Added: trunk/LayoutTests/storage/indexeddb/intversion-upgrades-expected.txt (0 => 134825)


--- trunk/LayoutTests/storage/indexeddb/intversion-upgrades-expected.txt	                        (rev 0)
+++ trunk/LayoutTests/storage/indexeddb/intversion-upgrades-expected.txt	2012-11-15 21:34:44 UTC (rev 134825)
@@ -0,0 +1,85 @@
+Upgrade a database, open a second connection at the same version, ensure specifying a lower version causes an error
+
+On success, you will see a series of "PASS" messages, followed by "TEST COMPLETE".
+
+
+indexedDB = self.indexedDB || self.webkitIndexedDB || self.mozIndexedDB || self.msIndexedDB || self.OIndexedDB;
+
+dbname = "intversion-upgrades.html"
+indexedDB.deleteDatabase(dbname)
+FAIL String(request) should be [object IDBOpenDBRequest]. Was [object IDBVersionChangeRequest].
+
+Call open with no version parameter:
+indexedDB.open(dbname)
+
+initialUpgradeNeeded():
+
+openSuccess():
+connection1 = event.target.result
+PASS connection1.version is 1
+connection1._onversionchange_ = connection1VersionChangeCallback
+request = indexedDB.open(dbname, 2)
+
+connection1VersionChangeCallback():
+connection1.close()
+
+connection2BlockedCallback():
+This should not be called: http://wkbug.com/71130
+
+connection2UpgradeNeeded():
+connection2 = event.target.result
+PASS String(connection2) is "[object IDBDatabase]"
+PASS String(request.transaction) is "[object IDBTransaction]"
+PASS event.oldVersion is 1
+PASS event.newVersion is 2
+request.transaction._oncomplete_ = transactionCompleted
+
+transactionCompleted():
+didTransactionComplete = true
+
+connection2Success():
+PASS didTransactionComplete is true
+PASS event.target.result is connection2
+The next connection opens the database at the same version so connection2 shouldn't get a versionchange event.
+connection2._onversionchange_ = unexpectedVersionChangeCallback
+PASS String(connection2) is "[object IDBDatabase]"
+PASS request.transaction is null
+PASS connection2.version is 2
+request = indexedDB.open(dbname, 2)
+request._onsuccess_ = connection3Success
+request._onblocked_ = unexpectedBlockedCallback
+
+connection3Success():
+event.target.result.close()
+connection2.close()
+connection3 = event.target.result
+PASS connection3.version is 2
+request = indexedDB.open(dbname, 1)
+request._onerror_ = errorWhenTryingLowVersion
+
+errorWhenTryingLowVersion():
+request.webkitErrorMessage = The requested version (1) is less than the existing version (2).
+request = indexedDB.open(dbname, 4)
+request._onupgradeneeded_ = connection4UpgradeNeeded
+request._onsuccess_ = connection4Success
+
+connection4UpgradeNeeded():
+gotConnection4UpgradeNeeded = true
+PASS event.oldVersion is 2
+PASS event.newVersion is 4
+
+connection4Success():
+PASS gotConnection4UpgradeNeeded is true
+connection4 = event.target.result
+PASS connection4.version is 4
+connection4.close()
+request = indexedDB.open(dbname)
+request._onsuccess_ = connection5Success
+
+connection5Success():
+db = event.target.result
+PASS db.version is 4
+PASS successfullyParsed is true
+
+TEST COMPLETE
+

Copied: trunk/LayoutTests/storage/indexeddb/intversion-upgrades.html (from rev 134824, trunk/LayoutTests/storage/indexeddb/intversion-and-setversion.html) (0 => 134825)


--- trunk/LayoutTests/storage/indexeddb/intversion-upgrades.html	                        (rev 0)
+++ trunk/LayoutTests/storage/indexeddb/intversion-upgrades.html	2012-11-15 21:34:44 UTC (rev 134825)
@@ -0,0 +1,10 @@
+<html>
+<head>
+<script src=""
+<script src=""
+</head>
+<body>
+<script src=""
+<script src=""
+</body>
+</html>

Deleted: trunk/LayoutTests/storage/indexeddb/resources/intversion-and-setversion.js (134824 => 134825)


--- trunk/LayoutTests/storage/indexeddb/resources/intversion-and-setversion.js	2012-11-15 21:25:54 UTC (rev 134824)
+++ trunk/LayoutTests/storage/indexeddb/resources/intversion-and-setversion.js	2012-11-15 21:34:44 UTC (rev 134825)
@@ -1,213 +0,0 @@
-if (this.importScripts) {
-    importScripts('../../../fast/js/resources/js-test-pre.js');
-    importScripts('shared.js');
-}
-
-description("Test that int version upgrades a string version and that string versions are then disallowed");
-
-function test()
-{
-    removeVendorPrefixes();
-    setDBNameFromPath();
-
-    request = evalAndLog("indexedDB.deleteDatabase(dbname)");
-    shouldBeEqualToString("String(request)", "[object IDBOpenDBRequest]");
-    request._onsuccess_ = deleteSuccess;
-    request._onerror_ = unexpectedErrorCallback;
-}
-
-function deleteSuccess(evt) {
-    debug("");
-    debug("Call open with no version parameter:");
-    request = evalAndLog("indexedDB.open(dbname)");
-    request._onsuccess_ = openSuccess;
-    request._onerror_ = unexpectedErrorCallback;
-    request._onupgradeneeded_ = initialUpgradeNeeded;
-    request._onblocked_ = unexpectedBlockedCallback;
-}
-
-
-function initialUpgradeNeeded(evt)
-{
-    preamble(evt);
-}
-
-function openSuccess(evt)
-{
-    event = evt;
-    debug("");
-    debug("openSuccess():");
-    db = evalAndLog("db = event.target.result");
-    shouldBe("db.version", "1");
-    evalAndLog('request = db.setVersion("some version")');
-    request._onsuccess_ = inSetVersion;
-    request._onerror_ = unexpectedErrorCallback;
-    request._onblocked_ = unexpectedBlockedCallback;
-}
-
-function inSetVersion(evt)
-{
-    event = evt;
-    debug("");
-    debug("inSetVersion():");
-    trans = event.target.result;
-    trans._oncomplete_ = setVersionDone;
-    trans._onabort_ = unexpectedAbortCallback;
-    db = trans.db;
-    shouldBeEqualToString("db.version", "some version");
-    // FIXME: Add a test that calls open with version from here.
-}
-
-function setVersionDone(evt)
-{
-    event = evt;
-    debug("");
-    debug("setVersionDone():");
-    db = event.target.db;
-    shouldBeEqualToString("db.version", "some version");
-    evalAndLog("db.close()");
-    request = evalAndLog("indexedDB.open(dbname)");
-    evalAndLog("request._onsuccess_ = secondOpen");
-    request._onerror_ = unexpectedErrorCallback;
-    request._onupgradeneeded_ = unexpectedUpgradeNeededCallback;
-}
-
-function secondOpen(evt)
-{
-    event = evt;
-    debug("");
-    debug("secondOpen():");
-    evalAndLog("db = event.target.result");
-    shouldBeEqualToString("String(db)", "[object IDBDatabase]");
-    shouldBeEqualToString("db.version", "some version");
-    evalAndLog("db.close()");
-    // FIXME: Add tests that call it with 0, -1, and -4.
-    evalAndLog("request = indexedDB.open(dbname, 2)");
-    request._onupgradeneeded_ = firstUpgradeNeeded
-    request._onerror_ = unexpectedErrorCallback;
-    request._onblocked_ = unexpectedBlockedCallback;
-    request._onsuccess_ = firstOpenWithVersion;
-}
-
-function firstUpgradeNeeded(evt)
-{
-    preamble(evt);
-    evalAndLog("db = event.target.result");
-    shouldBeEqualToString("String(db)", "[object IDBDatabase]");
-    shouldBeEqualToString("String(request.transaction)", "[object IDBTransaction]");
-    shouldBeEqualToString("event.oldVersion", "some version");
-    shouldBe("event.newVersion", "2");
-    evalAndLog("request.transaction._oncomplete_ = transactionCompleted");
-    request.transaction._onabort_ = unexpectedAbortCallback;
-}
-
-var didTransactionComplete = false;
-function transactionCompleted(evt)
-{
-    preamble(evt);
-    evalAndLog("didTransactionComplete = true");
-}
-
-function firstOpenWithVersion(evt)
-{
-    preamble(evt);
-    shouldBeTrue("didTransactionComplete");
-    evalAndLog("db = event.target.result");
-    evalAndLog("db._onversionchange_ = versionChangeGoingFromStringToInt");
-    shouldBeEqualToString("String(db)", "[object IDBDatabase]");
-    shouldBeNull("request.transaction");
-    shouldBe("db.version", "2");
-    shouldBeEqualToString("String(request)", "[object IDBOpenDBRequest]");
-    evalAndLog('request = db.setVersion("string version 2")');
-    shouldBeEqualToString("String(request)", "[object IDBVersionChangeRequest]");
-    evalAndLog("request._onsuccess_ = secondSetVersionCallback");
-    request._onblocked_ = unexpectedBlockedCallback;
-    request._onerror_ = unexpectedErrorCallback;
-}
-
-function secondSetVersionCallback(evt)
-{
-    preamble(evt);
-    evalAndLog("transaction = event.target.result");
-    evalAndLog("transaction._oncomplete_ = setIntVersion2");
-}
-
-function setIntVersion2(evt)
-{
-    preamble(evt);
-    evalAndLog("request = indexedDB.open(dbname, 2)");
-    evalAndLog("request._onsuccess_ = version2ConnectionSuccess");
-    evalAndLog("request._onblocked_ = version2ConnectionBlocked");
-    request._onerror_ = unexpectedErrorCallback;
-}
-
-function versionChangeGoingFromStringToInt(evt)
-{
-    preamble(evt);
-    evalAndLog("db.close()");
-}
-
-function version2ConnectionBlocked(evt)
-{
-    preamble(evt);
-}
-
-function version2ConnectionSuccess(evt)
-{
-    preamble(evt);
-    evalAndLog("event.target.result.close()");
-    evalAndLog("request = indexedDB.open(dbname, 1)");
-    evalAndLog("request._onerror_ = errorWhenTryingLowVersion");
-    request._onblocked_ = unexpectedBlockedCallback;
-    request._onsuccess_ = unexpectedSuccessCallback;
-    request._onupgradeneeded_ = unexpectedUpgradeNeededCallback;
-}
-
-function errorWhenTryingLowVersion(evt)
-{
-    preamble(evt);
-    debug("request.webkitErrorMessage = " + request.webkitErrorMessage);
-    evalAndLog("request = indexedDB.open(dbname, 4)");
-    request._onblocked_ = unexpectedBlockedCallback;
-    request._onerror_ = unexpectedErrorCallback;
-    evalAndLog("request._onupgradeneeded_ = secondUpgradeNeeded");
-    evalAndLog("request._onsuccess_ = thirdOpenSuccess");
-}
-
-var gotSecondUpgradeNeeded = false;
-function secondUpgradeNeeded(evt)
-{
-    event = evt;
-    debug("");
-    debug("secondUpgradeNeeded():");
-    evalAndLog("gotSecondUpgradeNeeded = true");
-    shouldBe("event.oldVersion", "2");
-    shouldBe("event.newVersion", "4");
-}
-
-function thirdOpenSuccess(evt)
-{
-    event = evt;
-    debug("");
-    debug("thirdOpenSuccess():");
-    shouldBeTrue("gotSecondUpgradeNeeded");
-    evalAndLog("db = event.target.result");
-    shouldBe("db.version", "4");
-    evalAndLog("db.close()");
-    evalAndLog("request = indexedDB.open(dbname)");
-    evalAndLog("request._onsuccess_ = fourthOpenSuccess");
-    request._onupgradeneeded_ = unexpectedUpgradeNeededCallback;
-    request._onerror_ = unexpectedUpgradeNeededCallback;
-}
-
-function fourthOpenSuccess(evt)
-{
-    event = evt;
-    debug("");
-    debug("fourthOpenSuccess():");
-    evalAndLog("db = event.target.result");
-    shouldBe("db.version", "4");
-    finishJSTest();
-}
-
-test();

Added: trunk/LayoutTests/storage/indexeddb/resources/intversion-upgrades.js (0 => 134825)


--- trunk/LayoutTests/storage/indexeddb/resources/intversion-upgrades.js	                        (rev 0)
+++ trunk/LayoutTests/storage/indexeddb/resources/intversion-upgrades.js	2012-11-15 21:34:44 UTC (rev 134825)
@@ -0,0 +1,152 @@
+if (this.importScripts) {
+    importScripts('../../../fast/js/resources/js-test-pre.js');
+    importScripts('shared.js');
+}
+
+description("Upgrade a database, open a second connection at the same version, ensure specifying a lower version causes an error");
+
+function test()
+{
+    removeVendorPrefixes();
+    setDBNameFromPath();
+
+    request = evalAndLog("indexedDB.deleteDatabase(dbname)");
+    shouldBeEqualToString("String(request)", "[object IDBOpenDBRequest]");
+    request._onsuccess_ = deleteSuccess;
+    request._onerror_ = unexpectedErrorCallback;
+}
+
+function deleteSuccess(evt) {
+    debug("");
+    debug("Call open with no version parameter:");
+    request = evalAndLog("indexedDB.open(dbname)");
+    request._onsuccess_ = openSuccess;
+    request._onerror_ = unexpectedErrorCallback;
+    request._onupgradeneeded_ = initialUpgradeNeeded;
+    request._onblocked_ = unexpectedBlockedCallback;
+}
+
+function initialUpgradeNeeded(evt)
+{
+    preamble(evt);
+}
+
+function openSuccess(evt)
+{
+    event = evt;
+    debug("");
+    debug("openSuccess():");
+    evalAndLog("connection1 = event.target.result");
+    shouldBe("connection1.version", "1");
+    evalAndLog("connection1._onversionchange_ = connection1VersionChangeCallback");
+    evalAndLog("request = indexedDB.open(dbname, 2)");
+    request._onupgradeneeded_ = connection2UpgradeNeeded
+    request._onerror_ = unexpectedErrorCallback;
+    request._onblocked_ = connection2BlockedCallback;
+    request._onsuccess_ = connection2Success;
+}
+
+function connection1VersionChangeCallback(evt)
+{
+    preamble(evt);
+    evalAndLog("connection1.close()");
+}
+
+function connection2BlockedCallback(evt)
+{
+    preamble(evt);
+    debug("This should not be called: http://wkbug.com/71130");
+}
+
+function connection2UpgradeNeeded(evt)
+{
+    preamble(evt);
+    evalAndLog("connection2 = event.target.result");
+    shouldBeEqualToString("String(connection2)", "[object IDBDatabase]");
+    shouldBeEqualToString("String(request.transaction)", "[object IDBTransaction]");
+    shouldBe("event.oldVersion", "1");
+    shouldBe("event.newVersion", "2");
+    evalAndLog("request.transaction._oncomplete_ = transactionCompleted");
+    request.transaction._onabort_ = unexpectedAbortCallback;
+}
+
+var didTransactionComplete = false;
+function transactionCompleted(evt)
+{
+    preamble(evt);
+    evalAndLog("didTransactionComplete = true");
+}
+
+function connection2Success(evt)
+{
+    preamble(evt);
+    shouldBeTrue("didTransactionComplete");
+    shouldBe("event.target.result", "connection2");
+    debug("The next connection opens the database at the same version so connection2 shouldn't get a versionchange event.");
+    evalAndLog("connection2._onversionchange_ = unexpectedVersionChangeCallback");
+    shouldBeEqualToString("String(connection2)", "[object IDBDatabase]");
+    shouldBeNull("request.transaction");
+    shouldBe("connection2.version", "2");
+    evalAndLog("request = indexedDB.open(dbname, 2)");
+    evalAndLog("request._onsuccess_ = connection3Success");
+    evalAndLog("request._onblocked_ = unexpectedBlockedCallback");
+    request._onerror_ = unexpectedErrorCallback;
+}
+
+function connection3Success(evt)
+{
+    preamble(evt);
+    evalAndLog("event.target.result.close()");
+    evalAndLog("connection2.close()");
+    evalAndLog("connection3 = event.target.result");
+    shouldBe("connection3.version", "2");
+    evalAndLog("request = indexedDB.open(dbname, 1)");
+    evalAndLog("request._onerror_ = errorWhenTryingLowVersion");
+    request._onblocked_ = unexpectedBlockedCallback;
+    request._onsuccess_ = unexpectedSuccessCallback;
+    request._onupgradeneeded_ = unexpectedUpgradeNeededCallback;
+}
+
+function errorWhenTryingLowVersion(evt)
+{
+    preamble(evt);
+    debug("request.webkitErrorMessage = " + request.webkitErrorMessage);
+    evalAndLog("request = indexedDB.open(dbname, 4)");
+    request._onblocked_ = unexpectedBlockedCallback;
+    request._onerror_ = unexpectedErrorCallback;
+    evalAndLog("request._onupgradeneeded_ = connection4UpgradeNeeded");
+    evalAndLog("request._onsuccess_ = connection4Success");
+}
+
+var gotConnection4UpgradeNeeded = false;
+function connection4UpgradeNeeded(evt)
+{
+    preamble(evt);
+    evalAndLog("gotConnection4UpgradeNeeded = true");
+    shouldBe("event.oldVersion", "2");
+    shouldBe("event.newVersion", "4");
+}
+
+function connection4Success(evt)
+{
+    preamble(evt);
+    shouldBeTrue("gotConnection4UpgradeNeeded");
+    evalAndLog("connection4 = event.target.result");
+    shouldBe("connection4.version", "4");
+    evalAndLog("connection4.close()");
+    evalAndLog("request = indexedDB.open(dbname)");
+    evalAndLog("request._onsuccess_ = connection5Success");
+    request._onblocked_ = unexpectedBlockedCallback;
+    request._onupgradeneeded_ = unexpectedUpgradeNeededCallback;
+    request._onerror_ = unexpectedUpgradeNeededCallback;
+}
+
+function connection5Success(evt)
+{
+    preamble(evt);
+    evalAndLog("db = event.target.result");
+    shouldBe("db.version", "4");
+    finishJSTest();
+}
+
+test();

Modified: trunk/LayoutTests/storage/indexeddb/resources/shared.js (134824 => 134825)


--- trunk/LayoutTests/storage/indexeddb/resources/shared.js	2012-11-15 21:25:54 UTC (rev 134824)
+++ trunk/LayoutTests/storage/indexeddb/resources/shared.js	2012-11-15 21:34:44 UTC (rev 134825)
@@ -76,9 +76,9 @@
     finishJSTest();
 }
 
-function unexpectedVersionChangeCallback()
+function unexpectedVersionChangeCallback(e)
 {
-    testFailed("onversionchange called unexpectedly");
+    testFailed("onversionchange called unexpectedly. oldVersion = " + e.oldVersion + ". newVersion = " + e.newVersion);
     finishJSTest();
 }
 
_______________________________________________
webkit-changes mailing list
[email protected]
http://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to