summaryrefslogtreecommitdiffstats
path: root/LayoutTests
diff options
context:
space:
mode:
authorBen Murdoch <benm@google.com>2011-05-24 11:24:40 +0100
committerBen Murdoch <benm@google.com>2011-06-02 09:53:15 +0100
commit81bc750723a18f21cd17d1b173cd2a4dda9cea6e (patch)
tree7a9e5ed86ff429fd347a25153107221543909b19 /LayoutTests
parent94088a6d336c1dd80a1e734af51e96abcbb689a7 (diff)
downloadexternal_webkit-81bc750723a18f21cd17d1b173cd2a4dda9cea6e.zip
external_webkit-81bc750723a18f21cd17d1b173cd2a4dda9cea6e.tar.gz
external_webkit-81bc750723a18f21cd17d1b173cd2a4dda9cea6e.tar.bz2
Merge WebKit at r80534: Intial merge by Git
Change-Id: Ia7a83357124c9e1cdb1debf55d9661ec0bd09a61
Diffstat (limited to 'LayoutTests')
-rw-r--r--LayoutTests/fast/dom/DOMImplementation/createDocument-with-used-doctype-expected.txt1
-rw-r--r--LayoutTests/fast/dom/DOMImplementation/createDocument-with-used-doctype.html5
-rw-r--r--LayoutTests/fast/encoding/dumpAsText/utf-16-no-bom-expected.txt5
-rw-r--r--LayoutTests/fast/encoding/dumpAsText/utf-16-no-bom.xml (renamed from LayoutTests/fast/encoding/utf-16-no-bom.xml)bin236 -> 236 bytes
-rw-r--r--LayoutTests/http/tests/appcache/online-fallback-layering-expected.txt10
-rw-r--r--LayoutTests/http/tests/appcache/online-fallback-layering.html97
-rw-r--r--LayoutTests/http/tests/appcache/resources/fallbacknamespace-fallback-resource.txt1
-rw-r--r--LayoutTests/http/tests/appcache/resources/fallbacknamespace-networknamespace-existing-resource.html9
-rw-r--r--LayoutTests/http/tests/appcache/resources/online-fallback-layering.manifest7
-rw-r--r--LayoutTests/http/tests/resources/absolute-url-strip-whitespace.js1
-rw-r--r--LayoutTests/storage/close-during-stress-test.html2
-rw-r--r--LayoutTests/storage/indexeddb/basics-expected.txt56
-rw-r--r--LayoutTests/storage/indexeddb/basics.html57
-rw-r--r--LayoutTests/storage/indexeddb/create-and-remove-object-store-expected.txt61
-rw-r--r--LayoutTests/storage/indexeddb/create-and-remove-object-store.html60
-rw-r--r--LayoutTests/storage/indexeddb/create-object-store-options-expected.txt15
-rw-r--r--LayoutTests/storage/indexeddb/create-object-store-options.html24
-rw-r--r--LayoutTests/storage/indexeddb/cursor-continue-expected.txt79
-rw-r--r--LayoutTests/storage/indexeddb/cursor-continue.html183
-rw-r--r--LayoutTests/storage/indexeddb/cursor-delete-expected.txt123
-rw-r--r--LayoutTests/storage/indexeddb/cursor-delete.html78
-rw-r--r--LayoutTests/storage/indexeddb/cursor-index-delete-expected.txt123
-rw-r--r--LayoutTests/storage/indexeddb/cursor-index-delete.html80
-rw-r--r--LayoutTests/storage/indexeddb/cursor-skip-deleted-expected.txt54
-rw-r--r--LayoutTests/storage/indexeddb/cursor-skip-deleted.html40
-rw-r--r--LayoutTests/storage/indexeddb/cursor-update-expected.txt289
-rw-r--r--LayoutTests/storage/indexeddb/cursor-update.html147
-rw-r--r--LayoutTests/storage/indexeddb/data-corruption-expected.txt56
-rw-r--r--LayoutTests/storage/indexeddb/data-corruption.html39
-rw-r--r--LayoutTests/storage/indexeddb/database-basics-expected.txt92
-rw-r--r--LayoutTests/storage/indexeddb/database-basics.html56
-rw-r--r--LayoutTests/storage/indexeddb/database-quota-expected.txt64
-rw-r--r--LayoutTests/storage/indexeddb/database-quota.html37
-rw-r--r--LayoutTests/storage/indexeddb/duplicates-expected.txt564
-rw-r--r--LayoutTests/storage/indexeddb/duplicates.html167
-rw-r--r--LayoutTests/storage/indexeddb/error-causes-abort-by-default-expected.txt71
-rw-r--r--LayoutTests/storage/indexeddb/error-causes-abort-by-default.html54
-rw-r--r--LayoutTests/storage/indexeddb/exception-in-event-aborts-expected.txt61
-rw-r--r--LayoutTests/storage/indexeddb/exception-in-event-aborts.html133
-rw-r--r--LayoutTests/storage/indexeddb/index-basics-expected.txt327
-rw-r--r--LayoutTests/storage/indexeddb/index-basics.html214
-rw-r--r--LayoutTests/storage/indexeddb/index-cursor-expected.txt3231
-rw-r--r--LayoutTests/storage/indexeddb/index-cursor.html35
-rw-r--r--LayoutTests/storage/indexeddb/keyrange-expected.txt32
-rw-r--r--LayoutTests/storage/indexeddb/keyrange.html2
-rw-r--r--LayoutTests/storage/indexeddb/objectstore-autoincrement-expected.txt156
-rw-r--r--LayoutTests/storage/indexeddb/objectstore-autoincrement.html121
-rw-r--r--LayoutTests/storage/indexeddb/objectstore-basics-expected.txt181
-rw-r--r--LayoutTests/storage/indexeddb/objectstore-basics.html120
-rw-r--r--LayoutTests/storage/indexeddb/objectstore-clear-expected.txt132
-rw-r--r--LayoutTests/storage/indexeddb/objectstore-clear.html81
-rw-r--r--LayoutTests/storage/indexeddb/objectstore-cursor-expected.txt1127
-rw-r--r--LayoutTests/storage/indexeddb/objectstore-cursor.html49
-rw-r--r--LayoutTests/storage/indexeddb/objectstore-removeobjectstore-expected.txt110
-rw-r--r--LayoutTests/storage/indexeddb/objectstore-removeobjectstore.html66
-rw-r--r--LayoutTests/storage/indexeddb/open-cursor-expected.txt83
-rw-r--r--LayoutTests/storage/indexeddb/open-cursor.html66
-rw-r--r--LayoutTests/storage/indexeddb/queued-commands-expected.txt88
-rw-r--r--LayoutTests/storage/indexeddb/queued-commands.html49
-rw-r--r--LayoutTests/storage/indexeddb/request-event-propagation-expected.txt54
-rw-r--r--LayoutTests/storage/indexeddb/request-event-propagation.html61
-rw-r--r--LayoutTests/storage/indexeddb/resources/shared.js75
-rw-r--r--LayoutTests/storage/indexeddb/set_version_blocked-expected.txt20
-rw-r--r--LayoutTests/storage/indexeddb/set_version_blocked.html74
-rw-r--r--LayoutTests/storage/indexeddb/set_version_queue-expected.txt73
-rw-r--r--LayoutTests/storage/indexeddb/set_version_queue.html140
-rw-r--r--LayoutTests/storage/indexeddb/transaction-abort-expected.txt42
-rw-r--r--LayoutTests/storage/indexeddb/transaction-abort.html103
-rw-r--r--LayoutTests/storage/indexeddb/transaction-after-close-expected.txt78
-rw-r--r--LayoutTests/storage/indexeddb/transaction-after-close.html44
-rw-r--r--LayoutTests/storage/indexeddb/transaction-and-objectstore-calls-expected.txt26
-rw-r--r--LayoutTests/storage/indexeddb/transaction-and-objectstore-calls.html22
-rw-r--r--LayoutTests/storage/indexeddb/transaction-basics-expected.txt142
-rw-r--r--LayoutTests/storage/indexeddb/transaction-basics.html81
-rw-r--r--LayoutTests/storage/indexeddb/transaction-crash-on-abort-expected.txt20
-rw-r--r--LayoutTests/storage/indexeddb/transaction-crash-on-abort.html10
-rw-r--r--LayoutTests/storage/indexeddb/transaction-event-propagation-expected.txt26
-rw-r--r--LayoutTests/storage/indexeddb/transaction-event-propagation.html37
-rw-r--r--LayoutTests/storage/indexeddb/transaction-read-only-expected.txt38
-rw-r--r--LayoutTests/storage/indexeddb/transaction-read-only.html30
-rw-r--r--LayoutTests/storage/indexeddb/tutorial.html33
81 files changed, 4409 insertions, 6091 deletions
diff --git a/LayoutTests/fast/dom/DOMImplementation/createDocument-with-used-doctype-expected.txt b/LayoutTests/fast/dom/DOMImplementation/createDocument-with-used-doctype-expected.txt
index 7ef22e9..69cfc5a 100644
--- a/LayoutTests/fast/dom/DOMImplementation/createDocument-with-used-doctype-expected.txt
+++ b/LayoutTests/fast/dom/DOMImplementation/createDocument-with-used-doctype-expected.txt
@@ -1 +1,2 @@
PASS
+
diff --git a/LayoutTests/fast/dom/DOMImplementation/createDocument-with-used-doctype.html b/LayoutTests/fast/dom/DOMImplementation/createDocument-with-used-doctype.html
index ae4a7ae..95990cf 100644
--- a/LayoutTests/fast/dom/DOMImplementation/createDocument-with-used-doctype.html
+++ b/LayoutTests/fast/dom/DOMImplementation/createDocument-with-used-doctype.html
@@ -1,5 +1,4 @@
<body>
-<iframe src="resources/createDocument-with-used-doctype-frame.html" onload="test()"></iframe>
<script>
if (window.layoutTestController) {
layoutTestController.dumpAsText();
@@ -23,10 +22,12 @@ function test()
frames[0].history.go(0);
} else {
gc();
- document.body.textContent = frames[0].document.body.textContent;
+ document.getElementById("result").innerText = frames[0].document.body.textContent;
if (window.layoutTestController)
layoutTestController.notifyDone();
}
}
</script>
+<div id="result">FAIL</div>
+<iframe src="resources/createDocument-with-used-doctype-frame.html" onload="test()"></iframe>
</body>
diff --git a/LayoutTests/fast/encoding/dumpAsText/utf-16-no-bom-expected.txt b/LayoutTests/fast/encoding/dumpAsText/utf-16-no-bom-expected.txt
new file mode 100644
index 0000000..4aea68a
--- /dev/null
+++ b/LayoutTests/fast/encoding/dumpAsText/utf-16-no-bom-expected.txt
@@ -0,0 +1,5 @@
+This XML file does not appear to have any style information associated with it. The document tree is shown below.
+<TEST>
+Should be "CYRILLIC SMALL LETTER IO" (like e with diaeresis): ё
+</TEST>
+
diff --git a/LayoutTests/fast/encoding/utf-16-no-bom.xml b/LayoutTests/fast/encoding/dumpAsText/utf-16-no-bom.xml
index 17f9367..17f9367 100644
--- a/LayoutTests/fast/encoding/utf-16-no-bom.xml
+++ b/LayoutTests/fast/encoding/dumpAsText/utf-16-no-bom.xml
Binary files differ
diff --git a/LayoutTests/http/tests/appcache/online-fallback-layering-expected.txt b/LayoutTests/http/tests/appcache/online-fallback-layering-expected.txt
new file mode 100644
index 0000000..00b913c
--- /dev/null
+++ b/LayoutTests/http/tests/appcache/online-fallback-layering-expected.txt
@@ -0,0 +1,10 @@
+Test that a network namespace trumps a fallback namespace where they overlap.
+
+Sanity check the presence of the fallback namespace, should get the fallback resource.
+Getting a network namespace resource that exists on the server, should succeed.
+Getting a network namespace resource that does not exist on the server, should get a 404.
+Creating two iframes for an existing and non-existing page, one should say "hello" the other should 404.
+- hello heard
+- 404 detected
+PASS
+
diff --git a/LayoutTests/http/tests/appcache/online-fallback-layering.html b/LayoutTests/http/tests/appcache/online-fallback-layering.html
new file mode 100644
index 0000000..bc607ee
--- /dev/null
+++ b/LayoutTests/http/tests/appcache/online-fallback-layering.html
@@ -0,0 +1,97 @@
+<html manifest=resources/online-fallback-layering.manifest>
+<head>
+<script>
+
+if (window.layoutTestController) {
+ layoutTestController.dumpAsText();
+ layoutTestController.waitUntilDone();
+}
+
+function log(message) {
+ document.getElementById("log").innerHTML += message + "<br>";
+}
+
+function testComplete(result) {
+ log(result);
+ if (window.layoutTestController)
+ layoutTestController.notifyDone();
+}
+
+function syncGet(url) {
+ var xhr = new XMLHttpRequest();
+ xhr.open("GET", url, false);
+ xhr.send();
+ if (xhr.status == 200)
+ return xhr.responseText;
+ if (xhr.status == 404)
+ return "404 not found";
+ log ("unexpected status code");
+ return "";
+}
+
+applicationCache.oncached = function() { setTimeout(startTest, 0); }
+applicationCache.onnoupdate = function() { setTimeout(startTest, 0); }
+applicationCache.onupdateready = function() { log('onupdateready'); location.reload(); }
+applicationCache.onerror = function() { testComplete('FAIL - onerror'); }
+applicationCache.onobsolete = function() { testComplete('FAIL - onobsolete'); }
+
+function startTest() {
+ applicationCache.oncached = null;
+ applicationCache.onnoupdate = null;
+
+ var response;
+
+ log('Sanity check the presence of the fallback namespace, should get the fallback resource.');
+ response = syncGet('resources/fallbacknamespace-nonexisting-resource');
+ if (!response.match('fallback resource'))
+ return testComplete('FAIL - did not get the fallback resource');
+
+ log('Getting a network namespace resource that exists on the server, should succeed.');
+ response = syncGet('resources/fallbacknamespace-networknamespace-existing-resource.html');
+ if (!response.match('hello'))
+ return testComplete('FAIL - did not get the existing resource');
+
+ log('Getting a network namespace resource that does not exist on the server, should get a 404.');
+ response = syncGet('resources/fallbacknamespace-networknamespace-nonexisting-resource');
+ if (response != "404 not found")
+ return testComplete('FAIL - did not get a 404 for the nonexisting resource');
+
+ log('Creating two iframes for an existing and non-existing page, one should say "hello" the other should 404.');
+ createFrame('resources/fallbacknamespace-networknamespace-existing-resource.html');
+ createFrame('resources/fallbacknamespace-networknamespace-nonexisting-resource');
+}
+
+function createFrame(src) {
+ var frame = document.createElement("iframe");
+ frame.setAttribute("src", src);
+ document.body.appendChild(frame);
+}
+
+function frameCreated() {
+ log('- hello heard');
+ setTimeout(waitFor404, 0);
+}
+
+function waitFor404() {
+ try {
+ var frameContent = frames[1].document.documentElement.innerHTML;
+ if (frameContent.match("Not Found")) {
+ log('- 404 detected');
+ testComplete('PASS');
+ } else if (frameContent.match("fallback resource"))
+ testComplete('FAIL - subframe was loaded with the fallback resource.');
+ else
+ throw "Try again";
+ } catch (ex) {
+ setTimeout(waitFor404, 100);
+ }
+}
+
+</script>
+</head>
+
+<body>
+<p>Test that a network namespace trumps a fallback namespace where they overlap.</p>
+<div id=log></div>
+</body>
+</html>
diff --git a/LayoutTests/http/tests/appcache/resources/fallbacknamespace-fallback-resource.txt b/LayoutTests/http/tests/appcache/resources/fallbacknamespace-fallback-resource.txt
new file mode 100644
index 0000000..c8beda4
--- /dev/null
+++ b/LayoutTests/http/tests/appcache/resources/fallbacknamespace-fallback-resource.txt
@@ -0,0 +1 @@
+This is the fallback resource used for the fallbacknamespace in the online-fallback-layering.html test.
diff --git a/LayoutTests/http/tests/appcache/resources/fallbacknamespace-networknamespace-existing-resource.html b/LayoutTests/http/tests/appcache/resources/fallbacknamespace-networknamespace-existing-resource.html
new file mode 100644
index 0000000..42362dc
--- /dev/null
+++ b/LayoutTests/http/tests/appcache/resources/fallbacknamespace-networknamespace-existing-resource.html
@@ -0,0 +1,9 @@
+<!-- Used in the online-fallback-layering.html layout test. -->
+<html>
+<body>
+hello
+<script>
+parent.frameCreated();
+</script>
+</body>
+</html>
diff --git a/LayoutTests/http/tests/appcache/resources/online-fallback-layering.manifest b/LayoutTests/http/tests/appcache/resources/online-fallback-layering.manifest
new file mode 100644
index 0000000..d6507ff
--- /dev/null
+++ b/LayoutTests/http/tests/appcache/resources/online-fallback-layering.manifest
@@ -0,0 +1,7 @@
+CACHE MANIFEST
+
+FALLBACK:
+fallbacknamespace- fallbacknamespace-fallback-resource.txt
+
+NETWORK:
+fallbacknamespace-networknamespace-
diff --git a/LayoutTests/http/tests/resources/absolute-url-strip-whitespace.js b/LayoutTests/http/tests/resources/absolute-url-strip-whitespace.js
new file mode 100644
index 0000000..252a630
--- /dev/null
+++ b/LayoutTests/http/tests/resources/absolute-url-strip-whitespace.js
@@ -0,0 +1 @@
+document.getElementById("test").innerHTML = "PASS";
diff --git a/LayoutTests/storage/close-during-stress-test.html b/LayoutTests/storage/close-during-stress-test.html
index 2183e2f..5cc52fd 100644
--- a/LayoutTests/storage/close-during-stress-test.html
+++ b/LayoutTests/storage/close-during-stress-test.html
@@ -2,7 +2,6 @@
<p>Should not crash or cause an assertion failure.</p>
<p>A JavaScript failure on the console is expected, however, as the global object is cleared when closing a frame.
It actually helps to cause database activity by throwing an exception from a callback.</p>
-<iframe src="resources/stress-frame.html" onload="startTest()"></iframe>
<script>
if (window.layoutTestController) {
layoutTestController.waitUntilDone();
@@ -16,4 +15,5 @@ function startTest()
setTimeout("layoutTestController.notifyDone()", 500);
}
</script>
+<iframe src="resources/stress-frame.html" onload="startTest()"></iframe>
</body>
diff --git a/LayoutTests/storage/indexeddb/basics-expected.txt b/LayoutTests/storage/indexeddb/basics-expected.txt
index cae16d8..fce5423 100644
--- a/LayoutTests/storage/indexeddb/basics-expected.txt
+++ b/LayoutTests/storage/indexeddb/basics-expected.txt
@@ -5,23 +5,49 @@ On success, you will see a series of "PASS" messages, followed by "TEST COMPLETE
PASS 'webkitIndexedDB' in window is true
PASS webkitIndexedDB == null is false
-webkitIndexedDB.open('name')
-PASS 'onsuccess' in result is true
-PASS 'onerror' in result is true
-PASS 'readyState' in result is true
-An event should fire shortly...
-
-Success event fired:
-PASS 'result' in event is true
-PASS 'code' in event is false
-PASS 'message' in event is false
-PASS 'source' in event is true
-PASS event.source != null is true
+PASS 'webkitIDBCursor' in window is true
+PASS webkitIDBCursor == null is false
+webkitIndexedDB.open('basics')
+PASS 'result' in request is true
+Expecting exception from request.result
+PASS Exception was thrown.
+PASS code is webkitIDBDatabaseException.NOT_ALLOWED_ERR
+PASS 'errorCode' in request is true
+Expecting exception from request.errorCode
+PASS Exception was thrown.
+PASS code is webkitIDBDatabaseException.NOT_ALLOWED_ERR
+PASS 'webkitErrorMessage' in request is true
+Expecting exception from request.webkitErrorMessage
+PASS Exception was thrown.
+PASS code is webkitIDBDatabaseException.NOT_ALLOWED_ERR
+PASS 'source' in request is true
+PASS request.source is webkitIndexedDB
+PASS 'transaction' in request is true
+PASS request.transaction is null
+PASS 'readyState' in request is true
+PASS request.readyState is webkitIDBRequest.LOADING
+PASS 'onsuccess' in request is true
+PASS request.onsuccess is null
+PASS 'onerror' in request is true
+PASS request.onerror is null
+PASS request.LOADING is 1
+PASS request.DONE is 2
+PASS 'result' in event.target is true
+PASS !!event.target.result is true
+PASS 'errorCode' in event.target is true
+PASS event.target.errorCode is 0
+PASS 'webkitErrorMessage' in event.target is true
+PASS event.target.webkitErrorMessage is undefined.
+PASS 'source' in event.target is true
+PASS request.source is webkitIndexedDB
+PASS 'transaction' in event.target is true
+PASS event.target.transaction is null
+PASS 'readyState' in request is true
+PASS event.target.readyState is webkitIDBRequest.DONE
PASS 'onsuccess' in event.target is true
PASS 'onerror' in event.target is true
-PASS 'readyState' in event.target is true
-PASS event.target.readyState is event.target.DONE
-
+PASS event.target.LOADING is 1
+PASS event.target.DONE is 2
PASS successfullyParsed is true
TEST COMPLETE
diff --git a/LayoutTests/storage/indexeddb/basics.html b/LayoutTests/storage/indexeddb/basics.html
index 2415070..593046d 100644
--- a/LayoutTests/storage/indexeddb/basics.html
+++ b/LayoutTests/storage/indexeddb/basics.html
@@ -19,20 +19,53 @@ function test()
shouldBeTrue("'webkitIndexedDB' in window");
shouldBeFalse("webkitIndexedDB == null");
- // FIXME: Verify other IndexedDatabaseRequest constructors, once they're implemented.
-
- result = evalAndLog("webkitIndexedDB.open('name')");
- verifyResult(result);
- result.onsuccess = openCallback;
- result.onerror = unexpectedErrorCallback;
-}
-
-function openCallback()
-{
- verifySuccessEvent(event);
- done();
+ shouldBeTrue("'webkitIDBCursor' in window");
+ shouldBeFalse("webkitIDBCursor == null");
+
+ request = evalAndLog("webkitIndexedDB.open('basics')");
+ shouldBeTrue("'result' in request");
+ evalAndExpectException("request.result", "webkitIDBDatabaseException.NOT_ALLOWED_ERR");
+ shouldBeTrue("'errorCode' in request");
+ evalAndExpectException("request.errorCode", "webkitIDBDatabaseException.NOT_ALLOWED_ERR");
+ shouldBeTrue("'webkitErrorMessage' in request");
+ evalAndExpectException("request.webkitErrorMessage", "webkitIDBDatabaseException.NOT_ALLOWED_ERR");
+ shouldBeTrue("'source' in request");
+ shouldBe("request.source", "webkitIndexedDB");
+ shouldBeTrue("'transaction' in request");
+ shouldBeNull("request.transaction");
+ shouldBeTrue("'readyState' in request");
+ shouldBe("request.readyState", "webkitIDBRequest.LOADING");
+ shouldBeTrue("'onsuccess' in request");
+ shouldBeNull("request.onsuccess");
+ shouldBeTrue("'onerror' in request");
+ shouldBeNull("request.onerror");
+ shouldBe("request.LOADING", "1");
+ shouldBe("request.DONE", "2");
+ request.onsuccess = openCallback;
+ request.onerror = unexpectedErrorCallback;
}
+function openCallback()
+{
+ shouldBeTrue("'result' in event.target");
+ shouldBeTrue("!!event.target.result");
+ shouldBeTrue("'errorCode' in event.target");
+ shouldBe("event.target.errorCode", "0");
+ shouldBeTrue("'webkitErrorMessage' in event.target");
+ shouldBeUndefined("event.target.webkitErrorMessage");
+ shouldBeTrue("'source' in event.target");
+ shouldBe("request.source", "webkitIndexedDB");
+ shouldBeTrue("'transaction' in event.target");
+ shouldBeNull("event.target.transaction");
+ shouldBeTrue("'readyState' in request");
+ shouldBe("event.target.readyState", "webkitIDBRequest.DONE");
+ shouldBeTrue("'onsuccess' in event.target");
+ shouldBeTrue("'onerror' in event.target");
+ shouldBe("event.target.LOADING", "1");
+ shouldBe("event.target.DONE", "2");
+
+ done();
+}
test();
diff --git a/LayoutTests/storage/indexeddb/create-and-remove-object-store-expected.txt b/LayoutTests/storage/indexeddb/create-and-remove-object-store-expected.txt
index 21f7d8d..528ba89 100644
--- a/LayoutTests/storage/indexeddb/create-and-remove-object-store-expected.txt
+++ b/LayoutTests/storage/indexeddb/create-and-remove-object-store-expected.txt
@@ -3,68 +3,41 @@ Test IndexedDB's create and removeObjectStore
On success, you will see a series of "PASS" messages, followed by "TEST COMPLETE".
-PASS 'webkitIndexedDB' in window is true
-PASS webkitIndexedDB == null is false
-webkitIndexedDB.open('name')
-PASS 'onsuccess' in result is true
-PASS 'onerror' in result is true
-PASS 'readyState' in result is true
-An event should fire shortly...
-
+webkitIndexedDB.open('create-and-remove-object-store')
openSuccess():
-Success event fired:
-PASS 'result' in event is true
-PASS 'code' in event is false
-PASS 'message' in event is false
-PASS 'source' in event is true
-PASS event.source != null is true
-PASS 'onsuccess' in event.target is true
-PASS 'onerror' in event.target is true
-PASS 'readyState' in event.target is true
-PASS event.target.readyState is event.target.DONE
-
-db = event.result
+db = event.target.result
Trying create
+Expecting exception from db.createObjectStore("some os")
+PASS Exception was thrown.
PASS code is webkitIDBDatabaseException.NOT_ALLOWED_ERR
Trying remove
+Expecting exception from db.createObjectStore("some os")
+PASS Exception was thrown.
PASS code is webkitIDBDatabaseException.NOT_ALLOWED_ERR
result = db.setVersion('version 1')
Trying create
+Expecting exception from db.createObjectStore("some os")
+PASS Exception was thrown.
PASS code is webkitIDBDatabaseException.NOT_ALLOWED_ERR
Trying remove
+Expecting exception from db.createObjectStore("some os")
+PASS Exception was thrown.
PASS code is webkitIDBDatabaseException.NOT_ALLOWED_ERR
-Success event fired:
-PASS 'result' in event is true
-PASS 'code' in event is false
-PASS 'message' in event is false
-PASS 'source' in event is true
-PASS event.source != null is true
-PASS 'onsuccess' in event.target is true
-PASS 'onerror' in event.target is true
-PASS 'readyState' in event.target is true
-PASS event.target.readyState is event.target.DONE
-
Deleted all object stores.
db.createObjectStore('tmp')
-Adding 'tmp' again
+Expecting exception from db.createObjectStore('tmp')
+PASS Exception was thrown.
PASS code is webkitIDBDatabaseException.CONSTRAINT_ERR
trans = db.transaction({mode: webkitIDBTransaction.READ_WRITE})
trans.objectStore('tmp').get(0)
-Success event fired:
-PASS 'result' in event is true
-PASS 'code' in event is false
-PASS 'message' in event is false
-PASS 'source' in event is true
-PASS event.source != null is true
-PASS 'onsuccess' in event.target is true
-PASS 'onerror' in event.target is true
-PASS 'readyState' in event.target is true
-PASS event.target.readyState is event.target.DONE
-
-PASS event.result is undefined
+PASS event.target.result is undefined.
Trying create
+Expecting exception from db.createObjectStore("some os")
+PASS Exception was thrown.
PASS code is webkitIDBDatabaseException.NOT_ALLOWED_ERR
Trying remove
+Expecting exception from db.createObjectStore("some os")
+PASS Exception was thrown.
PASS code is webkitIDBDatabaseException.NOT_ALLOWED_ERR
PASS successfullyParsed is true
diff --git a/LayoutTests/storage/indexeddb/create-and-remove-object-store.html b/LayoutTests/storage/indexeddb/create-and-remove-object-store.html
index 7bde468..43c1fe1 100644
--- a/LayoutTests/storage/indexeddb/create-and-remove-object-store.html
+++ b/LayoutTests/storage/indexeddb/create-and-remove-object-store.html
@@ -16,74 +16,46 @@ if (window.layoutTestController)
function test()
{
- shouldBeTrue("'webkitIndexedDB' in window");
- shouldBeFalse("webkitIndexedDB == null");
-
- result = evalAndLog("webkitIndexedDB.open('name')");
- verifyResult(result);
- result.onsuccess = openSuccess;
- result.onerror = unexpectedErrorCallback;
+ request = evalAndLog("webkitIndexedDB.open('create-and-remove-object-store')");
+ request.onsuccess = openSuccess;
+ request.onerror = unexpectedErrorCallback;
}
function openSuccess()
{
debug("openSuccess():");
- verifySuccessEvent(event);
- window.db = evalAndLog("db = event.result");
+ window.db = evalAndLog("db = event.target.result");
testCreateAndRemove();
- result = evalAndLog("result = db.setVersion('version 1')");
- result.onsuccess = cleanDatabase;
- result.onerror = unexpectedErrorCallback;
+ request = evalAndLog("result = db.setVersion('version 1')");
+ request.onsuccess = cleanDatabase;
+ request.onerror = unexpectedErrorCallback;
testCreateAndRemove();
}
function testCreateAndRemove()
{
debug("Trying create");
- try {
- db.createObjectStore("some os");
- testFailed("No exception thrown!");
- } catch (e) {
- code = e.code;
- shouldBe("code", "webkitIDBDatabaseException.NOT_ALLOWED_ERR");
- }
+ evalAndExpectException('db.createObjectStore("some os")', "webkitIDBDatabaseException.NOT_ALLOWED_ERR");
debug("Trying remove");
- try {
- db.createObjectStore("some os");
- testFailed("No exception thrown!");
- } catch (e) {
- code = e.code;
- shouldBe("code", "webkitIDBDatabaseException.NOT_ALLOWED_ERR");
- }
+ evalAndExpectException('db.createObjectStore("some os")', "webkitIDBDatabaseException.NOT_ALLOWED_ERR");
}
function cleanDatabase()
{
- verifySuccessEvent(event);
- deleteAllObjectStores(db, cleaned);
-}
+ deleteAllObjectStores(db);
-function cleaned()
-{
os = evalAndLog("db.createObjectStore('tmp')");
- debug("Adding 'tmp' again");
- try {
- db.createObjectStore('tmp');
- testFailed("No exception thrown!");
- } catch (e) {
- code = e.code;
- shouldBe("code", "webkitIDBDatabaseException.CONSTRAINT_ERR");
- }
+ evalAndExpectException("db.createObjectStore('tmp')", "webkitIDBDatabaseException.CONSTRAINT_ERR");
+
trans = evalAndLog("trans = db.transaction({mode: webkitIDBTransaction.READ_WRITE})");
- req = evalAndLog("trans.objectStore('tmp').get(0)");
- req.onsuccess = tryOnceMore;
- req.onerror = unexpectedErrorCallback;
+ request = evalAndLog("trans.objectStore('tmp').get(0)");
+ request.onsuccess = tryOnceMore;
+ request.onerror = unexpectedErrorCallback;
}
function tryOnceMore()
{
- verifySuccessEvent(event);
- shouldBe("event.result", "undefined");
+ shouldBeUndefined("event.target.result");
testCreateAndRemove();
diff --git a/LayoutTests/storage/indexeddb/create-object-store-options-expected.txt b/LayoutTests/storage/indexeddb/create-object-store-options-expected.txt
index 5519508..5f0e94d 100644
--- a/LayoutTests/storage/indexeddb/create-object-store-options-expected.txt
+++ b/LayoutTests/storage/indexeddb/create-object-store-options-expected.txt
@@ -5,14 +5,9 @@ On success, you will see a series of "PASS" messages, followed by "TEST COMPLETE
PASS 'webkitIndexedDB' in window is true
PASS webkitIndexedDB == null is false
-webkitIndexedDB.open('name', 'description')
-PASS 'onsuccess' in result is true
-PASS 'onerror' in result is true
-PASS 'readyState' in result is true
-An event should fire shortly...
-
-db = event.result
-result = db.setVersion('version 1')
+webkitIndexedDB.open('create-object-store-options', 'description')
+db = event.target.result
+request = db.setVersion('version 1')
Deleted all object stores.
db.createObjectStore('a', {keyPath: 'a'})
db.createObjectStore('b')
@@ -22,9 +17,9 @@ PASS trans.mode is webkitIDBTransaction.READ_WRITE
trans.objectStore('a').put({'a': 0})
trans.objectStore('b').put({'a': 0}, 0)
trans.objectStore('a').get(0)
-PASS event.result.a is {a: 0}
+PASS event.target.result.a is {a: 0}
trans.objectStore('b').get(0)
-PASS event.result.a is {a: 0}
+PASS event.target.result.a is {a: 0}
PASS successfullyParsed is true
TEST COMPLETE
diff --git a/LayoutTests/storage/indexeddb/create-object-store-options.html b/LayoutTests/storage/indexeddb/create-object-store-options.html
index 6709e58..bf600d7 100644
--- a/LayoutTests/storage/indexeddb/create-object-store-options.html
+++ b/LayoutTests/storage/indexeddb/create-object-store-options.html
@@ -19,28 +19,24 @@ function test()
shouldBeTrue("'webkitIndexedDB' in window");
shouldBeFalse("webkitIndexedDB == null");
- result = evalAndLog("webkitIndexedDB.open('name', 'description')");
- verifyResult(result);
- result.onsuccess = openSuccess;
- result.onerror = unexpectedErrorCallback;
+ request = evalAndLog("webkitIndexedDB.open('create-object-store-options', 'description')");
+ request.onsuccess = openSuccess;
+ request.onerror = unexpectedErrorCallback;
}
function openSuccess()
{
- db = evalAndLog("db = event.result");
+ db = evalAndLog("db = event.target.result");
- result = evalAndLog("result = db.setVersion('version 1')");
- result.onsuccess = cleanDatabase;
- result.onerror = unexpectedErrorCallback;
+ request = evalAndLog("request = db.setVersion('version 1')");
+ request.onsuccess = cleanDatabase;
+ request.onerror = unexpectedErrorCallback;
}
function cleanDatabase()
{
- deleteAllObjectStores(db, cleaned);
-}
+ deleteAllObjectStores(db);
-function cleaned()
-{
evalAndLog("db.createObjectStore('a', {keyPath: 'a'})");
evalAndLog("db.createObjectStore('b')");
@@ -71,7 +67,7 @@ function getA()
function getB()
{
- shouldBe("event.result.a", "{a: 0}");
+ shouldBe("event.target.result.a", "{a: 0}");
req = evalAndLog("trans.objectStore('b').get(0)");
req.onsuccess = checkB;
@@ -80,7 +76,7 @@ function getB()
function checkB()
{
- shouldBe("event.result.a", "{a: 0}");
+ shouldBe("event.target.result.a", "{a: 0}");
done();
}
diff --git a/LayoutTests/storage/indexeddb/cursor-continue-expected.txt b/LayoutTests/storage/indexeddb/cursor-continue-expected.txt
new file mode 100644
index 0000000..80a338c
--- /dev/null
+++ b/LayoutTests/storage/indexeddb/cursor-continue-expected.txt
@@ -0,0 +1,79 @@
+Test IndexedDB's IDBCursor.continue() with a key parameter.
+
+On success, you will see a series of "PASS" messages, followed by "TEST COMPLETE".
+
+
+webkitIndexedDB.open('cursor-continue')
+db = event.target.result
+db.setVersion('new version')
+trans = event.target.result
+PASS trans !== null is true
+Deleted all object stores.
+db.createObjectStore('someObjectStore')
+objectStore.createIndex('someIndex', 'x')
+objectStore.add({'x': testData[nextToAdd]}, nextToAdd)
+objectStore.add({'x': testData[nextToAdd]}, nextToAdd)
+objectStore.add({'x': testData[nextToAdd]}, nextToAdd)
+objectStore.add({'x': testData[nextToAdd]}, nextToAdd)
+objectStore.add({'x': testData[nextToAdd]}, nextToAdd)
+objectStore.add({'x': testData[nextToAdd]}, nextToAdd)
+objectStore.add({'x': testData[nextToAdd]}, nextToAdd)
+objectStore.add({'x': testData[nextToAdd]}, nextToAdd)
+objectStore.add({'x': testData[nextToAdd]}, nextToAdd)
+objectStore.add({'x': testData[nextToAdd]}, nextToAdd)
+objectStore.add({'x': testData[nextToAdd]}, nextToAdd)
+objectStore.add({'x': testData[nextToAdd]}, nextToAdd)
+objectStore.add({'x': testData[nextToAdd]}, nextToAdd)
+objectStore.add({'x': testData[nextToAdd]}, nextToAdd)
+objectStore.add({'x': testData[nextToAdd]}, nextToAdd)
+objectStore.add({'x': testData[nextToAdd]}, nextToAdd)
+objectStore.add({'x': testData[nextToAdd]}, nextToAdd)
+objectStore.add({'x': testData[nextToAdd]}, nextToAdd)
+
+indexObject.openKeyCursor(null, webkitIDBCursor.NEXT)
+PASS event.target.result.primaryKey is 0
+event.target.result.continue(3.14159)
+PASS event.target.result.primaryKey is 3
+event.target.result.continue(3.14159)
+PASS event.target.result.primaryKey is 4
+event.target.result.continue(3.14159)
+PASS event.target.result.primaryKey is 5
+event.target.result.continue(12)
+PASS event.target.result.primaryKey is 7
+event.target.result.continue(date)
+PASS event.target.result.primaryKey is 9
+event.target.result.continue(date)
+PASS event.target.result.primaryKey is 10
+event.target.result.continue(date)
+PASS event.target.result.primaryKey is 11
+event.target.result.continue('A bit1')
+PASS event.target.result.primaryKey is 14
+event.target.result.continue('A bit3')
+PASS event.target.result.primaryKey is 16
+event.target.result.continue('the BIGGEST string')
+PASS event.target.result.primaryKey is 17
+event.target.result.continue('the BIGGEST string')
+PASS event.target.result is null
+
+indexObject.openKeyCursor(null, webkitIDBCursor.PREV)
+PASS event.target.result.primaryKey is 17
+event.target.result.continue('A bit2')
+PASS event.target.result.primaryKey is 15
+event.target.result.continue('A bit2')
+PASS event.target.result.primaryKey is 14
+event.target.result.continue(date)
+PASS event.target.result.primaryKey is 10
+event.target.result.continue(date)
+PASS event.target.result.primaryKey is 9
+event.target.result.continue(1)
+PASS event.target.result.primaryKey is 2
+event.target.result.continue(1)
+PASS event.target.result.primaryKey is 1
+event.target.result.continue(1)
+PASS event.target.result.primaryKey is 0
+event.target.result.continue(1)
+PASS event.target.result is null
+PASS successfullyParsed is true
+
+TEST COMPLETE
+
diff --git a/LayoutTests/storage/indexeddb/cursor-continue.html b/LayoutTests/storage/indexeddb/cursor-continue.html
new file mode 100644
index 0000000..ce4d436
--- /dev/null
+++ b/LayoutTests/storage/indexeddb/cursor-continue.html
@@ -0,0 +1,183 @@
+<html>
+<head>
+<link rel="stylesheet" href="../../fast/js/resources/js-test-style.css">
+<script src="../../fast/js/resources/js-test-pre.js"></script>
+<script src="../../fast/js/resources/js-test-post-function.js"></script>
+<script src="resources/shared.js"></script>
+</head>
+<body>
+<p id="description"></p>
+<div id="console"></div>
+<script>
+
+description("Test IndexedDB's IDBCursor.continue() with a key parameter.");
+if (window.layoutTestController)
+ layoutTestController.waitUntilDone();
+
+var date = new Date();
+
+// In order of how it should be sorted by IndexedDB.
+window.testData = [
+ 0,
+ 1,
+ 1,
+ 3.14159,
+ 3.14159,
+ 10,
+ 11,
+ 12,
+ 13,
+ date,
+ date,
+ new Date(date.valueOf() + 1000),
+ "A big string",
+ "A big string",
+ "A bit1",
+ "A bit2",
+ "A bit3",
+ "the BIGGEST string"
+];
+
+function openDatabase()
+{
+ result = evalAndLog("webkitIndexedDB.open('cursor-continue')");
+ result.onsuccess = setVersion;
+ result.onerror = unexpectedErrorCallback;
+}
+
+function setVersion()
+{
+ window.db = evalAndLog("db = event.target.result");
+
+ result = evalAndLog("db.setVersion('new version')");
+ result.onsuccess = deleteExisting;
+ result.onerror = unexpectedErrorCallback;
+}
+
+function deleteExisting()
+{
+ window.trans = evalAndLog("trans = event.target.result");
+ shouldBeTrue("trans !== null");
+ trans.onabort = unexpectedAbortCallback;
+
+ deleteAllObjectStores(db);
+
+ window.objectStore = evalAndLog("db.createObjectStore('someObjectStore')");
+ window.indexObject = evalAndLog("objectStore.createIndex('someIndex', 'x')");
+ window.nextToAdd = 0;
+ addData();
+}
+
+function addData()
+{
+ result = evalAndLog("objectStore.add({'x': testData[nextToAdd]}, nextToAdd)");
+ result.onsuccess = ++window.nextToAdd < testData.length ? addData : ascendingTest;
+ result.onerror = unexpectedErrorCallback;
+}
+
+function ascendingTest()
+{
+ debug("");
+ var request = evalAndLog("indexObject.openKeyCursor(null, webkitIDBCursor.NEXT)");
+ request.onsuccess = ascendingCallback;
+ request.onerror = unexpectedErrorCallback;
+ window.stage = 0;
+}
+
+function ascendingCallback()
+
+{
+ if (window.stage == 0) {
+ shouldBe("event.target.result.primaryKey", "0");
+ evalAndLog("event.target.result.continue(3.14159)");
+ } else if (window.stage == 1) {
+ shouldBe("event.target.result.primaryKey", "3");
+ evalAndLog("event.target.result.continue(3.14159)");
+ } else if (window.stage == 2) {
+ shouldBe("event.target.result.primaryKey", "4");
+ evalAndLog("event.target.result.continue(3.14159)");
+ } else if (window.stage == 3) {
+ shouldBe("event.target.result.primaryKey", "5");
+ evalAndLog("event.target.result.continue(12)");
+ } else if (window.stage == 4) {
+ shouldBe("event.target.result.primaryKey", "7");
+ evalAndLog("event.target.result.continue(date)");
+ } else if (window.stage == 5) {
+ shouldBe("event.target.result.primaryKey", "9");
+ evalAndLog("event.target.result.continue(date)");
+ } else if (window.stage == 6) {
+ shouldBe("event.target.result.primaryKey", "10");
+ evalAndLog("event.target.result.continue(date)");
+ } else if (window.stage == 7) {
+ shouldBe("event.target.result.primaryKey", "11");
+ evalAndLog("event.target.result.continue('A bit1')");
+ } else if (window.stage == 8) {
+ shouldBe("event.target.result.primaryKey", "14");
+ evalAndLog("event.target.result.continue('A bit3')");
+ } else if (window.stage == 9) {
+ shouldBe("event.target.result.primaryKey", "16");
+ evalAndLog("event.target.result.continue('the BIGGEST string')");
+ } else if (window.stage == 10) {
+ shouldBe("event.target.result.primaryKey", "17");
+ evalAndLog("event.target.result.continue('the BIGGEST string')");
+ } else if (window.stage == 11) {
+ shouldBeNull("event.target.result");
+ descendingTest();
+ return;
+ } else {
+ testFailed("Illegal stage.");
+ }
+ window.stage++;
+}
+
+function descendingTest()
+{
+ debug("");
+ var request = evalAndLog("indexObject.openKeyCursor(null, webkitIDBCursor.PREV)");
+ request.onsuccess = descendingCallback;
+ request.onerror = unexpectedErrorCallback;
+ window.stage = 0;
+}
+
+function descendingCallback()
+{
+ if (window.stage == 0) {
+ shouldBe("event.target.result.primaryKey", "17");
+ evalAndLog("event.target.result.continue('A bit2')");
+ } else if (window.stage == 1) {
+ shouldBe("event.target.result.primaryKey", "15");
+ evalAndLog("event.target.result.continue('A bit2')");
+ } else if (window.stage == 2) {
+ shouldBe("event.target.result.primaryKey", "14");
+ evalAndLog("event.target.result.continue(date)");
+ } else if (window.stage == 3) {
+ shouldBe("event.target.result.primaryKey", "10");
+ evalAndLog("event.target.result.continue(date)");
+ } else if (window.stage == 4) {
+ shouldBe("event.target.result.primaryKey", "9");
+ evalAndLog("event.target.result.continue(1)");
+ } else if (window.stage == 5) {
+ shouldBe("event.target.result.primaryKey", "2");
+ evalAndLog("event.target.result.continue(1)");
+ } else if (window.stage == 6) {
+ shouldBe("event.target.result.primaryKey", "1");
+ evalAndLog("event.target.result.continue(1)");
+ } else if (window.stage == 7) {
+ shouldBe("event.target.result.primaryKey", "0");
+ evalAndLog("event.target.result.continue(1)");
+ } else if (window.stage == 8) {
+ shouldBeNull("event.target.result");
+ done();
+ return;
+ } else {
+ testFailed("Illegal stage.");
+ }
+ window.stage++;
+}
+
+openDatabase(); // The first step.
+var successfullyParsed = true;
+
+</script>
+</body>
+</html>
diff --git a/LayoutTests/storage/indexeddb/cursor-delete-expected.txt b/LayoutTests/storage/indexeddb/cursor-delete-expected.txt
index 525ced7..edda620 100644
--- a/LayoutTests/storage/indexeddb/cursor-delete-expected.txt
+++ b/LayoutTests/storage/indexeddb/cursor-delete-expected.txt
@@ -3,43 +3,11 @@ Test IndexedDB's openCursor.
On success, you will see a series of "PASS" messages, followed by "TEST COMPLETE".
-webkitIndexedDB.open('name')
-PASS 'onsuccess' in result is true
-PASS 'onerror' in result is true
-PASS 'readyState' in result is true
-An event should fire shortly...
-
-Success event fired:
-PASS 'result' in event is true
-PASS 'code' in event is false
-PASS 'message' in event is false
-PASS 'source' in event is true
-PASS event.source != null is true
-PASS 'onsuccess' in event.target is true
-PASS 'onerror' in event.target is true
-PASS 'readyState' in event.target is true
-PASS event.target.readyState is event.target.DONE
-
-db = event.result
+webkitIndexedDB.open('cursor-delete')
+db = event.target.result
db.setVersion('new version')
-PASS 'onsuccess' in result is true
-PASS 'onerror' in result is true
-PASS 'readyState' in result is true
-An event should fire shortly...
-
setVersionSuccess():
-Success event fired:
-PASS 'result' in event is true
-PASS 'code' in event is false
-PASS 'message' in event is false
-PASS 'source' in event is true
-PASS event.source != null is true
-PASS 'onsuccess' in event.target is true
-PASS 'onerror' in event.target is true
-PASS 'readyState' in event.target is true
-PASS event.target.readyState is event.target.DONE
-
-trans = event.result
+trans = event.target.result
PASS trans !== null is true
Deleted all object stores.
objectStore = db.createObjectStore('test')
@@ -50,83 +18,30 @@ objectStore.add('myValue4', 'myKey4')
openCursor1
trans = db.transaction(['test'], webkitIDBTransaction.READ_WRITE)
trans.objectStore('test').openCursor({range: keyRange})
-PASS 'onsuccess' in result is true
-PASS 'onerror' in result is true
-PASS 'readyState' in result is true
-An event should fire shortly...
-
-event.result.delete()
-PASS event.result.value is "myValue1"
-event.result.continue()
-event.result.delete()
-PASS event.result.value is "myValue2"
-event.result.continue()
-event.result.delete()
-PASS event.result.value is "myValue3"
-event.result.continue()
-event.result.delete()
-PASS event.result.value is "myValue4"
-event.result.continue()
+event.target.result.delete()
+PASS event.target.result.value is "myValue1"
+event.target.result.continue()
+event.target.result.delete()
+PASS event.target.result.value is "myValue2"
+event.target.result.continue()
+event.target.result.delete()
+PASS event.target.result.value is "myValue3"
+event.target.result.continue()
+event.target.result.delete()
+PASS event.target.result.value is "myValue4"
+event.target.result.continue()
PASS counter is 5
trans.objectStore('test').openCursor(keyRange)
-PASS 'onsuccess' in result is true
-PASS 'onerror' in result is true
-PASS 'readyState' in result is true
-An event should fire shortly...
-
-Success event fired:
-PASS 'result' in event is true
-PASS 'code' in event is false
-PASS 'message' in event is false
-PASS 'source' in event is true
-PASS event.source != null is true
-PASS 'onsuccess' in event.target is true
-PASS 'onerror' in event.target is true
-PASS 'readyState' in event.target is true
-PASS event.target.readyState is event.target.DONE
-
-PASS event.result is null
+PASS event.target.result is null
trans = db.transaction(['test'], webkitIDBTransaction.READ_WRITE)
objectStore = trans.objectStore('test')
objectStore.add('myValue1', 'myKey1')
-PASS 'onsuccess' in result is true
-PASS 'onerror' in result is true
-PASS 'readyState' in result is true
-An event should fire shortly...
-
openCursor2
objectStore.openCursor(keyRange)
-PASS 'onsuccess' in result is true
-PASS 'onerror' in result is true
-PASS 'readyState' in result is true
-An event should fire shortly...
-
-Success event fired:
-PASS 'result' in event is true
-PASS 'code' in event is false
-PASS 'message' in event is false
-PASS 'source' in event is true
-PASS event.source != null is true
-PASS 'onsuccess' in event.target is true
-PASS 'onerror' in event.target is true
-PASS 'readyState' in event.target is true
-PASS event.target.readyState is event.target.DONE
-
-PASS [object IDBCursor] is non-null.
-event.result.delete()
+PASS [object IDBCursorWithValue] is non-null.
+event.target.result.delete()
objectStore.get('myKey1')
-Success event fired:
-PASS 'result' in event is true
-PASS 'code' in event is false
-PASS 'message' in event is false
-PASS 'source' in event is true
-PASS event.source != null is true
-PASS 'onsuccess' in event.target is true
-PASS 'onerror' in event.target is true
-PASS 'readyState' in event.target is true
-PASS event.target.readyState is event.target.DONE
-
-PASS event.result is undefined
+PASS event.target.result is undefined
PASS successfullyParsed is true
TEST COMPLETE
diff --git a/LayoutTests/storage/indexeddb/cursor-delete.html b/LayoutTests/storage/indexeddb/cursor-delete.html
index bb0102f..6b5da9e 100644
--- a/LayoutTests/storage/indexeddb/cursor-delete.html
+++ b/LayoutTests/storage/indexeddb/cursor-delete.html
@@ -18,37 +18,30 @@ test();
function test()
{
- result = evalAndLog("webkitIndexedDB.open('name')");
- verifyResult(result);
- result.onsuccess = openSuccess;
- result.onerror = unexpectedErrorCallback;
+ request = evalAndLog("webkitIndexedDB.open('cursor-delete')");
+ request.onsuccess = openSuccess;
+ request.onerror = unexpectedErrorCallback;
}
function openSuccess()
{
- verifySuccessEvent(event);
- var db = evalAndLog("db = event.result");
+ var db = evalAndLog("db = event.target.result");
- result = evalAndLog("db.setVersion('new version')");
- verifyResult(result);
- result.onsuccess = setVersionSuccess;
- result.onerror = unexpectedErrorCallback;
+ request = evalAndLog("db.setVersion('new version')");
+ request.onsuccess = setVersionSuccess;
+ request.onerror = unexpectedErrorCallback;
}
function setVersionSuccess()
{
debug("setVersionSuccess():");
- verifySuccessEvent(event);
- window.trans = evalAndLog("trans = event.result");
+ window.trans = evalAndLog("trans = event.target.result");
shouldBeTrue("trans !== null");
trans.onabort = unexpectedAbortCallback;
trans.oncomplete = openCursor;
- deleteAllObjectStores(db, createAndPopulateObjectStore);
-}
+ deleteAllObjectStores(db);
-function createAndPopulateObjectStore()
-{
var objectStore = evalAndLog("objectStore = db.createObjectStore('test')");
evalAndLog("objectStore.add('myValue1', 'myKey1')");
evalAndLog("objectStore.add('myValue2', 'myKey2')");
@@ -61,32 +54,29 @@ function openCursor()
debug("openCursor1");
evalAndLog("trans = db.transaction(['test'], webkitIDBTransaction.READ_WRITE)");
keyRange = webkitIDBKeyRange.lowerBound("myKey1");
- result = evalAndLog("trans.objectStore('test').openCursor({range: keyRange})");
- verifyResult(result);
- result.onsuccess = cursorSuccess;
- result.onerror = unexpectedErrorCallback;
+ request = evalAndLog("trans.objectStore('test').openCursor({range: keyRange})");
+ request.onsuccess = cursorSuccess;
+ request.onerror = unexpectedErrorCallback;
counter = 1;
}
function cursorSuccess()
{
- if (event.result == null) {
+ if (event.target.result == null) {
shouldBe("counter", "5");
- result = evalAndLog("trans.objectStore('test').openCursor(keyRange)");
- verifyResult(result);
- result.onsuccess = cursorEmpty;
- result.onerror = unexpectedErrorCallback;
+ request = evalAndLog("trans.objectStore('test').openCursor(keyRange)");
+ request.onsuccess = cursorEmpty;
+ request.onerror = unexpectedErrorCallback;
return;
}
- evalAndLog("event.result.delete()");
- shouldBeEqualToString("event.result.value", "myValue" + counter++);
- evalAndLog("event.result.continue()");
+ evalAndLog("event.target.result.delete()");
+ shouldBeEqualToString("event.target.result.value", "myValue" + counter++);
+ evalAndLog("event.target.result.continue()");
}
function cursorEmpty()
{
- verifySuccessEvent(event);
- shouldBeNull("event.result");
+ shouldBeNull("event.target.result");
trans.oncomplete = addObject;
}
@@ -94,35 +84,31 @@ function addObject()
{
evalAndLog("trans = db.transaction(['test'], webkitIDBTransaction.READ_WRITE)");
objectStore = evalAndLog("objectStore = trans.objectStore('test')");
- result = evalAndLog("objectStore.add('myValue1', 'myKey1')");
- verifyResult(result);
- result.onsuccess = openCursor2;
- result.onerror = unexpectedErrorCallback;
+ request = evalAndLog("objectStore.add('myValue1', 'myKey1')");
+ request.onsuccess = openCursor2;
+ request.onerror = unexpectedErrorCallback;
}
function openCursor2()
{
debug("openCursor2");
- result = evalAndLog("objectStore.openCursor(keyRange)");
- verifyResult(result);
- result.onsuccess = deleteObject;
- result.onerror = unexpectedErrorCallback;
+ request = evalAndLog("objectStore.openCursor(keyRange)");
+ request.onsuccess = deleteObject;
+ request.onerror = unexpectedErrorCallback;
}
function deleteObject()
{
- verifySuccessEvent(event);
- shouldBeNonNull(event.result);
- evalAndLog("event.result.delete()");
- result = evalAndLog("objectStore.get('myKey1')");
- result.onsuccess = verifyObjectDeleted;
- result.onerror = unexpectedErrorCallback;
+ shouldBeNonNull(event.target.result);
+ evalAndLog("event.target.result.delete()");
+ request = evalAndLog("objectStore.get('myKey1')");
+ request.onsuccess = verifyObjectDeleted;
+ request.onerror = unexpectedErrorCallback;
}
function verifyObjectDeleted()
{
- verifySuccessEvent(event);
- shouldBe("event.result", "undefined");
+ shouldBe("event.target.result", "undefined");
done();
}
diff --git a/LayoutTests/storage/indexeddb/cursor-index-delete-expected.txt b/LayoutTests/storage/indexeddb/cursor-index-delete-expected.txt
index a477a25..b7d16d3 100644
--- a/LayoutTests/storage/indexeddb/cursor-index-delete-expected.txt
+++ b/LayoutTests/storage/indexeddb/cursor-index-delete-expected.txt
@@ -3,43 +3,11 @@ Test IndexedDB's openCursor.
On success, you will see a series of "PASS" messages, followed by "TEST COMPLETE".
-webkitIndexedDB.open('name')
-PASS 'onsuccess' in result is true
-PASS 'onerror' in result is true
-PASS 'readyState' in result is true
-An event should fire shortly...
-
-Success event fired:
-PASS 'result' in event is true
-PASS 'code' in event is false
-PASS 'message' in event is false
-PASS 'source' in event is true
-PASS event.source != null is true
-PASS 'onsuccess' in event.target is true
-PASS 'onerror' in event.target is true
-PASS 'readyState' in event.target is true
-PASS event.target.readyState is event.target.DONE
-
-db = event.result
+webkitIndexedDB.open('cursor-index-delete')
+db = event.target.result
db.setVersion('new version')
-PASS 'onsuccess' in result is true
-PASS 'onerror' in result is true
-PASS 'readyState' in result is true
-An event should fire shortly...
-
setVersionSuccess():
-Success event fired:
-PASS 'result' in event is true
-PASS 'code' in event is false
-PASS 'message' in event is false
-PASS 'source' in event is true
-PASS event.source != null is true
-PASS 'onsuccess' in event.target is true
-PASS 'onerror' in event.target is true
-PASS 'readyState' in event.target is true
-PASS event.target.readyState is event.target.DONE
-
-trans = event.result
+trans = event.target.result
PASS trans !== null is true
Deleted all object stores.
objectStore = db.createObjectStore('test')
@@ -51,83 +19,30 @@ objectStore.add({x: 4}, 'myKey4')
openCursor1
trans = db.transaction(['test'], webkitIDBTransaction.READ_WRITE)
trans.objectStore('test').index('testIndex').openCursor(keyRange)
-PASS 'onsuccess' in result is true
-PASS 'onerror' in result is true
-PASS 'readyState' in result is true
-An event should fire shortly...
-
-event.result.delete()
-PASS event.result.key is counter++
-event.result.continue()
-event.result.delete()
-PASS event.result.key is counter++
-event.result.continue()
-event.result.delete()
-PASS event.result.key is counter++
-event.result.continue()
-event.result.delete()
-PASS event.result.key is counter++
-event.result.continue()
+event.target.result.delete()
+PASS event.target.result.key is counter++
+event.target.result.continue()
+event.target.result.delete()
+PASS event.target.result.key is counter++
+event.target.result.continue()
+event.target.result.delete()
+PASS event.target.result.key is counter++
+event.target.result.continue()
+event.target.result.delete()
+PASS event.target.result.key is counter++
+event.target.result.continue()
PASS counter is 5
trans.objectStore('test').index('testIndex').openCursor(keyRange)
-PASS 'onsuccess' in result is true
-PASS 'onerror' in result is true
-PASS 'readyState' in result is true
-An event should fire shortly...
-
-Success event fired:
-PASS 'result' in event is true
-PASS 'code' in event is false
-PASS 'message' in event is false
-PASS 'source' in event is true
-PASS event.source != null is true
-PASS 'onsuccess' in event.target is true
-PASS 'onerror' in event.target is true
-PASS 'readyState' in event.target is true
-PASS event.target.readyState is event.target.DONE
-
-PASS event.result is null
+PASS event.target.result is null
trans = db.transaction(['test'], webkitIDBTransaction.READ_WRITE)
objectStore = trans.objectStore('test')
objectStore.add({x: 1}, 'myKey1')
-PASS 'onsuccess' in result is true
-PASS 'onerror' in result is true
-PASS 'readyState' in result is true
-An event should fire shortly...
-
openCursor2
-index = event.source.index('testIndex')
+index = event.target.source.index('testIndex')
index.openCursor(keyRange)
-PASS 'onsuccess' in result is true
-PASS 'onerror' in result is true
-PASS 'readyState' in result is true
-An event should fire shortly...
-
-Success event fired:
-PASS 'result' in event is true
-PASS 'code' in event is false
-PASS 'message' in event is false
-PASS 'source' in event is true
-PASS event.source != null is true
-PASS 'onsuccess' in event.target is true
-PASS 'onerror' in event.target is true
-PASS 'readyState' in event.target is true
-PASS event.target.readyState is event.target.DONE
-
-PASS [object IDBCursor] is non-null.
-event.result.delete()
+PASS [object IDBCursorWithValue] is non-null.
+event.target.result.delete()
index.get(1)
-Error event fired:
-PASS 'result' in event is false
-PASS 'code' in event is true
-PASS 'message' in event is true
-PASS 'source' in event is true
-PASS event.source != null is true
-PASS 'onsuccess' in event.target is true
-PASS 'onerror' in event.target is true
-PASS 'readyState' in event.target is true
-PASS event.target.readyState is event.target.DONE
-
event.preventDefault()
PASS successfullyParsed is true
diff --git a/LayoutTests/storage/indexeddb/cursor-index-delete.html b/LayoutTests/storage/indexeddb/cursor-index-delete.html
index 852a7eb..e4df903 100644
--- a/LayoutTests/storage/indexeddb/cursor-index-delete.html
+++ b/LayoutTests/storage/indexeddb/cursor-index-delete.html
@@ -18,37 +18,30 @@ test();
function test()
{
- result = evalAndLog("webkitIndexedDB.open('name')");
- verifyResult(result);
- result.onsuccess = openSuccess;
- result.onerror = unexpectedErrorCallback;
+ request = evalAndLog("webkitIndexedDB.open('cursor-index-delete')");
+ request.onsuccess = openSuccess;
+ request.onerror = unexpectedErrorCallback;
}
function openSuccess()
{
- verifySuccessEvent(event);
- var db = evalAndLog("db = event.result");
+ var db = evalAndLog("db = event.target.result");
- result = evalAndLog("db.setVersion('new version')");
- verifyResult(result);
- result.onsuccess = setVersionSuccess;
- result.onerror = unexpectedErrorCallback;
+ request = evalAndLog("db.setVersion('new version')");
+ request.onsuccess = setVersionSuccess;
+ request.onerror = unexpectedErrorCallback;
}
function setVersionSuccess()
{
debug("setVersionSuccess():");
- verifySuccessEvent(event);
- window.trans = evalAndLog("trans = event.result");
+ window.trans = evalAndLog("trans = event.target.result");
shouldBeTrue("trans !== null");
trans.onabort = unexpectedAbortCallback;
trans.oncomplete = openCursor;
- deleteAllObjectStores(db, createAndPopulateObjectStoreAndIndex);
-}
+ deleteAllObjectStores(db);
-function createAndPopulateObjectStoreAndIndex()
-{
objectStore = evalAndLog("objectStore = db.createObjectStore('test')");
evalAndLog("objectStore.createIndex('testIndex', 'x')");
@@ -63,33 +56,30 @@ function openCursor()
debug("openCursor1");
evalAndLog("trans = db.transaction(['test'], webkitIDBTransaction.READ_WRITE)");
keyRange = webkitIDBKeyRange.lowerBound(1);
- result = evalAndLog("trans.objectStore('test').index('testIndex').openCursor(keyRange)");
- verifyResult(result);
- result.onsuccess = cursorSuccess;
- result.onerror = unexpectedErrorCallback;
+ request = evalAndLog("trans.objectStore('test').index('testIndex').openCursor(keyRange)");
+ request.onsuccess = cursorSuccess;
+ request.onerror = unexpectedErrorCallback;
counter = 1;
}
function cursorSuccess()
{
- if (event.result == null) {
+ if (event.target.result == null) {
shouldBe("counter", "5");
- result = evalAndLog("trans.objectStore('test').index('testIndex').openCursor(keyRange)");
- verifyResult(result);
- result.onsuccess = cursorEmpty;
- result.onerror = unexpectedErrorCallback;
+ request = evalAndLog("trans.objectStore('test').index('testIndex').openCursor(keyRange)");
+ request.onsuccess = cursorEmpty;
+ request.onerror = unexpectedErrorCallback;
return;
}
- var deleteResult = evalAndLog("event.result.delete()");
- deleteResult.onerror = unexpectedErrorCallback;
- shouldBe("event.result.key", "counter++");
- evalAndLog("event.result.continue()");
+ var deleteRequest = evalAndLog("event.target.result.delete()");
+ deleteRequest.onerror = unexpectedErrorCallback;
+ shouldBe("event.target.result.key", "counter++");
+ evalAndLog("event.target.result.continue()");
}
function cursorEmpty()
{
- verifySuccessEvent(event);
- shouldBeNull("event.result");
+ shouldBeNull("event.target.result");
trans.oncomplete = addObject;
}
@@ -97,35 +87,31 @@ function addObject()
{
evalAndLog("trans = db.transaction(['test'], webkitIDBTransaction.READ_WRITE)");
objectStore = evalAndLog("objectStore = trans.objectStore('test')");
- result = evalAndLog("objectStore.add({x: 1}, 'myKey1')");
- verifyResult(result);
- result.onsuccess = openCursor2;
- result.onerror = unexpectedErrorCallback;
+ request = evalAndLog("objectStore.add({x: 1}, 'myKey1')");
+ request.onsuccess = openCursor2;
+ request.onerror = unexpectedErrorCallback;
}
function openCursor2()
{
debug("openCursor2");
- evalAndLog("index = event.source.index('testIndex')");
- result = evalAndLog("index.openCursor(keyRange)");
- verifyResult(result);
- result.onsuccess = deleteObject;
- result.onerror = unexpectedErrorCallback;
+ evalAndLog("index = event.target.source.index('testIndex')");
+ request = evalAndLog("index.openCursor(keyRange)");
+ request.onsuccess = deleteObject;
+ request.onerror = unexpectedErrorCallback;
}
function deleteObject()
{
- verifySuccessEvent(event);
- shouldBeNonNull(event.result);
- evalAndLog("event.result.delete()");
- result = evalAndLog("index.get(1)");
- result.onsuccess = unexpectedSuccessCallback;
- result.onerror = verifyObjectDeleted;
+ shouldBeNonNull(event.target.result);
+ evalAndLog("event.target.result.delete()");
+ request = evalAndLog("index.get(1)");
+ request.onsuccess = unexpectedSuccessCallback;
+ request.onerror = verifyObjectDeleted;
}
function verifyObjectDeleted()
{
- verifyErrorEvent(event);
evalAndLog("event.preventDefault()");
done();
}
diff --git a/LayoutTests/storage/indexeddb/cursor-skip-deleted-expected.txt b/LayoutTests/storage/indexeddb/cursor-skip-deleted-expected.txt
index f1bb3f7..317c925 100644
--- a/LayoutTests/storage/indexeddb/cursor-skip-deleted-expected.txt
+++ b/LayoutTests/storage/indexeddb/cursor-skip-deleted-expected.txt
@@ -3,46 +3,13 @@ Test IndexedDB's cursor skips deleted entries.
On success, you will see a series of "PASS" messages, followed by "TEST COMPLETE".
-webkitIndexedDB.open('name')
-PASS 'onsuccess' in result is true
-PASS 'onerror' in result is true
-PASS 'readyState' in result is true
-An event should fire shortly...
-
-Success event fired:
-PASS 'result' in event is true
-PASS 'code' in event is false
-PASS 'message' in event is false
-PASS 'source' in event is true
-PASS event.source != null is true
-PASS 'onsuccess' in event.target is true
-PASS 'onerror' in event.target is true
-PASS 'readyState' in event.target is true
-PASS event.target.readyState is event.target.DONE
-
-db = event.result
+webkitIndexedDB.open('cursor-skip-deleted')
+db = event.target.result
db.setVersion('new version')
-PASS 'onsuccess' in result is true
-PASS 'onerror' in result is true
-PASS 'readyState' in result is true
-An event should fire shortly...
-
setVersionSuccess():
-Success event fired:
-PASS 'result' in event is true
-PASS 'code' in event is false
-PASS 'message' in event is false
-PASS 'source' in event is true
-PASS event.source != null is true
-PASS 'onsuccess' in event.target is true
-PASS 'onerror' in event.target is true
-PASS 'readyState' in event.target is true
-PASS event.target.readyState is event.target.DONE
-
-trans = event.result
+trans = event.target.result
PASS trans !== null is true
Deleted all object stores.
-createAndPopulateObjectStore():
objectStore = db.createObjectStore('store', {keyPath: 'id'})
objectStore.createIndex('nameIndex', 'name')
@@ -53,11 +20,6 @@ trans = db.transaction([], webkitIDBTransaction.READ_WRITE)
testCursor():
trans.objectStore('store').openCursor(webkitIDBKeyRange.lowerBound(0))
-PASS 'onsuccess' in result is true
-PASS 'onerror' in result is true
-PASS 'readyState' in result is true
-An event should fire shortly...
-
0: Alpha
1: Bravo
request = trans.objectStore('store').delete(0)
@@ -97,11 +59,6 @@ reverseCursorTest():
testCursor():
trans.objectStore('store').openCursor(webkitIDBKeyRange.lowerBound(0), webkitIDBCursor.PREV)
-PASS 'onsuccess' in result is true
-PASS 'onerror' in result is true
-PASS 'readyState' in result is true
-An event should fire shortly...
-
25: Zulu
24: Yankee
request = trans.objectStore('store').delete(25)
@@ -141,11 +98,6 @@ indexCursorTest():
testCursor():
trans.objectStore('store').index('nameIndex').openCursor(webkitIDBKeyRange.lowerBound('Alpha'))
-PASS 'onsuccess' in result is true
-PASS 'onerror' in result is true
-PASS 'readyState' in result is true
-An event should fire shortly...
-
0: Alpha
1: Bravo
request = trans.objectStore('store').delete(0)
diff --git a/LayoutTests/storage/indexeddb/cursor-skip-deleted.html b/LayoutTests/storage/indexeddb/cursor-skip-deleted.html
index a97c4af..a3bb0d9 100644
--- a/LayoutTests/storage/indexeddb/cursor-skip-deleted.html
+++ b/LayoutTests/storage/indexeddb/cursor-skip-deleted.html
@@ -23,38 +23,29 @@ test();
function test()
{
- result = evalAndLog("webkitIndexedDB.open('name')");
- verifyResult(result);
- result.onsuccess = openSuccess;
- result.onerror = unexpectedErrorCallback;
+ request = evalAndLog("webkitIndexedDB.open('cursor-skip-deleted')");
+ request.onsuccess = openSuccess;
+ request.onerror = unexpectedErrorCallback;
}
function openSuccess()
{
- verifySuccessEvent(event);
- var db = evalAndLog("db = event.result");
+ var db = evalAndLog("db = event.target.result");
- result = evalAndLog("db.setVersion('new version')");
- verifyResult(result);
- result.onsuccess = setVersionSuccess;
- result.onerror = unexpectedErrorCallback;
+ request = evalAndLog("db.setVersion('new version')");
+ request.onsuccess = setVersionSuccess;
+ request.onerror = unexpectedErrorCallback;
}
function setVersionSuccess()
{
debug("setVersionSuccess():");
- verifySuccessEvent(event);
- window.trans = evalAndLog("trans = event.result");
+ window.trans = evalAndLog("trans = event.target.result");
shouldBeTrue("trans !== null");
trans.onabort = unexpectedAbortCallback;
trans.oncomplete = basicCursorTest;
- deleteAllObjectStores(db, createAndPopulateObjectStore);
-}
-
-function createAndPopulateObjectStore()
-{
- debug("createAndPopulateObjectStore():");
+ deleteAllObjectStores(db);
var objectStore = evalAndLog("objectStore = db.createObjectStore('store', {keyPath: 'id'})");
evalAndLog("objectStore.createIndex('nameIndex', 'name')");
@@ -100,11 +91,10 @@ function testCursor(deleteList, createCursorCommand, callback)
// Create the cursor.
request = evalAndLog(createCursorCommand);
- verifyResult(request);
request.onerror = unexpectedErrorCallback;
request.onsuccess = function () {
- if (event.result == null) {
+ if (event.target.result == null) {
// Make sure we have seen every non-deleted item.
for (var i = 0; i < names.length; i++) {
if (contains(deleted, i))
@@ -125,16 +115,16 @@ function testCursor(deleteList, createCursorCommand, callback)
return;
}
- cursor = event.result;
- debug(event.result.value.id + ": " + event.result.value.name);
- seen.push(event.result.value.id);
+ cursor = event.target.result;
+ debug(event.target.result.value.id + ": " + event.target.result.value.name);
+ seen.push(event.target.result.value.id);
// Make sure we don't see any deleted items.
- if (contains(deleted, event.result.value.id))
+ if (contains(deleted, event.target.result.value.id))
testFailed("Cursor hit previously deleted element.");
for (var i = 0; i < deleteList.length; i++) {
- if (event.result.value.id == deleteList[i].id) {
+ if (event.target.result.value.id == deleteList[i].id) {
// Delete objects targeted by this id.
var targets = deleteList[i].targets;
for (var j = 0; j < targets.length; j++) {
diff --git a/LayoutTests/storage/indexeddb/cursor-update-expected.txt b/LayoutTests/storage/indexeddb/cursor-update-expected.txt
index 4f2e659..955bcf9 100644
--- a/LayoutTests/storage/indexeddb/cursor-update-expected.txt
+++ b/LayoutTests/storage/indexeddb/cursor-update-expected.txt
@@ -3,46 +3,13 @@ Test IndexedDB's cursor update.
On success, you will see a series of "PASS" messages, followed by "TEST COMPLETE".
-webkitIndexedDB.open('name')
-PASS 'onsuccess' in result is true
-PASS 'onerror' in result is true
-PASS 'readyState' in result is true
-An event should fire shortly...
-
-Success event fired:
-PASS 'result' in event is true
-PASS 'code' in event is false
-PASS 'message' in event is false
-PASS 'source' in event is true
-PASS event.source != null is true
-PASS 'onsuccess' in event.target is true
-PASS 'onerror' in event.target is true
-PASS 'readyState' in event.target is true
-PASS event.target.readyState is event.target.DONE
-
-db = event.result
+webkitIndexedDB.open('cursor-update')
+db = event.target.result
db.setVersion('new version')
-PASS 'onsuccess' in result is true
-PASS 'onerror' in result is true
-PASS 'readyState' in result is true
-An event should fire shortly...
-
setVersionSuccess():
-Success event fired:
-PASS 'result' in event is true
-PASS 'code' in event is false
-PASS 'message' in event is false
-PASS 'source' in event is true
-PASS event.source != null is true
-PASS 'onsuccess' in event.target is true
-PASS 'onerror' in event.target is true
-PASS 'readyState' in event.target is true
-PASS event.target.readyState is event.target.DONE
-
-trans = event.result
+trans = event.target.result
PASS trans !== null is true
Deleted all object stores.
-createAndPopulateObjectStore():
objectStore = db.createObjectStore('basicStore')
objectStore.add('myValue1', 'myKey1').onerror = unexpectedErrorCallback
objectStore.add('myValue2', 'myKey2').onerror = unexpectedErrorCallback
@@ -61,218 +28,150 @@ objectStore.add({number: 3, id: 3}).onerror = unexpectedErrorCallback
objectStore.add({number: 4, id: 4}).onerror = unexpectedErrorCallback
openBasicCursor()
trans = db.transaction([], webkitIDBTransaction.READ_WRITE)
-trans.objectStore('basicStore').openCursor(keyRange)
-PASS 'onsuccess' in result is true
-PASS 'onerror' in result is true
-PASS 'readyState' in result is true
-An event should fire shortly...
-
+trans.objectStore('basicStore')
+objectStore.openCursor(keyRange)
basicUpdateCursor()
-event.result.update('myUpdatedValue' + counter++)
-event.source.continue()
+PASS event.target.source is objectStore
+event.target.result.update('myUpdatedValue' + counter++)
+event.target.source.continue()
basicUpdateCursor()
-event.result.update('myUpdatedValue' + counter++)
-event.source.continue()
+PASS event.target.source is objectStore
+event.target.result.update('myUpdatedValue' + counter++)
+event.target.source.continue()
basicUpdateCursor()
-event.result.update('myUpdatedValue' + counter++)
-event.source.continue()
+PASS event.target.source is objectStore
+event.target.result.update('myUpdatedValue' + counter++)
+event.target.source.continue()
basicUpdateCursor()
-event.result.update('myUpdatedValue' + counter++)
-event.source.continue()
+PASS event.target.source is objectStore
+event.target.result.update('myUpdatedValue' + counter++)
+event.target.source.continue()
basicUpdateCursor()
+PASS event.target.source is objectStore
PASS counter is 5
trans.objectStore('basicStore').openCursor(keyRange)
-PASS 'onsuccess' in result is true
-PASS 'onerror' in result is true
-PASS 'readyState' in result is true
-An event should fire shortly...
-
basicCheckCursor()
-PASS event.result.key is "myKey1"
-PASS event.result.value is "myUpdatedValue1"
-event.result.continue()
+PASS event.target.result.key is "myKey1"
+PASS event.target.result.value is "myUpdatedValue1"
+event.target.result.continue()
basicCheckCursor()
-PASS event.result.key is "myKey2"
-PASS event.result.value is "myUpdatedValue2"
-event.result.continue()
+PASS event.target.result.key is "myKey2"
+PASS event.target.result.value is "myUpdatedValue2"
+event.target.result.continue()
basicCheckCursor()
-PASS event.result.key is "myKey3"
-PASS event.result.value is "myUpdatedValue3"
-event.result.continue()
+PASS event.target.result.key is "myKey3"
+PASS event.target.result.value is "myUpdatedValue3"
+event.target.result.continue()
basicCheckCursor()
-PASS event.result.key is "myKey4"
-PASS event.result.value is "myUpdatedValue4"
-event.result.continue()
+PASS event.target.result.key is "myKey4"
+PASS event.target.result.value is "myUpdatedValue4"
+event.target.result.continue()
basicCheckCursor()
PASS counter is 5
trans.objectStore('autoIncrementStore').openCursor(keyRange)
-PASS 'onsuccess' in result is true
-PASS 'onerror' in result is true
-PASS 'readyState' in result is true
-An event should fire shortly...
-
autoIncrementUpdateCursor()
-event.result.update('myUpdatedFoo' + counter++)
-event.source.continue()
+event.target.result.update('myUpdatedFoo' + counter++)
+event.target.source.continue()
autoIncrementUpdateCursor()
-event.result.update('myUpdatedFoo' + counter++)
-event.source.continue()
+event.target.result.update('myUpdatedFoo' + counter++)
+event.target.source.continue()
autoIncrementUpdateCursor()
-event.result.update('myUpdatedFoo' + counter++)
-event.source.continue()
+event.target.result.update('myUpdatedFoo' + counter++)
+event.target.source.continue()
autoIncrementUpdateCursor()
-event.result.update('myUpdatedFoo' + counter++)
-event.source.continue()
+event.target.result.update('myUpdatedFoo' + counter++)
+event.target.source.continue()
autoIncrementUpdateCursor()
PASS counter is 5
trans.objectStore('autoIncrementStore').openCursor(keyRange)
-PASS 'onsuccess' in result is true
-PASS 'onerror' in result is true
-PASS 'readyState' in result is true
-An event should fire shortly...
-
autoIncrementCheckCursor()
-PASS event.result.key is counter
-PASS event.result.value is "myUpdatedFoo1"
-event.result.continue()
+PASS event.target.result.key is counter
+PASS event.target.result.value is "myUpdatedFoo1"
+event.target.result.continue()
autoIncrementCheckCursor()
-PASS event.result.key is counter
-PASS event.result.value is "myUpdatedFoo2"
-event.result.continue()
+PASS event.target.result.key is counter
+PASS event.target.result.value is "myUpdatedFoo2"
+event.target.result.continue()
autoIncrementCheckCursor()
-PASS event.result.key is counter
-PASS event.result.value is "myUpdatedFoo3"
-event.result.continue()
+PASS event.target.result.key is counter
+PASS event.target.result.value is "myUpdatedFoo3"
+event.target.result.continue()
autoIncrementCheckCursor()
-PASS event.result.key is counter
-PASS event.result.value is "myUpdatedFoo4"
-event.result.continue()
+PASS event.target.result.key is counter
+PASS event.target.result.value is "myUpdatedFoo4"
+event.target.result.continue()
autoIncrementCheckCursor()
PASS counter is 5
trans.objectStore('keyPathStore').openCursor(keyRange)
-PASS 'onsuccess' in result is true
-PASS 'onerror' in result is true
-PASS 'readyState' in result is true
-An event should fire shortly...
-
keyPathUpdateCursor()
-event.result.update({id: 100 + counter, number: 100 + counter})
-Error event fired:
-PASS 'result' in event is false
-PASS 'code' in event is true
-PASS 'message' in event is true
-PASS 'source' in event is true
-PASS event.source != null is true
-PASS 'onsuccess' in event.target is true
-PASS 'onerror' in event.target is true
-PASS 'readyState' in event.target is true
-PASS event.target.readyState is event.target.DONE
-
-PASS event.code is webkitIDBDatabaseException.DATA_ERR
+event.target.result.update({id: 100 + counter, number: 100 + counter})
+PASS event.target.errorCode is webkitIDBDatabaseException.DATA_ERR
event.preventDefault()
-event.source.update({id: counter, number: 100 + counter++})
-event.source.continue()
+event.target.source.update({id: counter, number: 100 + counter++})
+event.target.source.continue()
keyPathUpdateCursor()
-event.result.update({id: 100 + counter, number: 100 + counter})
-Error event fired:
-PASS 'result' in event is false
-PASS 'code' in event is true
-PASS 'message' in event is true
-PASS 'source' in event is true
-PASS event.source != null is true
-PASS 'onsuccess' in event.target is true
-PASS 'onerror' in event.target is true
-PASS 'readyState' in event.target is true
-PASS event.target.readyState is event.target.DONE
-
-PASS event.code is webkitIDBDatabaseException.DATA_ERR
+event.target.result.update({id: 100 + counter, number: 100 + counter})
+PASS event.target.errorCode is webkitIDBDatabaseException.DATA_ERR
event.preventDefault()
-event.source.update({id: counter, number: 100 + counter++})
-event.source.continue()
+event.target.source.update({id: counter, number: 100 + counter++})
+event.target.source.continue()
keyPathUpdateCursor()
-event.result.update({id: 100 + counter, number: 100 + counter})
-Error event fired:
-PASS 'result' in event is false
-PASS 'code' in event is true
-PASS 'message' in event is true
-PASS 'source' in event is true
-PASS event.source != null is true
-PASS 'onsuccess' in event.target is true
-PASS 'onerror' in event.target is true
-PASS 'readyState' in event.target is true
-PASS event.target.readyState is event.target.DONE
-
-PASS event.code is webkitIDBDatabaseException.DATA_ERR
+event.target.result.update({id: 100 + counter, number: 100 + counter})
+PASS event.target.errorCode is webkitIDBDatabaseException.DATA_ERR
event.preventDefault()
-event.source.update({id: counter, number: 100 + counter++})
-event.source.continue()
+event.target.source.update({id: counter, number: 100 + counter++})
+event.target.source.continue()
keyPathUpdateCursor()
-event.result.update({id: 100 + counter, number: 100 + counter})
-Error event fired:
-PASS 'result' in event is false
-PASS 'code' in event is true
-PASS 'message' in event is true
-PASS 'source' in event is true
-PASS event.source != null is true
-PASS 'onsuccess' in event.target is true
-PASS 'onerror' in event.target is true
-PASS 'readyState' in event.target is true
-PASS event.target.readyState is event.target.DONE
-
-PASS event.code is webkitIDBDatabaseException.DATA_ERR
+event.target.result.update({id: 100 + counter, number: 100 + counter})
+PASS event.target.errorCode is webkitIDBDatabaseException.DATA_ERR
event.preventDefault()
-event.source.update({id: counter, number: 100 + counter++})
-event.source.continue()
+event.target.source.update({id: counter, number: 100 + counter++})
+event.target.source.continue()
keyPathUpdateCursor()
PASS counter is 5
trans.objectStore('keyPathStore').openCursor(keyRange)
-PASS 'onsuccess' in result is true
-PASS 'onerror' in result is true
-PASS 'readyState' in result is true
-An event should fire shortly...
-
keyPathCheckCursor()
-PASS event.result.key is counter
-PASS event.result.value.id is counter
-PASS event.result.value.number is 101
-event.result.continue()
+PASS event.target.result.key is counter
+PASS event.target.result.value.id is counter
+PASS event.target.result.value.number is 101
+event.target.result.continue()
keyPathCheckCursor()
-PASS event.result.key is counter
-PASS event.result.value.id is counter
-PASS event.result.value.number is 102
-event.result.continue()
+PASS event.target.result.key is counter
+PASS event.target.result.value.id is counter
+PASS event.target.result.value.number is 102
+event.target.result.continue()
keyPathCheckCursor()
-PASS event.result.key is counter
-PASS event.result.value.id is counter
-PASS event.result.value.number is 103
-event.result.continue()
+PASS event.target.result.key is counter
+PASS event.target.result.value.id is counter
+PASS event.target.result.value.number is 103
+event.target.result.continue()
keyPathCheckCursor()
-PASS event.result.key is counter
-PASS event.result.value.id is counter
-PASS event.result.value.number is 104
-event.result.continue()
+PASS event.target.result.key is counter
+PASS event.target.result.value.id is counter
+PASS event.target.result.value.number is 104
+event.target.result.continue()
keyPathCheckCursor()
PASS counter is 5
trans.objectStore('keyPathStore').index('numberIndex').openKeyCursor(keyRange)
keyCursor()
-PASS event.result.key is counter + 100
-PASS event.result.value is counter
-event.result.update({id: counter, number: counter + 200})
+PASS event.target.result.key is counter + 100
+PASS event.target.result.primaryKey is counter
+event.target.result.update({id: counter, number: counter + 200})
PASS code is webkitIDBDatabaseException.NOT_ALLOWED_ERR
keyCursor()
-PASS event.result.key is counter + 100
-PASS event.result.value is counter
-event.result.update({id: counter, number: counter + 200})
+PASS event.target.result.key is counter + 100
+PASS event.target.result.primaryKey is counter
+event.target.result.update({id: counter, number: counter + 200})
PASS code is webkitIDBDatabaseException.NOT_ALLOWED_ERR
keyCursor()
-PASS event.result.key is counter + 100
-PASS event.result.value is counter
-event.result.update({id: counter, number: counter + 200})
+PASS event.target.result.key is counter + 100
+PASS event.target.result.primaryKey is counter
+event.target.result.update({id: counter, number: counter + 200})
PASS code is webkitIDBDatabaseException.NOT_ALLOWED_ERR
keyCursor()
-PASS event.result.key is counter + 100
-PASS event.result.value is counter
-event.result.update({id: counter, number: counter + 200})
+PASS event.target.result.key is counter + 100
+PASS event.target.result.primaryKey is counter
+event.target.result.update({id: counter, number: counter + 200})
PASS code is webkitIDBDatabaseException.NOT_ALLOWED_ERR
keyCursor()
PASS counter is 5
diff --git a/LayoutTests/storage/indexeddb/cursor-update.html b/LayoutTests/storage/indexeddb/cursor-update.html
index 0a80b84..783a88c 100644
--- a/LayoutTests/storage/indexeddb/cursor-update.html
+++ b/LayoutTests/storage/indexeddb/cursor-update.html
@@ -18,38 +18,30 @@ test();
function test()
{
- result = evalAndLog("webkitIndexedDB.open('name')");
- verifyResult(result);
- result.onsuccess = openSuccess;
- result.onerror = unexpectedErrorCallback;
+ request = evalAndLog("webkitIndexedDB.open('cursor-update')");
+ request.onsuccess = openSuccess;
+ request.onerror = unexpectedErrorCallback;
}
function openSuccess()
{
- verifySuccessEvent(event);
- var db = evalAndLog("db = event.result");
+ var db = evalAndLog("db = event.target.result");
- result = evalAndLog("db.setVersion('new version')");
- verifyResult(result);
- result.onsuccess = setVersionSuccess;
- result.onerror = unexpectedErrorCallback;
+ request = evalAndLog("db.setVersion('new version')");
+ request.onsuccess = setVersionSuccess;
+ request.onerror = unexpectedErrorCallback;
}
function setVersionSuccess()
{
debug("setVersionSuccess():");
- verifySuccessEvent(event);
- window.trans = evalAndLog("trans = event.result");
+ window.trans = evalAndLog("trans = event.target.result");
shouldBeTrue("trans !== null");
trans.onabort = unexpectedAbortCallback;
trans.oncomplete = openBasicCursor;
- deleteAllObjectStores(db, createAndPopulateObjectStore);
-}
+ deleteAllObjectStores(db);
-function createAndPopulateObjectStore()
-{
- debug("createAndPopulateObjectStore():");
var objectStore = evalAndLog("objectStore = db.createObjectStore('basicStore')");
evalAndLog("objectStore.add('myValue1', 'myKey1').onerror = unexpectedErrorCallback");
evalAndLog("objectStore.add('myValue2', 'myKey2').onerror = unexpectedErrorCallback");
@@ -78,154 +70,149 @@ function openBasicCursor()
trans.oncomplete = transactionComplete;
keyRange = webkitIDBKeyRange.lowerBound("myKey1");
- result = evalAndLog("trans.objectStore('basicStore').openCursor(keyRange)");
- verifyResult(result);
- result.onsuccess = basicUpdateCursor;
- result.onerror = unexpectedErrorCallback;
+ window.objectStore = evalAndLog("trans.objectStore('basicStore')");
+ request = evalAndLog("objectStore.openCursor(keyRange)");
+ request.onsuccess = basicUpdateCursor;
+ request.onerror = unexpectedErrorCallback;
counter = 1;
}
function basicUpdateCursor()
{
debug("basicUpdateCursor()");
- if (event.result == null) {
+ shouldBe("event.target.source", "objectStore");
+ if (event.target.result == null) {
shouldBe("counter", "5");
counter = 1;
- result = evalAndLog("trans.objectStore('basicStore').openCursor(keyRange)");
- verifyResult(result);
- result.onsuccess = basicCheckCursor;
- result.onerror = unexpectedErrorCallback;
+ request = evalAndLog("trans.objectStore('basicStore').openCursor(keyRange)");
+ request.onsuccess = basicCheckCursor;
+ request.onerror = unexpectedErrorCallback;
return;
}
- result = evalAndLog("event.result.update('myUpdatedValue' + counter++)");
- result.onsuccess = function() { evalAndLog("event.source.continue()"); }
- result.onerror = unexpectedErrorCallback;
+ request = evalAndLog("event.target.result.update('myUpdatedValue' + counter++)");
+ request.onsuccess = function() { evalAndLog("event.target.source.continue()"); }
+ request.onerror = unexpectedErrorCallback;
}
function basicCheckCursor()
{
debug("basicCheckCursor()");
- if (event.result == null) {
+ if (event.target.result == null) {
shouldBe("counter", "5");
counter = 1;
keyRange = webkitIDBKeyRange.lowerBound(1);
- result = evalAndLog("trans.objectStore('autoIncrementStore').openCursor(keyRange)");
- verifyResult(result);
- result.onsuccess = autoIncrementUpdateCursor;
- result.onerror = unexpectedErrorCallback;
+ request = evalAndLog("trans.objectStore('autoIncrementStore').openCursor(keyRange)");
+ request.onsuccess = autoIncrementUpdateCursor;
+ request.onerror = unexpectedErrorCallback;
return;
}
- shouldBeEqualToString("event.result.key", "myKey" + counter);
- shouldBeEqualToString("event.result.value", "myUpdatedValue" + counter++);
- evalAndLog("event.result.continue()");
+ shouldBeEqualToString("event.target.result.key", "myKey" + counter);
+ shouldBeEqualToString("event.target.result.value", "myUpdatedValue" + counter++);
+ evalAndLog("event.target.result.continue()");
}
function autoIncrementUpdateCursor()
{
debug("autoIncrementUpdateCursor()");
- if (event.result == null) {
+ if (event.target.result == null) {
shouldBe("counter", "5");
counter = 1;
- result = evalAndLog("trans.objectStore('autoIncrementStore').openCursor(keyRange)");
- verifyResult(result);
- result.onsuccess = autoIncrementCheckCursor;
- result.onerror = unexpectedErrorCallback;
+ request = evalAndLog("trans.objectStore('autoIncrementStore').openCursor(keyRange)");
+ request.onsuccess = autoIncrementCheckCursor;
+ request.onerror = unexpectedErrorCallback;
return;
}
- result = evalAndLog("event.result.update('myUpdatedFoo' + counter++)");
- result.onsuccess = function() { evalAndLog("event.source.continue()"); }
- result.onerror = unexpectedErrorCallback;
+ request = evalAndLog("event.target.result.update('myUpdatedFoo' + counter++)");
+ request.onsuccess = function() { evalAndLog("event.target.source.continue()"); }
+ request.onerror = unexpectedErrorCallback;
}
function autoIncrementCheckCursor()
{
debug("autoIncrementCheckCursor()");
- if (event.result == null) {
+ if (event.target.result == null) {
shouldBe("counter", "5");
counter = 1;
keyRange = webkitIDBKeyRange.lowerBound(1);
- result = evalAndLog("trans.objectStore('keyPathStore').openCursor(keyRange)");
- verifyResult(result);
- result.onsuccess = keyPathUpdateCursor;
- result.onerror = unexpectedErrorCallback;
+ request = evalAndLog("trans.objectStore('keyPathStore').openCursor(keyRange)");
+ request.onsuccess = keyPathUpdateCursor;
+ request.onerror = unexpectedErrorCallback;
return;
}
- shouldBe("event.result.key", "counter");
- shouldBeEqualToString("event.result.value", "myUpdatedFoo" + counter++);
- evalAndLog("event.result.continue()");
+ shouldBe("event.target.result.key", "counter");
+ shouldBeEqualToString("event.target.result.value", "myUpdatedFoo" + counter++);
+ evalAndLog("event.target.result.continue()");
}
function keyPathUpdateCursor()
{
debug("keyPathUpdateCursor()");
- if (event.result == null) {
+ if (event.target.result == null) {
shouldBe("counter", "5");
counter = 1;
- result = evalAndLog("trans.objectStore('keyPathStore').openCursor(keyRange)");
- verifyResult(result);
- result.onsuccess = keyPathCheckCursor;
- result.onerror = unexpectedErrorCallback;
+ request = evalAndLog("trans.objectStore('keyPathStore').openCursor(keyRange)");
+ request.onsuccess = keyPathCheckCursor;
+ request.onerror = unexpectedErrorCallback;
return;
}
- result = evalAndLog("event.result.update({id: 100 + counter, number: 100 + counter})");
- result.onsuccess = unexpectedSuccessCallback;
- result.onerror = function() {
- verifyErrorEvent(event);
- shouldBe("event.code", "webkitIDBDatabaseException.DATA_ERR");
+ request = evalAndLog("event.target.result.update({id: 100 + counter, number: 100 + counter})");
+ request.onsuccess = unexpectedSuccessCallback;
+ request.onerror = function() {
+ shouldBe("event.target.errorCode", "webkitIDBDatabaseException.DATA_ERR");
evalAndLog("event.preventDefault()");
- result = evalAndLog("event.source.update({id: counter, number: 100 + counter++})");
- result.onsuccess = function() { evalAndLog("event.source.continue()") };
- result.onerror = unexpectedErrorCallback;
+ request = evalAndLog("event.target.source.update({id: counter, number: 100 + counter++})");
+ request.onsuccess = function() { evalAndLog("event.target.source.continue()") };
+ request.onerror = unexpectedErrorCallback;
}
}
function keyPathCheckCursor()
{
debug("keyPathCheckCursor()");
- if (event.result == null) {
+ if (event.target.result == null) {
shouldBe("counter", "5");
counter = 1;
keyRange = webkitIDBKeyRange.lowerBound(101);
- result = evalAndLog("trans.objectStore('keyPathStore').index('numberIndex').openKeyCursor(keyRange)");
- result.onsuccess = keyCursor;
- result.onerror = unexpectedErrorCallback;
+ request = evalAndLog("trans.objectStore('keyPathStore').index('numberIndex').openKeyCursor(keyRange)");
+ request.onsuccess = keyCursor;
+ request.onerror = unexpectedErrorCallback;
return;
}
- shouldBe("event.result.key", "counter");
- shouldBe("event.result.value.id", "counter");
- shouldBe("event.result.value.number", (counter + 100).toString());
+ shouldBe("event.target.result.key", "counter");
+ shouldBe("event.target.result.value.id", "counter");
+ shouldBe("event.target.result.value.number", (counter + 100).toString());
counter++;
- evalAndLog("event.result.continue()");
+ evalAndLog("event.target.result.continue()");
}
function keyCursor()
{
debug("keyCursor()");
- if (event.result == null) {
+ if (event.target.result == null) {
shouldBe("counter", "5");
return;
}
- shouldBe("event.result.key", "counter + 100");
- shouldBe("event.result.value", "counter");
+ shouldBe("event.target.result.key", "counter + 100");
+ shouldBe("event.target.result.primaryKey", "counter");
try {
- debug("event.result.update({id: counter, number: counter + 200})");
- event.result.update({id: counter, number: counter + 200});
+ debug("event.target.result.update({id: counter, number: counter + 200})");
+ event.target.result.update({id: counter, number: counter + 200});
testFailed("Expected exception.");
} catch (e) {
code = e.code;
@@ -233,7 +220,7 @@ function keyCursor()
}
counter++;
- event.result.continue();
+ event.target.result.continue();
}
function transactionComplete()
diff --git a/LayoutTests/storage/indexeddb/data-corruption-expected.txt b/LayoutTests/storage/indexeddb/data-corruption-expected.txt
index ac7116a..a02b54c 100644
--- a/LayoutTests/storage/indexeddb/data-corruption-expected.txt
+++ b/LayoutTests/storage/indexeddb/data-corruption-expected.txt
@@ -3,66 +3,22 @@ Test that data inserted into IndexedDB does not get corrupted on disk.
On success, you will see a series of "PASS" messages, followed by "TEST COMPLETE".
-webkitIndexedDB.open('name')
-PASS 'onsuccess' in result is true
-PASS 'onerror' in result is true
-PASS 'readyState' in result is true
-An event should fire shortly...
-
+webkitIndexedDB.open('data-corruption')
openSuccess():
-Success event fired:
-PASS 'result' in event is true
-PASS 'code' in event is false
-PASS 'message' in event is false
-PASS 'source' in event is true
-PASS event.source != null is true
-PASS 'onsuccess' in event.target is true
-PASS 'onerror' in event.target is true
-PASS 'readyState' in event.target is true
-PASS event.target.readyState is event.target.DONE
-
-db = event.result
+db = event.target.result
db.setVersion('new version')
-PASS 'onsuccess' in result is true
-PASS 'onerror' in result is true
-PASS 'readyState' in result is true
-An event should fire shortly...
-
setVersionSuccess():
-Success event fired:
-PASS 'result' in event is true
-PASS 'code' in event is false
-PASS 'message' in event is false
-PASS 'source' in event is true
-PASS event.source != null is true
-PASS 'onsuccess' in event.target is true
-PASS 'onerror' in event.target is true
-PASS 'readyState' in event.target is true
-PASS event.target.readyState is event.target.DONE
-
-trans = event.result
+trans = event.target.result
PASS trans !== null is true
Deleted all object stores.
-createObjectStore():
db.createObjectStore('storeName')
addData():
transaction = db.transaction([], webkitIDBTransaction.READ_WRITE)
-result = transaction.objectStore('storeName').add({x: testDate}, 'key')
+request = transaction.objectStore('storeName').add({x: testDate}, 'key')
addData():
transaction = db.transaction([], webkitIDBTransaction.READ_ONLY)
-result = transaction.objectStore('storeName').get('key')
-Success event fired:
-PASS 'result' in event is true
-PASS 'code' in event is false
-PASS 'message' in event is false
-PASS 'source' in event is true
-PASS event.source != null is true
-PASS 'onsuccess' in event.target is true
-PASS 'onerror' in event.target is true
-PASS 'readyState' in event.target is true
-PASS event.target.readyState is event.target.DONE
-
-PASS event.result.x.toString() == testDate.toString() is true
+request = transaction.objectStore('storeName').get('key')
+PASS event.target.result.x.toString() == testDate.toString() is true
PASS successfullyParsed is true
TEST COMPLETE
diff --git a/LayoutTests/storage/indexeddb/data-corruption.html b/LayoutTests/storage/indexeddb/data-corruption.html
index 664ff6d..ea7928b 100644
--- a/LayoutTests/storage/indexeddb/data-corruption.html
+++ b/LayoutTests/storage/indexeddb/data-corruption.html
@@ -16,39 +16,31 @@ if (window.layoutTestController)
function test()
{
- result = evalAndLog("webkitIndexedDB.open('name')");
- verifyResult(result);
- result.onsuccess = openSuccess;
- result.onerror = unexpectedErrorCallback;
+ request = evalAndLog("webkitIndexedDB.open('data-corruption')");
+ request.onsuccess = openSuccess;
+ request.onerror = unexpectedErrorCallback;
}
function openSuccess()
{
debug("openSuccess():");
- verifySuccessEvent(event);
- window.db = evalAndLog("db = event.result");
+ window.db = evalAndLog("db = event.target.result");
- result = evalAndLog("db.setVersion('new version')");
- verifyResult(result);
- result.onsuccess = setVersionSuccess;
- result.onerror = unexpectedErrorCallback;
+ request = evalAndLog("db.setVersion('new version')");
+ request.onsuccess = setVersionSuccess;
+ request.onerror = unexpectedErrorCallback;
}
function setVersionSuccess()
{
debug("setVersionSuccess():");
- verifySuccessEvent(event);
- window.trans = evalAndLog("trans = event.result");
+ window.trans = evalAndLog("trans = event.target.result");
shouldBeTrue("trans !== null");
trans.onabort = unexpectedAbortCallback;
trans.oncomplete = addData;
- deleteAllObjectStores(db, createObjectStore);
-}
+ deleteAllObjectStores(db);
-function createObjectStore()
-{
- debug("createObjectStore():");
evalAndLog("db.createObjectStore('storeName')");
}
@@ -58,8 +50,8 @@ function addData()
{
debug("addData():");
var transaction = evalAndLog("transaction = db.transaction([], webkitIDBTransaction.READ_WRITE)");
- var result = evalAndLog("result = transaction.objectStore('storeName').add({x: testDate}, 'key')");
- result.onerror = unexpectedErrorCallback;
+ var request = evalAndLog("request = transaction.objectStore('storeName').add({x: testDate}, 'key')");
+ request.onerror = unexpectedErrorCallback;
transaction.oncomplete = getData;
}
@@ -67,15 +59,14 @@ function getData()
{
debug("addData():");
var transaction = evalAndLog("transaction = db.transaction([], webkitIDBTransaction.READ_ONLY)");
- var result = evalAndLog("result = transaction.objectStore('storeName').get('key')");
- result.onerror = unexpectedErrorCallback;
- result.onsuccess = doCheck;
+ var request = evalAndLog("request = transaction.objectStore('storeName').get('key')");
+ request.onerror = unexpectedErrorCallback;
+ request.onsuccess = doCheck;
}
function doCheck()
{
- verifySuccessEvent(event);
- shouldBeTrue("event.result.x.toString() == testDate.toString()");
+ shouldBeTrue("event.target.result.x.toString() == testDate.toString()");
done();
}
diff --git a/LayoutTests/storage/indexeddb/database-basics-expected.txt b/LayoutTests/storage/indexeddb/database-basics-expected.txt
index f1fa5ad..e1af11e 100644
--- a/LayoutTests/storage/indexeddb/database-basics-expected.txt
+++ b/LayoutTests/storage/indexeddb/database-basics-expected.txt
@@ -3,82 +3,18 @@ Test the basics of IndexedDB's IDBDatabase.
On success, you will see a series of "PASS" messages, followed by "TEST COMPLETE".
-webkitIndexedDB.open('name')
-PASS 'onsuccess' in result is true
-PASS 'onerror' in result is true
-PASS 'readyState' in result is true
-An event should fire shortly...
-
-Success event fired:
-PASS 'result' in event is true
-PASS 'code' in event is false
-PASS 'message' in event is false
-PASS 'source' in event is true
-PASS event.source != null is true
-PASS 'onsuccess' in event.target is true
-PASS 'onerror' in event.target is true
-PASS 'readyState' in event.target is true
-PASS event.target.readyState is event.target.DONE
-
-db = event.result
+webkitIndexedDB.open('database-basics')
+db = event.target.result
db.setVersion('new version')
-PASS 'onsuccess' in result is true
-PASS 'onerror' in result is true
-PASS 'readyState' in result is true
-An event should fire shortly...
-
setVersionSuccess():
-Success event fired:
-PASS 'result' in event is true
-PASS 'code' in event is false
-PASS 'message' in event is false
-PASS 'source' in event is true
-PASS event.source != null is true
-PASS 'onsuccess' in event.target is true
-PASS 'onerror' in event.target is true
-PASS 'readyState' in event.target is true
-PASS event.target.readyState is event.target.DONE
-
-trans = event.result
+trans = event.target.result
PASS trans !== null is true
Deleted all object stores.
Testing setVersion.
db.setVersion("version a")
-PASS 'onsuccess' in result is true
-PASS 'onerror' in result is true
-PASS 'readyState' in result is true
-An event should fire shortly...
-
-Success event fired:
-PASS 'result' in event is true
-PASS 'code' in event is false
-PASS 'message' in event is false
-PASS 'source' in event is true
-PASS event.source != null is true
-PASS 'onsuccess' in event.target is true
-PASS 'onerror' in event.target is true
-PASS 'readyState' in event.target is true
-PASS event.target.readyState is event.target.DONE
-
db.setVersion("version b")
-PASS 'onsuccess' in result is true
-PASS 'onerror' in result is true
-PASS 'readyState' in result is true
-An event should fire shortly...
-
-Success event fired:
-PASS 'result' in event is true
-PASS 'code' in event is false
-PASS 'message' in event is false
-PASS 'source' in event is true
-PASS event.source != null is true
-PASS 'onsuccess' in event.target is true
-PASS 'onerror' in event.target is true
-PASS 'readyState' in event.target is true
-PASS event.target.readyState is event.target.DONE
-
PASS db.version is "version b"
-PASS db.name is "name"
+PASS db.name is "database-basics"
PASS db.objectStoreNames is []
PASS db.objectStoreNames.length is 0
PASS db.objectStoreNames.contains('') is false
@@ -91,31 +27,15 @@ PASS db.objectStoreNames.contains('') is false
PASS db.objectStoreNames.contains('test456') is false
PASS db.objectStoreNames.contains('test123') is true
db.setVersion("version c")
-PASS 'onsuccess' in result is true
-PASS 'onerror' in result is true
-PASS 'readyState' in result is true
-An event should fire shortly...
-
-Success event fired:
-PASS 'result' in event is true
-PASS 'code' in event is false
-PASS 'message' in event is false
-PASS 'source' in event is true
-PASS event.source != null is true
-PASS 'onsuccess' in event.target is true
-PASS 'onerror' in event.target is true
-PASS 'readyState' in event.target is true
-PASS event.target.readyState is event.target.DONE
-
PASS db.version is "version c"
-PASS db.name is "name"
+PASS db.name is "database-basics"
PASS db.objectStoreNames is ['test123']
PASS db.objectStoreNames.length is 1
PASS db.objectStoreNames.contains('') is false
PASS db.objectStoreNames.contains('test456') is false
PASS db.objectStoreNames.contains('test123') is true
db.createObjectStore("test456")
-setVersionTrans = event.result
+setVersionTrans = event.target.result
PASS setVersionTrans !== null is true
PASS db.version is "version b"
PASS db.objectStoreNames is ['test123']
diff --git a/LayoutTests/storage/indexeddb/database-basics.html b/LayoutTests/storage/indexeddb/database-basics.html
index b070de0..a14a60d 100644
--- a/LayoutTests/storage/indexeddb/database-basics.html
+++ b/LayoutTests/storage/indexeddb/database-basics.html
@@ -16,58 +16,46 @@ if (window.layoutTestController)
function test()
{
- result = evalAndLog("webkitIndexedDB.open('name')");
- verifyResult(result);
- result.onsuccess = openSuccess;
- result.onerror = unexpectedErrorCallback;
+ request = evalAndLog("webkitIndexedDB.open('database-basics')");
+ request.onsuccess = openSuccess;
+ request.onerror = unexpectedErrorCallback;
}
function openSuccess()
{
- verifySuccessEvent(event);
- window.db = evalAndLog("db = event.result");
+ window.db = evalAndLog("db = event.target.result");
- result = evalAndLog("db.setVersion('new version')");
- verifyResult(result);
- result.onsuccess = setVersionSuccess;
- result.onerror = unexpectedErrorCallback;
+ request = evalAndLog("db.setVersion('new version')");
+ request.onsuccess = setVersionSuccess;
+ request.onerror = unexpectedErrorCallback;
}
function setVersionSuccess()
{
debug("setVersionSuccess():");
- verifySuccessEvent(event);
- window.trans = evalAndLog("trans = event.result");
+ window.trans = evalAndLog("trans = event.target.result");
shouldBeTrue("trans !== null");
trans.onabort = unexpectedAbortCallback;
- deleteAllObjectStores(db, testSetVersion);
-}
+ deleteAllObjectStores(db);
-function testSetVersion()
-{
debug("Testing setVersion.");
- result = evalAndLog('db.setVersion("version a")');
- verifyResult(result);
- result.onsuccess = setVersionAgain;
- result.onerror = unexpectedErrorCallback;
+ request = evalAndLog('db.setVersion("version a")');
+ request.onsuccess = setVersionAgain;
+ request.onerror = unexpectedErrorCallback;
}
function setVersionAgain()
{
- verifySuccessEvent(event);
-
- result = evalAndLog('db.setVersion("version b")');
- verifyResult(result);
- result.onsuccess = createObjectStore;
- result.onerror = unexpectedErrorCallback;
+ request = evalAndLog('db.setVersion("version b")');
+ request.onsuccess = createObjectStore;
+ request.onerror = unexpectedErrorCallback;
}
function createObjectStore()
{
- verifySuccessEvent(event);
shouldBeEqualToString("db.version", "version b");
- shouldBeEqualToString("db.name", "name");
+ shouldBeEqualToString("db.name", "database-basics");
shouldBe("db.objectStoreNames", "[]");
shouldBe("db.objectStoreNames.length", "0");
shouldBe("db.objectStoreNames.contains('')", "false");
@@ -95,21 +83,19 @@ function commitAndContinue()
function testSetVersionAbort()
{
- result = evalAndLog('db.setVersion("version c")');
- verifyResult(result);
- result.onsuccess = createAnotherObjectStore;
- result.onerror = unexpectedErrorCallback;
+ request = evalAndLog('db.setVersion("version c")');
+ request.onsuccess = createAnotherObjectStore;
+ request.onerror = unexpectedErrorCallback;
}
function createAnotherObjectStore()
{
- verifySuccessEvent(event);
shouldBeEqualToString("db.version", "version c");
- shouldBeEqualToString("db.name", "name");
+ shouldBeEqualToString("db.name", "database-basics");
checkObjectStore();
objectStore = evalAndLog('db.createObjectStore("test456")');
- var setVersionTrans = evalAndLog("setVersionTrans = event.result");
+ var setVersionTrans = evalAndLog("setVersionTrans = event.target.result");
shouldBeTrue("setVersionTrans !== null");
setVersionTrans.oncomplete = unexpectedCompleteCallback;
setVersionTrans.onabort = checkMetadata;
diff --git a/LayoutTests/storage/indexeddb/database-quota-expected.txt b/LayoutTests/storage/indexeddb/database-quota-expected.txt
index 876d412..15aa075 100644
--- a/LayoutTests/storage/indexeddb/database-quota-expected.txt
+++ b/LayoutTests/storage/indexeddb/database-quota-expected.txt
@@ -3,58 +3,15 @@ Tests IndexedDB's quota enforcing mechanism.
On success, you will see a series of "PASS" messages, followed by "TEST COMPLETE".
-webkitIndexedDB.open('name')
-PASS 'onsuccess' in result is true
-PASS 'onerror' in result is true
-PASS 'readyState' in result is true
-An event should fire shortly...
-
-Success event fired:
-PASS 'result' in event is true
-PASS 'code' in event is false
-PASS 'message' in event is false
-PASS 'source' in event is true
-PASS event.source != null is true
-PASS 'onsuccess' in event.target is true
-PASS 'onerror' in event.target is true
-PASS 'readyState' in event.target is true
-PASS event.target.readyState is event.target.DONE
-
-db = event.result
+webkitIndexedDB.open('database-quota')
+db = event.target.result
db.setVersion('new version')
-PASS 'onsuccess' in result is true
-PASS 'onerror' in result is true
-PASS 'readyState' in result is true
-An event should fire shortly...
-
setVersionSuccess():
-Success event fired:
-PASS 'result' in event is true
-PASS 'code' in event is false
-PASS 'message' in event is false
-PASS 'source' in event is true
-PASS event.source != null is true
-PASS 'onsuccess' in event.target is true
-PASS 'onerror' in event.target is true
-PASS 'readyState' in event.target is true
-PASS event.target.readyState is event.target.DONE
-
-trans = event.result
+trans = event.target.result
PASS trans !== null is true
Deleted all object stores.
-Success event fired:
-PASS 'result' in event is true
-PASS 'code' in event is false
-PASS 'message' in event is false
-PASS 'source' in event is true
-PASS event.source != null is true
-PASS 'onsuccess' in event.target is true
-PASS 'onerror' in event.target is true
-PASS 'readyState' in event.target is true
-PASS event.target.readyState is event.target.DONE
-
PASS db.version is "new version"
-PASS db.name is "name"
+PASS db.name is "database-quota"
PASS db.objectStoreNames is []
PASS db.objectStoreNames.length is 0
PASS db.objectStoreNames.contains('') is false
@@ -68,18 +25,7 @@ trans = db.transaction([], webkitIDBTransaction.READ_WRITE)
Creating 'data' which contains 64K of data
PASS data.length is 65536
store = trans.objectStore('test123')
-Error function called: (1) Error writing data to stable storage.
-Error event fired:
-PASS 'result' in event is false
-PASS 'code' in event is true
-PASS 'message' in event is true
-PASS 'source' in event is true
-PASS event.source != null is true
-PASS 'onsuccess' in event.target is true
-PASS 'onerror' in event.target is true
-PASS 'readyState' in event.target is true
-PASS event.target.readyState is event.target.DONE
-
+Error function called: (undefined) undefined
event.preventDefault()
PASS Adding data failed due to quota error. Data added was about 5 MB
PASS successfullyParsed is true
diff --git a/LayoutTests/storage/indexeddb/database-quota.html b/LayoutTests/storage/indexeddb/database-quota.html
index b447505..038e8d8 100644
--- a/LayoutTests/storage/indexeddb/database-quota.html
+++ b/LayoutTests/storage/indexeddb/database-quota.html
@@ -16,39 +16,31 @@ if (window.layoutTestController)
function test()
{
- result = evalAndLog("webkitIndexedDB.open('name')");
- verifyResult(result);
- result.onsuccess = openSuccess;
- result.onerror = unexpectedErrorCallback;
+ request = evalAndLog("webkitIndexedDB.open('database-quota')");
+ request.onsuccess = openSuccess;
+ request.onerror = unexpectedErrorCallback;
}
function openSuccess()
{
- verifySuccessEvent(event);
- window.db = evalAndLog("db = event.result");
+ window.db = evalAndLog("db = event.target.result");
- result = evalAndLog("db.setVersion('new version')");
- verifyResult(result);
- result.onsuccess = setVersionSuccess;
- result.onerror = unexpectedErrorCallback;
+ request = evalAndLog("db.setVersion('new version')");
+ request.onsuccess = setVersionSuccess;
+ request.onerror = unexpectedErrorCallback;
}
function setVersionSuccess()
{
debug("setVersionSuccess():");
- verifySuccessEvent(event);
- window.trans = evalAndLog("trans = event.result");
+ window.trans = evalAndLog("trans = event.target.result");
shouldBeTrue("trans !== null");
trans.onabort = unexpectedAbortCallback;
- deleteAllObjectStores(db, createNewObjectStore);
-}
+ deleteAllObjectStores(db);
-function createNewObjectStore()
-{
- verifySuccessEvent(event);
shouldBeEqualToString("db.version", "new version");
- shouldBeEqualToString("db.name", "name");
+ shouldBeEqualToString("db.name", "database-quota");
shouldBe("db.objectStoreNames", "[]");
shouldBe("db.objectStoreNames.length", "0");
shouldBe("db.objectStoreNames.contains('')", "false");
@@ -91,22 +83,21 @@ function addData()
{
if (dataAdded < 5 * 1024 * 1024) {
if (dataAdded > 0)
- store = event.source;
+ store = event.target.source;
} else {
testFailed("added more than quota");
done();
return;
}
dataAdded += 65536;
- result = store.add({x: data}, dataAdded);
- result.onsuccess = addData;
- result.onerror = logError;
+ request = store.add({x: data}, dataAdded);
+ request.onsuccess = addData;
+ request.onerror = logError;
}
function logError()
{
debug("Error function called: (" + event.code + ") " + event.message);
- verifyErrorEvent(event);
evalAndLog("event.preventDefault()");
}
diff --git a/LayoutTests/storage/indexeddb/duplicates-expected.txt b/LayoutTests/storage/indexeddb/duplicates-expected.txt
index 551b0bb..84cb3b4 100644
--- a/LayoutTests/storage/indexeddb/duplicates-expected.txt
+++ b/LayoutTests/storage/indexeddb/duplicates-expected.txt
@@ -3,542 +3,94 @@ Verify that you can put the same data in 2 different databases without uniquenes
On success, you will see a series of "PASS" messages, followed by "TEST COMPLETE".
-webkitIndexedDB.open('name')
-PASS 'onsuccess' in result is true
-PASS 'onerror' in result is true
-PASS 'readyState' in result is true
-An event should fire shortly...
-
-Success event fired:
-PASS 'result' in event is true
-PASS 'code' in event is false
-PASS 'message' in event is false
-PASS 'source' in event is true
-PASS event.source != null is true
-PASS 'onsuccess' in event.target is true
-PASS 'onerror' in event.target is true
-PASS 'readyState' in event.target is true
-PASS event.target.readyState is event.target.DONE
-
-db = event.result
+webkitIndexedDB.open('duplicates-1')
+db = event.target.result
db.setVersion('new version')
-PASS 'onsuccess' in result is true
-PASS 'onerror' in result is true
-PASS 'readyState' in result is true
-An event should fire shortly...
-
setVersionSuccess():
-Success event fired:
-PASS 'result' in event is true
-PASS 'code' in event is false
-PASS 'message' in event is false
-PASS 'source' in event is true
-PASS event.source != null is true
-PASS 'onsuccess' in event.target is true
-PASS 'onerror' in event.target is true
-PASS 'readyState' in event.target is true
-PASS event.target.readyState is event.target.DONE
-
-trans = event.result
+trans = event.target.result
PASS trans !== null is true
Deleted all object stores.
db.createObjectStore('storeName', null)
store.createIndex('indexName', 'x')
store.add({x: 'value', y: 'zzz'}, 'key')
-PASS 'onsuccess' in result is true
-PASS 'onerror' in result is true
-PASS 'readyState' in result is true
-An event should fire shortly...
-
-Success event fired:
-PASS 'result' in event is true
-PASS 'code' in event is false
-PASS 'message' in event is false
-PASS 'source' in event is true
-PASS event.source != null is true
-PASS 'onsuccess' in event.target is true
-PASS 'onerror' in event.target is true
-PASS 'readyState' in event.target is true
-PASS event.target.readyState is event.target.DONE
-
-event.source.add({x: 'value2', y: 'zzz2'}, 'key2')
-PASS 'onsuccess' in result is true
-PASS 'onerror' in result is true
-PASS 'readyState' in result is true
-An event should fire shortly...
-
-Success event fired:
-PASS 'result' in event is true
-PASS 'code' in event is false
-PASS 'message' in event is false
-PASS 'source' in event is true
-PASS event.source != null is true
-PASS 'onsuccess' in event.target is true
-PASS 'onerror' in event.target is true
-PASS 'readyState' in event.target is true
-PASS event.target.readyState is event.target.DONE
-
+event.target.source.add({x: 'value2', y: 'zzz2'}, 'key2')
indexObject.getKey('value')
-PASS 'onsuccess' in result is true
-PASS 'onerror' in result is true
-PASS 'readyState' in result is true
-An event should fire shortly...
-
-Success event fired:
-PASS 'result' in event is true
-PASS 'code' in event is false
-PASS 'message' in event is false
-PASS 'source' in event is true
-PASS event.source != null is true
-PASS 'onsuccess' in event.target is true
-PASS 'onerror' in event.target is true
-PASS 'readyState' in event.target is true
-PASS event.target.readyState is event.target.DONE
-
-PASS event.result is "key"
+PASS event.target.result is "key"
indexObject.get('value')
-PASS 'onsuccess' in result is true
-PASS 'onerror' in result is true
-PASS 'readyState' in result is true
-An event should fire shortly...
-
-Success event fired:
-PASS 'result' in event is true
-PASS 'code' in event is false
-PASS 'message' in event is false
-PASS 'source' in event is true
-PASS event.source != null is true
-PASS 'onsuccess' in event.target is true
-PASS 'onerror' in event.target is true
-PASS 'readyState' in event.target is true
-PASS event.target.readyState is event.target.DONE
-
-PASS event.result.x is "value"
-PASS event.result.y is "zzz"
+PASS event.target.result.x is "value"
+PASS event.target.result.y is "zzz"
indexObject.getKey('does not exist')
-PASS 'onsuccess' in result is true
-PASS 'onerror' in result is true
-PASS 'readyState' in result is true
-An event should fire shortly...
-
-Error event fired:
-PASS 'result' in event is false
-PASS 'code' in event is true
-PASS 'message' in event is true
-PASS 'source' in event is true
-PASS event.source != null is true
-PASS 'onsuccess' in event.target is true
-PASS 'onerror' in event.target is true
-PASS 'readyState' in event.target is true
-PASS event.target.readyState is event.target.DONE
-
-PASS event.code is webkitIDBDatabaseException.NOT_FOUND_ERR
+PASS event.target.errorCode is webkitIDBDatabaseException.NOT_FOUND_ERR
event.preventDefault()
indexObject.get('does not exist')
-PASS 'onsuccess' in result is true
-PASS 'onerror' in result is true
-PASS 'readyState' in result is true
-An event should fire shortly...
-
-Error event fired:
-PASS 'result' in event is false
-PASS 'code' in event is true
-PASS 'message' in event is true
-PASS 'source' in event is true
-PASS event.source != null is true
-PASS 'onsuccess' in event.target is true
-PASS 'onerror' in event.target is true
-PASS 'readyState' in event.target is true
-PASS event.target.readyState is event.target.DONE
-
-PASS event.code is webkitIDBDatabaseException.NOT_FOUND_ERR
+PASS event.target.errorCode is webkitIDBDatabaseException.NOT_FOUND_ERR
event.preventDefault()
indexObject.openKeyCursor()
-PASS 'onsuccess' in result is true
-PASS 'onerror' in result is true
-PASS 'readyState' in result is true
-An event should fire shortly...
-
-Success event fired:
-PASS 'result' in event is true
-PASS 'code' in event is false
-PASS 'message' in event is false
-PASS 'source' in event is true
-PASS event.source != null is true
-PASS 'onsuccess' in event.target is true
-PASS 'onerror' in event.target is true
-PASS 'readyState' in event.target is true
-PASS event.target.readyState is event.target.DONE
-
-PASS event.result === null is false
-PASS event.result.key is "value"
-PASS event.result.value is "key"
-event.result.continue()
-PASS 'onsuccess' in result is true
-PASS 'onerror' in result is true
-PASS 'readyState' in result is true
-An event should fire shortly...
-
-Success event fired:
-PASS 'result' in event is true
-PASS 'code' in event is false
-PASS 'message' in event is false
-PASS 'source' in event is true
-PASS event.source != null is true
-PASS 'onsuccess' in event.target is true
-PASS 'onerror' in event.target is true
-PASS 'readyState' in event.target is true
-PASS event.target.readyState is event.target.DONE
-
-PASS event.result === null is false
-PASS event.result.key is "value2"
-PASS event.result.value is "key2"
-event.result.continue()
-PASS 'onsuccess' in result is true
-PASS 'onerror' in result is true
-PASS 'readyState' in result is true
-An event should fire shortly...
-
-Success event fired:
-PASS 'result' in event is true
-PASS 'code' in event is false
-PASS 'message' in event is false
-PASS 'source' in event is true
-PASS event.source != null is true
-PASS 'onsuccess' in event.target is true
-PASS 'onerror' in event.target is true
-PASS 'readyState' in event.target is true
-PASS event.target.readyState is event.target.DONE
-
-PASS event.result === null is true
+PASS event.target.result === null is false
+PASS event.target.result.key is "value"
+PASS event.target.result.primaryKey is "key"
+event.target.result.continue()
+PASS event.target.result === null is false
+PASS event.target.result.key is "value2"
+PASS event.target.result.primaryKey is "key2"
+event.target.result.continue()
+PASS event.target.result === null is true
indexObject.openCursor()
-PASS 'onsuccess' in result is true
-PASS 'onerror' in result is true
-PASS 'readyState' in result is true
-An event should fire shortly...
-
-Success event fired:
-PASS 'result' in event is true
-PASS 'code' in event is false
-PASS 'message' in event is false
-PASS 'source' in event is true
-PASS event.source != null is true
-PASS 'onsuccess' in event.target is true
-PASS 'onerror' in event.target is true
-PASS 'readyState' in event.target is true
-PASS event.target.readyState is event.target.DONE
-
-PASS event.result === null is false
-PASS event.result.key is "value"
-PASS event.result.value.x is "value"
-PASS event.result.value.y is "zzz"
-event.result.continue()
-PASS 'onsuccess' in result is true
-PASS 'onerror' in result is true
-PASS 'readyState' in result is true
-An event should fire shortly...
-
-Success event fired:
-PASS 'result' in event is true
-PASS 'code' in event is false
-PASS 'message' in event is false
-PASS 'source' in event is true
-PASS event.source != null is true
-PASS 'onsuccess' in event.target is true
-PASS 'onerror' in event.target is true
-PASS 'readyState' in event.target is true
-PASS event.target.readyState is event.target.DONE
-
-PASS event.result === null is false
-PASS event.result.key is "value2"
-PASS event.result.value.x is "value2"
-PASS event.result.value.y is "zzz2"
-event.result.continue()
-PASS 'onsuccess' in result is true
-PASS 'onerror' in result is true
-PASS 'readyState' in result is true
-An event should fire shortly...
-
-Success event fired:
-PASS 'result' in event is true
-PASS 'code' in event is false
-PASS 'message' in event is false
-PASS 'source' in event is true
-PASS event.source != null is true
-PASS 'onsuccess' in event.target is true
-PASS 'onerror' in event.target is true
-PASS 'readyState' in event.target is true
-PASS event.target.readyState is event.target.DONE
-
-PASS event.result === null is true
-webkitIndexedDB.open('name2')
-PASS 'onsuccess' in result is true
-PASS 'onerror' in result is true
-PASS 'readyState' in result is true
-An event should fire shortly...
-
-Success event fired:
-PASS 'result' in event is true
-PASS 'code' in event is false
-PASS 'message' in event is false
-PASS 'source' in event is true
-PASS event.source != null is true
-PASS 'onsuccess' in event.target is true
-PASS 'onerror' in event.target is true
-PASS 'readyState' in event.target is true
-PASS event.target.readyState is event.target.DONE
-
-db = event.result
+PASS event.target.result === null is false
+PASS event.target.result.key is "value"
+PASS event.target.result.value.x is "value"
+PASS event.target.result.value.y is "zzz"
+event.target.result.continue()
+PASS event.target.result === null is false
+PASS event.target.result.key is "value2"
+PASS event.target.result.value.x is "value2"
+PASS event.target.result.value.y is "zzz2"
+event.target.result.continue()
+PASS event.target.result === null is true
+webkitIndexedDB.open('duplicates-2')
+db = event.target.result
db.setVersion('new version')
-PASS 'onsuccess' in result is true
-PASS 'onerror' in result is true
-PASS 'readyState' in result is true
-An event should fire shortly...
-
setVersionSuccess():
-Success event fired:
-PASS 'result' in event is true
-PASS 'code' in event is false
-PASS 'message' in event is false
-PASS 'source' in event is true
-PASS event.source != null is true
-PASS 'onsuccess' in event.target is true
-PASS 'onerror' in event.target is true
-PASS 'readyState' in event.target is true
-PASS event.target.readyState is event.target.DONE
-
-trans = event.result
+trans = event.target.result
PASS trans !== null is true
Deleted all object stores.
db.createObjectStore('storeName', null)
store.createIndex('indexName', 'x')
store.add({x: 'value', y: 'zzz'}, 'key')
-PASS 'onsuccess' in result is true
-PASS 'onerror' in result is true
-PASS 'readyState' in result is true
-An event should fire shortly...
-
-Success event fired:
-PASS 'result' in event is true
-PASS 'code' in event is false
-PASS 'message' in event is false
-PASS 'source' in event is true
-PASS event.source != null is true
-PASS 'onsuccess' in event.target is true
-PASS 'onerror' in event.target is true
-PASS 'readyState' in event.target is true
-PASS event.target.readyState is event.target.DONE
-
-event.source.add({x: 'value2', y: 'zzz2'}, 'key2')
-PASS 'onsuccess' in result is true
-PASS 'onerror' in result is true
-PASS 'readyState' in result is true
-An event should fire shortly...
-
-Success event fired:
-PASS 'result' in event is true
-PASS 'code' in event is false
-PASS 'message' in event is false
-PASS 'source' in event is true
-PASS event.source != null is true
-PASS 'onsuccess' in event.target is true
-PASS 'onerror' in event.target is true
-PASS 'readyState' in event.target is true
-PASS event.target.readyState is event.target.DONE
-
+event.target.source.add({x: 'value2', y: 'zzz2'}, 'key2')
indexObject.getKey('value')
-PASS 'onsuccess' in result is true
-PASS 'onerror' in result is true
-PASS 'readyState' in result is true
-An event should fire shortly...
-
-Success event fired:
-PASS 'result' in event is true
-PASS 'code' in event is false
-PASS 'message' in event is false
-PASS 'source' in event is true
-PASS event.source != null is true
-PASS 'onsuccess' in event.target is true
-PASS 'onerror' in event.target is true
-PASS 'readyState' in event.target is true
-PASS event.target.readyState is event.target.DONE
-
-PASS event.result is "key"
+PASS event.target.result is "key"
indexObject.get('value')
-PASS 'onsuccess' in result is true
-PASS 'onerror' in result is true
-PASS 'readyState' in result is true
-An event should fire shortly...
-
-Success event fired:
-PASS 'result' in event is true
-PASS 'code' in event is false
-PASS 'message' in event is false
-PASS 'source' in event is true
-PASS event.source != null is true
-PASS 'onsuccess' in event.target is true
-PASS 'onerror' in event.target is true
-PASS 'readyState' in event.target is true
-PASS event.target.readyState is event.target.DONE
-
-PASS event.result.x is "value"
-PASS event.result.y is "zzz"
+PASS event.target.result.x is "value"
+PASS event.target.result.y is "zzz"
indexObject.getKey('does not exist')
-PASS 'onsuccess' in result is true
-PASS 'onerror' in result is true
-PASS 'readyState' in result is true
-An event should fire shortly...
-
-Error event fired:
-PASS 'result' in event is false
-PASS 'code' in event is true
-PASS 'message' in event is true
-PASS 'source' in event is true
-PASS event.source != null is true
-PASS 'onsuccess' in event.target is true
-PASS 'onerror' in event.target is true
-PASS 'readyState' in event.target is true
-PASS event.target.readyState is event.target.DONE
-
-PASS event.code is webkitIDBDatabaseException.NOT_FOUND_ERR
+PASS event.target.errorCode is webkitIDBDatabaseException.NOT_FOUND_ERR
event.preventDefault()
indexObject.get('does not exist')
-PASS 'onsuccess' in result is true
-PASS 'onerror' in result is true
-PASS 'readyState' in result is true
-An event should fire shortly...
-
-Error event fired:
-PASS 'result' in event is false
-PASS 'code' in event is true
-PASS 'message' in event is true
-PASS 'source' in event is true
-PASS event.source != null is true
-PASS 'onsuccess' in event.target is true
-PASS 'onerror' in event.target is true
-PASS 'readyState' in event.target is true
-PASS event.target.readyState is event.target.DONE
-
-PASS event.code is webkitIDBDatabaseException.NOT_FOUND_ERR
+PASS event.target.errorCode is webkitIDBDatabaseException.NOT_FOUND_ERR
event.preventDefault()
indexObject.openKeyCursor()
-PASS 'onsuccess' in result is true
-PASS 'onerror' in result is true
-PASS 'readyState' in result is true
-An event should fire shortly...
-
-Success event fired:
-PASS 'result' in event is true
-PASS 'code' in event is false
-PASS 'message' in event is false
-PASS 'source' in event is true
-PASS event.source != null is true
-PASS 'onsuccess' in event.target is true
-PASS 'onerror' in event.target is true
-PASS 'readyState' in event.target is true
-PASS event.target.readyState is event.target.DONE
-
-PASS event.result === null is false
-PASS event.result.key is "value"
-PASS event.result.value is "key"
-event.result.continue()
-PASS 'onsuccess' in result is true
-PASS 'onerror' in result is true
-PASS 'readyState' in result is true
-An event should fire shortly...
-
-Success event fired:
-PASS 'result' in event is true
-PASS 'code' in event is false
-PASS 'message' in event is false
-PASS 'source' in event is true
-PASS event.source != null is true
-PASS 'onsuccess' in event.target is true
-PASS 'onerror' in event.target is true
-PASS 'readyState' in event.target is true
-PASS event.target.readyState is event.target.DONE
-
-PASS event.result === null is false
-PASS event.result.key is "value2"
-PASS event.result.value is "key2"
-event.result.continue()
-PASS 'onsuccess' in result is true
-PASS 'onerror' in result is true
-PASS 'readyState' in result is true
-An event should fire shortly...
-
-Success event fired:
-PASS 'result' in event is true
-PASS 'code' in event is false
-PASS 'message' in event is false
-PASS 'source' in event is true
-PASS event.source != null is true
-PASS 'onsuccess' in event.target is true
-PASS 'onerror' in event.target is true
-PASS 'readyState' in event.target is true
-PASS event.target.readyState is event.target.DONE
-
-PASS event.result === null is true
+PASS event.target.result === null is false
+PASS event.target.result.key is "value"
+PASS event.target.result.primaryKey is "key"
+event.target.result.continue()
+PASS event.target.result === null is false
+PASS event.target.result.key is "value2"
+PASS event.target.result.primaryKey is "key2"
+event.target.result.continue()
+PASS event.target.result === null is true
indexObject.openCursor()
-PASS 'onsuccess' in result is true
-PASS 'onerror' in result is true
-PASS 'readyState' in result is true
-An event should fire shortly...
-
-Success event fired:
-PASS 'result' in event is true
-PASS 'code' in event is false
-PASS 'message' in event is false
-PASS 'source' in event is true
-PASS event.source != null is true
-PASS 'onsuccess' in event.target is true
-PASS 'onerror' in event.target is true
-PASS 'readyState' in event.target is true
-PASS event.target.readyState is event.target.DONE
-
-PASS event.result === null is false
-PASS event.result.key is "value"
-PASS event.result.value.x is "value"
-PASS event.result.value.y is "zzz"
-event.result.continue()
-PASS 'onsuccess' in result is true
-PASS 'onerror' in result is true
-PASS 'readyState' in result is true
-An event should fire shortly...
-
-Success event fired:
-PASS 'result' in event is true
-PASS 'code' in event is false
-PASS 'message' in event is false
-PASS 'source' in event is true
-PASS event.source != null is true
-PASS 'onsuccess' in event.target is true
-PASS 'onerror' in event.target is true
-PASS 'readyState' in event.target is true
-PASS event.target.readyState is event.target.DONE
-
-PASS event.result === null is false
-PASS event.result.key is "value2"
-PASS event.result.value.x is "value2"
-PASS event.result.value.y is "zzz2"
-event.result.continue()
-PASS 'onsuccess' in result is true
-PASS 'onerror' in result is true
-PASS 'readyState' in result is true
-An event should fire shortly...
-
-Success event fired:
-PASS 'result' in event is true
-PASS 'code' in event is false
-PASS 'message' in event is false
-PASS 'source' in event is true
-PASS event.source != null is true
-PASS 'onsuccess' in event.target is true
-PASS 'onerror' in event.target is true
-PASS 'readyState' in event.target is true
-PASS event.target.readyState is event.target.DONE
-
-PASS event.result === null is true
+PASS event.target.result === null is false
+PASS event.target.result.key is "value"
+PASS event.target.result.value.x is "value"
+PASS event.target.result.value.y is "zzz"
+event.target.result.continue()
+PASS event.target.result === null is false
+PASS event.target.result.key is "value2"
+PASS event.target.result.value.x is "value2"
+PASS event.target.result.value.y is "zzz2"
+event.target.result.continue()
+PASS event.target.result === null is true
PASS successfullyParsed is true
TEST COMPLETE
diff --git a/LayoutTests/storage/indexeddb/duplicates.html b/LayoutTests/storage/indexeddb/duplicates.html
index cdfdcaa..bf04a2f 100644
--- a/LayoutTests/storage/indexeddb/duplicates.html
+++ b/LayoutTests/storage/indexeddb/duplicates.html
@@ -18,38 +18,31 @@ testCount = 0;
function test()
{
if (testCount++ == 0)
- result = evalAndLog("webkitIndexedDB.open('name')");
+ request = evalAndLog("webkitIndexedDB.open('duplicates-1')");
else
- result = evalAndLog("webkitIndexedDB.open('name2')");
- verifyResult(result);
- result.onsuccess = setVersion;
- result.onerror = unexpectedErrorCallback;
+ request = evalAndLog("webkitIndexedDB.open('duplicates-2')");
+ request.onsuccess = setVersion;
+ request.onerror = unexpectedErrorCallback;
}
function setVersion()
{
- verifySuccessEvent(event);
- db = evalAndLog("db = event.result");
+ db = evalAndLog("db = event.target.result");
- result = evalAndLog("db.setVersion('new version')");
- verifyResult(result);
- result.onsuccess = deleteExisting;
- result.onerror = unexpectedErrorCallback;
+ request = evalAndLog("db.setVersion('new version')");
+ request.onsuccess = deleteExisting;
+ request.onerror = unexpectedErrorCallback;
}
function deleteExisting()
{
debug("setVersionSuccess():");
- verifySuccessEvent(event);
- window.trans = evalAndLog("trans = event.result");
+ window.trans = evalAndLog("trans = event.target.result");
shouldBeTrue("trans !== null");
trans.onabort = unexpectedAbortCallback;
- deleteAllObjectStores(db, createIndex);
-}
+ deleteAllObjectStores(db);
-function createIndex()
-{
window.store = evalAndLog("db.createObjectStore('storeName', null)");
window.indexObject = evalAndLog("store.createIndex('indexName', 'x')");
addData();
@@ -57,150 +50,124 @@ function createIndex()
function addData()
{
- result = evalAndLog("store.add({x: 'value', y: 'zzz'}, 'key')");
- verifyResult(result);
- result.onsuccess = addMore;
- result.onerror = unexpectedErrorCallback;
+ request = evalAndLog("store.add({x: 'value', y: 'zzz'}, 'key')");
+ request.onsuccess = addMore;
+ request.onerror = unexpectedErrorCallback;
}
function addMore()
{
- verifySuccessEvent(event);
-
- result = evalAndLog("event.source.add({x: 'value2', y: 'zzz2'}, 'key2')");
- verifyResult(result);
- result.onsuccess = getData;
- result.onerror = unexpectedErrorCallback;
+ request = evalAndLog("event.target.source.add({x: 'value2', y: 'zzz2'}, 'key2')");
+ request.onsuccess = getData;
+ request.onerror = unexpectedErrorCallback;
}
function getData()
{
- verifySuccessEvent(event);
-
- result = evalAndLog("indexObject.getKey('value')");
- verifyResult(result);
- result.onsuccess = getObjectData;
- result.onerror = unexpectedErrorCallback;
+ request = evalAndLog("indexObject.getKey('value')");
+ request.onsuccess = getObjectData;
+ request.onerror = unexpectedErrorCallback;
}
function getObjectData()
{
- verifySuccessEvent(event);
- shouldBeEqualToString("event.result", "key");
+ shouldBeEqualToString("event.target.result", "key");
- result = evalAndLog("indexObject.get('value')");
- verifyResult(result);
- result.onsuccess = getDataFail;
- result.onerror = unexpectedErrorCallback;
+ request = evalAndLog("indexObject.get('value')");
+ request.onsuccess = getDataFail;
+ request.onerror = unexpectedErrorCallback;
}
function getDataFail()
{
- verifySuccessEvent(event);
- shouldBeEqualToString("event.result.x", "value");
- shouldBeEqualToString("event.result.y", "zzz");
+ shouldBeEqualToString("event.target.result.x", "value");
+ shouldBeEqualToString("event.target.result.y", "zzz");
- result = evalAndLog("indexObject.getKey('does not exist')");
- verifyResult(result);
- result.onsuccess = unexpectedSuccessCallback;
- result.onerror = getObjectDataFail;
+ request = evalAndLog("indexObject.getKey('does not exist')");
+ request.onsuccess = unexpectedSuccessCallback;
+ request.onerror = getObjectDataFail;
}
function getObjectDataFail()
{
- verifyErrorEvent(event);
- shouldBe("event.code", "webkitIDBDatabaseException.NOT_FOUND_ERR");
+ shouldBe("event.target.errorCode", "webkitIDBDatabaseException.NOT_FOUND_ERR");
evalAndLog("event.preventDefault()");
- result = evalAndLog("indexObject.get('does not exist')");
- verifyResult(result);
- result.onsuccess = unexpectedSuccessCallback;
- result.onerror = openKeyCursor;
+ request = evalAndLog("indexObject.get('does not exist')");
+ request.onsuccess = unexpectedSuccessCallback;
+ request.onerror = openKeyCursor;
}
function openKeyCursor()
{
- verifyErrorEvent(event);
- shouldBe("event.code", "webkitIDBDatabaseException.NOT_FOUND_ERR");
+ shouldBe("event.target.errorCode", "webkitIDBDatabaseException.NOT_FOUND_ERR");
evalAndLog("event.preventDefault()");
- window.result = evalAndLog("indexObject.openKeyCursor()");
- verifyResult(result);
- result.onsuccess = cursor1Continue;
- result.onerror = unexpectedErrorCallback;
+ window.request = evalAndLog("indexObject.openKeyCursor()");
+ request.onsuccess = cursor1Continue;
+ request.onerror = unexpectedErrorCallback;
}
function cursor1Continue()
{
- verifySuccessEvent(event);
- shouldBeFalse("event.result === null");
- shouldBeEqualToString("event.result.key", "value");
- shouldBeEqualToString("event.result.value", "key");
+ shouldBeFalse("event.target.result === null");
+ shouldBeEqualToString("event.target.result.key", "value");
+ shouldBeEqualToString("event.target.result.primaryKey", "key");
- // We re-use the last result object.
- evalAndLog("event.result.continue()");
- verifyResult(window.result);
- window.result.onsuccess = cursor1Continue2;
+ // We re-use the last request object.
+ evalAndLog("event.target.result.continue()");
+ window.request.onsuccess = cursor1Continue2;
}
function cursor1Continue2()
{
- verifySuccessEvent(event);
- shouldBeFalse("event.result === null");
- shouldBeEqualToString("event.result.key", "value2");
- shouldBeEqualToString("event.result.value", "key2");
+ shouldBeFalse("event.target.result === null");
+ shouldBeEqualToString("event.target.result.key", "value2");
+ shouldBeEqualToString("event.target.result.primaryKey", "key2");
- // We re-use the last result object.
- evalAndLog("event.result.continue()");
- verifyResult(window.result);
- window.result.onsuccess = openObjectCursor;
+ // We re-use the last request object.
+ evalAndLog("event.target.result.continue()");
+ window.request.onsuccess = openObjectCursor;
}
function openObjectCursor()
{
- verifySuccessEvent(event);
- shouldBeTrue("event.result === null");
+ shouldBeTrue("event.target.result === null");
- window.result = evalAndLog("indexObject.openCursor()");
- verifyResult(result);
- result.onsuccess = cursor2Continue;
- result.onerror = unexpectedErrorCallback;
+ window.request = evalAndLog("indexObject.openCursor()");
+ request.onsuccess = cursor2Continue;
+ request.onerror = unexpectedErrorCallback;
}
function cursor2Continue()
{
- verifySuccessEvent(event);
- shouldBeFalse("event.result === null");
- shouldBeEqualToString("event.result.key", "value");
- shouldBeEqualToString("event.result.value.x", "value");
- shouldBeEqualToString("event.result.value.y", "zzz");
+ shouldBeFalse("event.target.result === null");
+ shouldBeEqualToString("event.target.result.key", "value");
+ shouldBeEqualToString("event.target.result.value.x", "value");
+ shouldBeEqualToString("event.target.result.value.y", "zzz");
- // We re-use the last result object.
- evalAndLog("event.result.continue()");
- verifyResult(window.result);
- window.result.onsuccess = cursor2Continue2;
+ // We re-use the last request object.
+ evalAndLog("event.target.result.continue()");
+ window.request.onsuccess = cursor2Continue2;
}
function cursor2Continue2()
{
- verifySuccessEvent(event);
- shouldBeFalse("event.result === null");
- shouldBeEqualToString("event.result.key", "value2");
- shouldBeEqualToString("event.result.value.x", "value2");
- shouldBeEqualToString("event.result.value.y", "zzz2");
+ shouldBeFalse("event.target.result === null");
+ shouldBeEqualToString("event.target.result.key", "value2");
+ shouldBeEqualToString("event.target.result.value.x", "value2");
+ shouldBeEqualToString("event.target.result.value.y", "zzz2");
- // We re-use the last result object.
- evalAndLog("event.result.continue()");
- verifyResult(window.result);
- window.result.onsuccess = last;
+ // We re-use the last request object.
+ evalAndLog("event.target.result.continue()");
+ window.request.onsuccess = last;
}
function last()
{
- verifySuccessEvent(event);
- shouldBeTrue("event.result === null");
+ shouldBeTrue("event.target.result === null");
if (testCount == 1)
test();
diff --git a/LayoutTests/storage/indexeddb/error-causes-abort-by-default-expected.txt b/LayoutTests/storage/indexeddb/error-causes-abort-by-default-expected.txt
index dd8fd61..96f4b65 100644
--- a/LayoutTests/storage/indexeddb/error-causes-abort-by-default-expected.txt
+++ b/LayoutTests/storage/indexeddb/error-causes-abort-by-default-expected.txt
@@ -3,43 +3,11 @@ Verify that a transaction with an error aborts unless preventDefault() is called
On success, you will see a series of "PASS" messages, followed by "TEST COMPLETE".
-webkitIndexedDB.open('name')
-PASS 'onsuccess' in result is true
-PASS 'onerror' in result is true
-PASS 'readyState' in result is true
-An event should fire shortly...
-
-Success event fired:
-PASS 'result' in event is true
-PASS 'code' in event is false
-PASS 'message' in event is false
-PASS 'source' in event is true
-PASS event.source != null is true
-PASS 'onsuccess' in event.target is true
-PASS 'onerror' in event.target is true
-PASS 'readyState' in event.target is true
-PASS event.target.readyState is event.target.DONE
-
-db = event.result
+webkitIndexedDB.open('error-causes-abort-by-default')
+db = event.target.result
db.setVersion('new version')
-PASS 'onsuccess' in result is true
-PASS 'onerror' in result is true
-PASS 'readyState' in result is true
-An event should fire shortly...
-
setVersionSuccess():
-Success event fired:
-PASS 'result' in event is true
-PASS 'code' in event is false
-PASS 'message' in event is false
-PASS 'source' in event is true
-PASS event.source != null is true
-PASS 'onsuccess' in event.target is true
-PASS 'onerror' in event.target is true
-PASS 'readyState' in event.target is true
-PASS event.target.readyState is event.target.DONE
-
-trans = event.result
+trans = event.target.result
PASS trans !== null is true
trans.oncomplete = addData
Deleted all object stores.
@@ -49,28 +17,7 @@ trans.onabort = unexpectedAbortCallback
trans.oncomplete = transactionCompleted
store = trans.objectStore('storeName')
store.add({x: 'value', y: 'zzz'}, 'key')
-PASS 'onsuccess' in result is true
-PASS 'onerror' in result is true
-PASS 'readyState' in result is true
-An event should fire shortly...
-
-Success event fired:
-PASS 'result' in event is true
-PASS 'code' in event is false
-PASS 'message' in event is false
-PASS 'source' in event is true
-PASS event.source != null is true
-PASS 'onsuccess' in event.target is true
-PASS 'onerror' in event.target is true
-PASS 'readyState' in event.target is true
-PASS event.target.readyState is event.target.DONE
-
-event.source.add({x: 'value', y: 'zzz'}, 'key')
-PASS 'onsuccess' in result is true
-PASS 'onerror' in result is true
-PASS 'readyState' in result is true
-An event should fire shortly...
-
+event.target.source.add({x: 'value', y: 'zzz'}, 'key')
event.preventDefault()
PASS Transaction completed
@@ -80,11 +27,6 @@ trans.onabort = transactionAborted1
trans.oncomplete = unexpectedCompleteCallback
store = trans.objectStore('storeName')
store.add({x: 'value', y: 'zzz'}, 'key')
-PASS 'onsuccess' in result is true
-PASS 'onerror' in result is true
-PASS 'readyState' in result is true
-An event should fire shortly...
-
Doing nothing to prevent the default action...
PASS Transaction aborted
@@ -94,11 +36,6 @@ trans.onabort = transactionAborted2
trans.oncomplete = unexpectedCompleteCallback
store = trans.objectStore('storeName')
store.add({x: 'value', y: 'zzz'}, 'key')
-PASS 'onsuccess' in result is true
-PASS 'onerror' in result is true
-PASS 'readyState' in result is true
-An event should fire shortly...
-
Omitting an onerror handler
PASS Transaction aborted
PASS successfullyParsed is true
diff --git a/LayoutTests/storage/indexeddb/error-causes-abort-by-default.html b/LayoutTests/storage/indexeddb/error-causes-abort-by-default.html
index ab4c58a..8ce6d07 100644
--- a/LayoutTests/storage/indexeddb/error-causes-abort-by-default.html
+++ b/LayoutTests/storage/indexeddb/error-causes-abort-by-default.html
@@ -16,37 +16,30 @@ if (window.layoutTestController)
function test()
{
- result = evalAndLog("webkitIndexedDB.open('name')");
- verifyResult(result);
- result.onsuccess = setVersion;
- result.onerror = unexpectedErrorCallback;
+ request = evalAndLog("webkitIndexedDB.open('error-causes-abort-by-default')");
+ request.onsuccess = setVersion;
+ request.onerror = unexpectedErrorCallback;
}
function setVersion()
{
- verifySuccessEvent(event);
- db = evalAndLog("db = event.result");
+ db = evalAndLog("db = event.target.result");
- result = evalAndLog("db.setVersion('new version')");
- verifyResult(result);
- result.onsuccess = deleteExisting;
- result.onerror = unexpectedErrorCallback;
+ request = evalAndLog("db.setVersion('new version')");
+ request.onsuccess = deleteExisting;
+ request.onerror = unexpectedErrorCallback;
}
function deleteExisting()
{
debug("setVersionSuccess():");
- verifySuccessEvent(event);
- window.trans = evalAndLog("trans = event.result");
+ window.trans = evalAndLog("trans = event.target.result");
shouldBeTrue("trans !== null");
trans.onabort = unexpectedAbortCallback;
evalAndLog("trans.oncomplete = addData");
- deleteAllObjectStores(db, createObjectStore);
-}
+ deleteAllObjectStores(db);
-function createObjectStore()
-{
evalAndLog("db.createObjectStore('storeName', null)");
}
@@ -56,20 +49,17 @@ function addData()
evalAndLog("trans.onabort = unexpectedAbortCallback");
evalAndLog("trans.oncomplete = transactionCompleted");
store = evalAndLog("store = trans.objectStore('storeName')");
- result = evalAndLog("store.add({x: 'value', y: 'zzz'}, 'key')");
- verifyResult(result);
- result.onsuccess = addMore;
- result.onerror = unexpectedErrorCallback;
+ request = evalAndLog("store.add({x: 'value', y: 'zzz'}, 'key')");
+ request.onsuccess = addMore;
+ request.onerror = unexpectedErrorCallback;
}
function addMore()
{
- verifySuccessEvent(event);
-
- result = evalAndLog("event.source.add({x: 'value', y: 'zzz'}, 'key')");
- verifyResult(result);
- result.onsuccess = unexpectedSuccessCallback;
- result.addEventListener("error", preventTheDefault);
+
+ request = evalAndLog("event.target.source.add({x: 'value', y: 'zzz'}, 'key')");
+ request.onsuccess = unexpectedSuccessCallback;
+ request.addEventListener("error", preventTheDefault);
}
function preventTheDefault()
@@ -86,10 +76,9 @@ function transactionCompleted()
evalAndLog("trans.onabort = transactionAborted1");
evalAndLog("trans.oncomplete = unexpectedCompleteCallback");
store = evalAndLog("store = trans.objectStore('storeName')");
- result = evalAndLog("store.add({x: 'value', y: 'zzz'}, 'key')");
- verifyResult(result);
- result.onsuccess = unexpectedSuccessCallback;
- result.onerror = allowDefault;
+ request = evalAndLog("store.add({x: 'value', y: 'zzz'}, 'key')");
+ request.onsuccess = unexpectedSuccessCallback;
+ request.onerror = allowDefault;
}
function allowDefault()
@@ -106,9 +95,8 @@ function transactionAborted1()
evalAndLog("trans.onabort = transactionAborted2");
evalAndLog("trans.oncomplete = unexpectedCompleteCallback");
store = evalAndLog("store = trans.objectStore('storeName')");
- result = evalAndLog("store.add({x: 'value', y: 'zzz'}, 'key')");
- verifyResult(result);
- result.onsuccess = unexpectedSuccessCallback;
+ request = evalAndLog("store.add({x: 'value', y: 'zzz'}, 'key')");
+ request.onsuccess = unexpectedSuccessCallback;
debug("Omitting an onerror handler");
}
diff --git a/LayoutTests/storage/indexeddb/exception-in-event-aborts-expected.txt b/LayoutTests/storage/indexeddb/exception-in-event-aborts-expected.txt
new file mode 100644
index 0000000..25c91e2
--- /dev/null
+++ b/LayoutTests/storage/indexeddb/exception-in-event-aborts-expected.txt
@@ -0,0 +1,61 @@
+CONSOLE MESSAGE: line 65: Uncaught this exception is expected
+CONSOLE MESSAGE: line 65: Uncaught this exception is expected
+Test exceptions in IDBRequest handlers cause aborts.
+
+On success, you will see a series of "PASS" messages, followed by "TEST COMPLETE".
+
+
+webkitIndexedDB.open('exception-in-event-aborts')
+db = event.target.result
+db.setVersion('new version')
+setVersionSuccess():
+trans = event.target.result
+PASS trans !== null is true
+trans.oncomplete = startTest
+Deleted all object stores.
+store = db.createObjectStore('storeName', null)
+store.add({x: 'value', y: 'zzz'}, 'key')
+
+trans = db.transaction([], webkitIDBTransaction.READ_WRITE)
+trans.onabort = transactionAborted1
+trans.oncomplete = unexpectedCompleteCallback
+store = trans.objectStore('storeName')
+store.add({x: 'value2', y: 'zzz2'}, 'key2')
+
+event.preventDefault()
+Throwing
+
+PASS The transaction was aborted.
+trans = db.transaction([], webkitIDBTransaction.READ_WRITE)
+trans.onabort = transactionAborted2
+trans.oncomplete = unexpectedCompleteCallback
+store = trans.objectStore('storeName')
+store.add({x: 'value', y: 'zzz'}, 'key')
+
+event.preventDefault()
+Throwing
+
+PASS The transaction was aborted.
+trans = db.transaction([], webkitIDBTransaction.READ_WRITE)
+trans.onabort = unexpectedAbortCallback
+trans.oncomplete = transactionCompleted1
+store = trans.objectStore('storeName')
+store.add({x: 'value3', y: 'zzz3'}, 'key3')
+
+event.preventDefault()
+Throwing within a try block
+
+PASS The transaction completed.
+trans = db.transaction([], webkitIDBTransaction.READ_WRITE)
+trans.onabort = unexpectedAbortCallback
+trans.oncomplete = transactionCompleted2
+store = trans.objectStore('storeName')
+store.add({x: 'value4', y: 'zzz4'}, 'key4')
+FAIL Success function called unexpectedly.
+
+PASS The transaction completed.
+
+PASS successfullyParsed is true
+
+TEST COMPLETE
+
diff --git a/LayoutTests/storage/indexeddb/exception-in-event-aborts.html b/LayoutTests/storage/indexeddb/exception-in-event-aborts.html
new file mode 100644
index 0000000..b49da56
--- /dev/null
+++ b/LayoutTests/storage/indexeddb/exception-in-event-aborts.html
@@ -0,0 +1,133 @@
+<html>
+<head>
+<link rel="stylesheet" href="../../fast/js/resources/js-test-style.css">
+<script src="../../fast/js/resources/js-test-pre.js"></script>
+<script src="../../fast/js/resources/js-test-post-function.js"></script>
+<script src="resources/shared.js"></script>
+</head>
+<body>
+<p id="description"></p>
+<div id="console"></div>
+<script>
+
+description("Test exceptions in IDBRequest handlers cause aborts.");
+if (window.layoutTestController)
+ layoutTestController.waitUntilDone();
+
+function test()
+{
+ request = evalAndLog("webkitIndexedDB.open('exception-in-event-aborts')");
+ request.onsuccess = setVersion;
+ request.onerror = unexpectedErrorCallback;
+}
+
+function setVersion()
+{
+ db = evalAndLog("db = event.target.result");
+
+ request = evalAndLog("db.setVersion('new version')");
+ request.onsuccess = deleteExisting;
+ request.onerror = unexpectedErrorCallback;
+}
+
+function deleteExisting()
+{
+ debug("setVersionSuccess():");
+ window.trans = evalAndLog("trans = event.target.result");
+ shouldBeTrue("trans !== null");
+ trans.onabort = unexpectedAbortCallback;
+ evalAndLog("trans.oncomplete = startTest");
+
+ deleteAllObjectStores(db);
+
+ store = evalAndLog("store = db.createObjectStore('storeName', null)");
+ request = evalAndLog("store.add({x: 'value', y: 'zzz'}, 'key')");
+ request.onerror = unexpectedErrorCallback;
+}
+
+function startTest()
+{
+ debug("");
+ trans = evalAndLog("trans = db.transaction([], webkitIDBTransaction.READ_WRITE)");
+ evalAndLog("trans.onabort = transactionAborted1");
+ evalAndLog("trans.oncomplete = unexpectedCompleteCallback");
+ store = evalAndLog("store = trans.objectStore('storeName')");
+ request = evalAndLog("store.add({x: 'value2', y: 'zzz2'}, 'key2')");
+ trans.addEventListener('success', causeException, true);
+ request.onerror = unexpectedErrorCallback;
+}
+
+function causeException()
+{
+ debug("");
+ evalAndLog("event.preventDefault()");
+ debug("Throwing");
+ throw "this exception is expected";
+}
+
+function transactionAborted1()
+{
+ debug("");
+ testPassed("The transaction was aborted.");
+ trans = evalAndLog("trans = db.transaction([], webkitIDBTransaction.READ_WRITE)");
+ evalAndLog("trans.onabort = transactionAborted2");
+ evalAndLog("trans.oncomplete = unexpectedCompleteCallback");
+ store = evalAndLog("store = trans.objectStore('storeName')");
+ request = evalAndLog("store.add({x: 'value', y: 'zzz'}, 'key')");
+ request.onsuccess = unexpectedSuccessCallback;
+ db.onerror = causeException;
+}
+
+function transactionAborted2()
+{
+ debug("");
+ testPassed("The transaction was aborted.");
+ trans = evalAndLog("trans = db.transaction([], webkitIDBTransaction.READ_WRITE)");
+ evalAndLog("trans.onabort = unexpectedAbortCallback");
+ evalAndLog("trans.oncomplete = transactionCompleted1");
+ store = evalAndLog("store = trans.objectStore('storeName')");
+ request = evalAndLog("store.add({x: 'value3', y: 'zzz3'}, 'key3')");
+ request.onsuccess = throwAndCatch;
+ request.onerror = unexpectedErrorCallback;
+ db.onerror = null;
+}
+
+function throwAndCatch()
+{
+ debug("");
+ evalAndLog("event.preventDefault()");
+ debug("Throwing within a try block");
+ try {
+ throw "AHHH";
+ } catch (e) {
+ }
+}
+
+function transactionCompleted1()
+{
+ debug("");
+ testPassed("The transaction completed.");
+ trans = evalAndLog("trans = db.transaction([], webkitIDBTransaction.READ_WRITE)");
+ evalAndLog("trans.onabort = unexpectedAbortCallback");
+ evalAndLog("trans.oncomplete = transactionCompleted2");
+ store = evalAndLog("store = trans.objectStore('storeName')");
+ request = evalAndLog("store.add({x: 'value4', y: 'zzz4'}, 'key4')");
+ request.onsuccess = unexpectedSuccessCallback;
+ request.onerror = throwAndCatch;
+}
+
+function transactionCompleted2()
+{
+ debug("");
+ testPassed("The transaction completed.");
+ debug("");
+ done();
+}
+
+test();
+
+var successfullyParsed = true;
+
+</script>
+</body>
+</html>
diff --git a/LayoutTests/storage/indexeddb/index-basics-expected.txt b/LayoutTests/storage/indexeddb/index-basics-expected.txt
index d18a09a..5cf1c9b 100644
--- a/LayoutTests/storage/indexeddb/index-basics-expected.txt
+++ b/LayoutTests/storage/indexeddb/index-basics-expected.txt
@@ -3,43 +3,11 @@ Test the basics of IndexedDB's webkitIDBIndex.
On success, you will see a series of "PASS" messages, followed by "TEST COMPLETE".
-webkitIndexedDB.open('name')
-PASS 'onsuccess' in result is true
-PASS 'onerror' in result is true
-PASS 'readyState' in result is true
-An event should fire shortly...
-
-Success event fired:
-PASS 'result' in event is true
-PASS 'code' in event is false
-PASS 'message' in event is false
-PASS 'source' in event is true
-PASS event.source != null is true
-PASS 'onsuccess' in event.target is true
-PASS 'onerror' in event.target is true
-PASS 'readyState' in event.target is true
-PASS event.target.readyState is event.target.DONE
-
-db = event.result
+webkitIndexedDB.open('index-basics')
+db = event.target.result
db.setVersion('new version')
-PASS 'onsuccess' in result is true
-PASS 'onerror' in result is true
-PASS 'readyState' in result is true
-An event should fire shortly...
-
setVersionSuccess():
-Success event fired:
-PASS 'result' in event is true
-PASS 'code' in event is false
-PASS 'message' in event is false
-PASS 'source' in event is true
-PASS event.source != null is true
-PASS 'onsuccess' in event.target is true
-PASS 'onerror' in event.target is true
-PASS 'readyState' in event.target is true
-PASS event.target.readyState is event.target.DONE
-
-trans = event.result
+trans = event.target.result
PASS trans !== null is true
Deleted all object stores.
db.createObjectStore('storeName', null)
@@ -48,8 +16,8 @@ store.createIndex('indexName2', 'y', false)
store.createIndex('zIndex', 'z', true)
PASS 'name' in indexObject is true
PASS indexObject.name is "indexName"
-PASS 'storeName' in indexObject is true
-PASS indexObject.storeName is "storeName"
+PASS 'objectStore' in indexObject is true
+PASS indexObject.objectStore.name is "storeName"
PASS 'keyPath' in indexObject is true
PASS indexObject.keyPath is "x"
PASS 'unique' in indexObject is true
@@ -59,268 +27,49 @@ PASS 'openCursor' in indexObject is true
PASS 'getKey' in indexObject is true
PASS 'get' in indexObject is true
store.add({x: 'value', y: 'zzz', z: 2.72}, 'key')
-PASS 'onsuccess' in result is true
-PASS 'onerror' in result is true
-PASS 'readyState' in result is true
-An event should fire shortly...
-
-Success event fired:
-PASS 'result' in event is true
-PASS 'code' in event is false
-PASS 'message' in event is false
-PASS 'source' in event is true
-PASS event.source != null is true
-PASS 'onsuccess' in event.target is true
-PASS 'onerror' in event.target is true
-PASS 'readyState' in event.target is true
-PASS event.target.readyState is event.target.DONE
-
-event.source.add({x: 'value2', y: 'zzz2', z: 2.71}, 'key2')
-PASS 'onsuccess' in result is true
-PASS 'onerror' in result is true
-PASS 'readyState' in result is true
-An event should fire shortly...
-
-Success event fired:
-PASS 'result' in event is true
-PASS 'code' in event is false
-PASS 'message' in event is false
-PASS 'source' in event is true
-PASS event.source != null is true
-PASS 'onsuccess' in event.target is true
-PASS 'onerror' in event.target is true
-PASS 'readyState' in event.target is true
-PASS event.target.readyState is event.target.DONE
-
+event.target.source.add({x: 'value2', y: 'zzz2', z: 2.71}, 'key2')
+store.createIndex('indexWhileAddIsInFlight', 'x')
indexObject.getKey('value')
-PASS 'onsuccess' in result is true
-PASS 'onerror' in result is true
-PASS 'readyState' in result is true
-An event should fire shortly...
-
-Success event fired:
-PASS 'result' in event is true
-PASS 'code' in event is false
-PASS 'message' in event is false
-PASS 'source' in event is true
-PASS event.source != null is true
-PASS 'onsuccess' in event.target is true
-PASS 'onerror' in event.target is true
-PASS 'readyState' in event.target is true
-PASS event.target.readyState is event.target.DONE
-
-PASS event.result is "key"
+PASS event.target.result is "key"
indexObject2.getKey('zzz')
-PASS 'onsuccess' in result is true
-PASS 'onerror' in result is true
-PASS 'readyState' in result is true
-An event should fire shortly...
-
-Success event fired:
-PASS 'result' in event is true
-PASS 'code' in event is false
-PASS 'message' in event is false
-PASS 'source' in event is true
-PASS event.source != null is true
-PASS 'onsuccess' in event.target is true
-PASS 'onerror' in event.target is true
-PASS 'readyState' in event.target is true
-PASS event.target.readyState is event.target.DONE
-
-PASS event.result is "key"
+PASS event.target.result is "key"
indexObject3.get(2.71)
-PASS 'onsuccess' in result is true
-PASS 'onerror' in result is true
-PASS 'readyState' in result is true
-An event should fire shortly...
-
-Success event fired:
-PASS 'result' in event is true
-PASS 'code' in event is false
-PASS 'message' in event is false
-PASS 'source' in event is true
-PASS event.source != null is true
-PASS 'onsuccess' in event.target is true
-PASS 'onerror' in event.target is true
-PASS 'readyState' in event.target is true
-PASS event.target.readyState is event.target.DONE
-
-PASS event.result.x is "value2"
+PASS event.target.result.x is "value2"
indexObject.get('value')
-PASS 'onsuccess' in result is true
-PASS 'onerror' in result is true
-PASS 'readyState' in result is true
-An event should fire shortly...
-
-Success event fired:
-PASS 'result' in event is true
-PASS 'code' in event is false
-PASS 'message' in event is false
-PASS 'source' in event is true
-PASS event.source != null is true
-PASS 'onsuccess' in event.target is true
-PASS 'onerror' in event.target is true
-PASS 'readyState' in event.target is true
-PASS event.target.readyState is event.target.DONE
-
-PASS event.result.x is "value"
-PASS event.result.y is "zzz"
+PASS event.target.result.x is "value"
+PASS event.target.result.y is "zzz"
indexObject.getKey('does not exist')
-PASS 'onsuccess' in result is true
-PASS 'onerror' in result is true
-PASS 'readyState' in result is true
-An event should fire shortly...
-
-Error event fired:
-PASS 'result' in event is false
-PASS 'code' in event is true
-PASS 'message' in event is true
-PASS 'source' in event is true
-PASS event.source != null is true
-PASS 'onsuccess' in event.target is true
-PASS 'onerror' in event.target is true
-PASS 'readyState' in event.target is true
-PASS event.target.readyState is event.target.DONE
-
-PASS event.code is webkitIDBDatabaseException.NOT_FOUND_ERR
+PASS event.target.errorCode is webkitIDBDatabaseException.NOT_FOUND_ERR
event.preventDefault()
indexObject.get('does not exist')
-PASS 'onsuccess' in result is true
-PASS 'onerror' in result is true
-PASS 'readyState' in result is true
-An event should fire shortly...
-
-Error event fired:
-PASS 'result' in event is false
-PASS 'code' in event is true
-PASS 'message' in event is true
-PASS 'source' in event is true
-PASS event.source != null is true
-PASS 'onsuccess' in event.target is true
-PASS 'onerror' in event.target is true
-PASS 'readyState' in event.target is true
-PASS event.target.readyState is event.target.DONE
-
-PASS event.code is webkitIDBDatabaseException.NOT_FOUND_ERR
+PASS event.target.errorCode is webkitIDBDatabaseException.NOT_FOUND_ERR
event.preventDefault()
+indexObject4.getKey('value2')
+PASS event.target.result is "key2"
indexObject.openKeyCursor()
-PASS 'onsuccess' in result is true
-PASS 'onerror' in result is true
-PASS 'readyState' in result is true
-An event should fire shortly...
-
-Success event fired:
-PASS 'result' in event is true
-PASS 'code' in event is false
-PASS 'message' in event is false
-PASS 'source' in event is true
-PASS event.source != null is true
-PASS 'onsuccess' in event.target is true
-PASS 'onerror' in event.target is true
-PASS 'readyState' in event.target is true
-PASS event.target.readyState is event.target.DONE
-
-PASS event.result === null is false
-PASS event.result.key is "value"
-PASS event.result.value is "key"
-event.result.continue()
-PASS 'onsuccess' in result is true
-PASS 'onerror' in result is true
-PASS 'readyState' in result is true
-An event should fire shortly...
-
-Success event fired:
-PASS 'result' in event is true
-PASS 'code' in event is false
-PASS 'message' in event is false
-PASS 'source' in event is true
-PASS event.source != null is true
-PASS 'onsuccess' in event.target is true
-PASS 'onerror' in event.target is true
-PASS 'readyState' in event.target is true
-PASS event.target.readyState is event.target.DONE
-
-PASS event.result === null is false
-PASS event.result.key is "value2"
-PASS event.result.value is "key2"
-event.result.continue()
-PASS 'onsuccess' in result is true
-PASS 'onerror' in result is true
-PASS 'readyState' in result is true
-An event should fire shortly...
-
-Success event fired:
-PASS 'result' in event is true
-PASS 'code' in event is false
-PASS 'message' in event is false
-PASS 'source' in event is true
-PASS event.source != null is true
-PASS 'onsuccess' in event.target is true
-PASS 'onerror' in event.target is true
-PASS 'readyState' in event.target is true
-PASS event.target.readyState is event.target.DONE
-
-PASS event.result === null is true
+PASS event.target.source is indexObject
+PASS event.target.result === null is false
+PASS event.target.result.key is "value"
+PASS event.target.result.primaryKey is "key"
+event.target.result.continue()
+PASS event.target.result === null is false
+PASS event.target.result.key is "value2"
+PASS event.target.result.primaryKey is "key2"
+event.target.result.continue()
+PASS event.target.result === null is true
indexObject.openCursor()
-PASS 'onsuccess' in result is true
-PASS 'onerror' in result is true
-PASS 'readyState' in result is true
-An event should fire shortly...
-
-Success event fired:
-PASS 'result' in event is true
-PASS 'code' in event is false
-PASS 'message' in event is false
-PASS 'source' in event is true
-PASS event.source != null is true
-PASS 'onsuccess' in event.target is true
-PASS 'onerror' in event.target is true
-PASS 'readyState' in event.target is true
-PASS event.target.readyState is event.target.DONE
-
-PASS event.result === null is false
-PASS event.result.key is "value"
-PASS event.result.value.x is "value"
-PASS event.result.value.y is "zzz"
-event.result.continue()
-PASS 'onsuccess' in result is true
-PASS 'onerror' in result is true
-PASS 'readyState' in result is true
-An event should fire shortly...
-
-Success event fired:
-PASS 'result' in event is true
-PASS 'code' in event is false
-PASS 'message' in event is false
-PASS 'source' in event is true
-PASS event.source != null is true
-PASS 'onsuccess' in event.target is true
-PASS 'onerror' in event.target is true
-PASS 'readyState' in event.target is true
-PASS event.target.readyState is event.target.DONE
-
-PASS event.result === null is false
-PASS event.result.key is "value2"
-PASS event.result.value.x is "value2"
-PASS event.result.value.y is "zzz2"
-event.result.continue()
-PASS 'onsuccess' in result is true
-PASS 'onerror' in result is true
-PASS 'readyState' in result is true
-An event should fire shortly...
-
-Success event fired:
-PASS 'result' in event is true
-PASS 'code' in event is false
-PASS 'message' in event is false
-PASS 'source' in event is true
-PASS event.source != null is true
-PASS 'onsuccess' in event.target is true
-PASS 'onerror' in event.target is true
-PASS 'readyState' in event.target is true
-PASS event.target.readyState is event.target.DONE
-
-PASS event.result === null is true
+PASS event.target.source is indexObject
+PASS event.target.result === null is false
+PASS event.target.result.key is "value"
+PASS event.target.result.value.x is "value"
+PASS event.target.result.value.y is "zzz"
+event.target.result.continue()
+PASS event.target.result === null is false
+PASS event.target.result.key is "value2"
+PASS event.target.result.value.x is "value2"
+PASS event.target.result.value.y is "zzz2"
+event.target.result.continue()
+PASS event.target.result === null is true
Passing an invalid key into indexObject.get().
PASS Caught exception: Error: TYPE_MISMATCH_ERR: DOM Exception 17
Passing an invalid key into indexObject.getKey().
diff --git a/LayoutTests/storage/indexeddb/index-basics.html b/LayoutTests/storage/indexeddb/index-basics.html
index 863566a..128f364 100644
--- a/LayoutTests/storage/indexeddb/index-basics.html
+++ b/LayoutTests/storage/indexeddb/index-basics.html
@@ -16,36 +16,29 @@ if (window.layoutTestController)
function test()
{
- result = evalAndLog("webkitIndexedDB.open('name')");
- verifyResult(result);
- result.onsuccess = setVersion;
- result.onerror = unexpectedErrorCallback;
+ request = evalAndLog("webkitIndexedDB.open('index-basics')");
+ request.onsuccess = setVersion;
+ request.onerror = unexpectedErrorCallback;
}
function setVersion()
{
- verifySuccessEvent(event);
- db = evalAndLog("db = event.result");
+ db = evalAndLog("db = event.target.result");
- result = evalAndLog("db.setVersion('new version')");
- verifyResult(result);
- result.onsuccess = deleteExisting;
- result.onerror = unexpectedErrorCallback;
+ request = evalAndLog("db.setVersion('new version')");
+ request.onsuccess = deleteExisting;
+ request.onerror = unexpectedErrorCallback;
}
function deleteExisting()
{
debug("setVersionSuccess():");
- verifySuccessEvent(event);
- window.trans = evalAndLog("trans = event.result");
+ window.trans = evalAndLog("trans = event.target.result");
shouldBeTrue("trans !== null");
trans.onabort = unexpectedAbortCallback;
- deleteAllObjectStores(db, createIndex);
-}
+ deleteAllObjectStores(db);
-function createIndex()
-{
window.store = evalAndLog("db.createObjectStore('storeName', null)");
window.indexObject = evalAndLog("store.createIndex('indexName', 'x')");
window.indexObject2 = evalAndLog("store.createIndex('indexName2', 'y', false)");
@@ -57,8 +50,8 @@ function addData()
{
shouldBeTrue("'name' in indexObject");
shouldBeEqualToString("indexObject.name", "indexName");
- shouldBeTrue("'storeName' in indexObject");
- shouldBeEqualToString("indexObject.storeName", "storeName");
+ shouldBeTrue("'objectStore' in indexObject");
+ shouldBeEqualToString("indexObject.objectStore.name", "storeName");
shouldBeTrue("'keyPath' in indexObject");
shouldBeEqualToString("indexObject.keyPath", "x");
shouldBeTrue("'unique' in indexObject");
@@ -68,172 +61,153 @@ function addData()
shouldBeTrue("'getKey' in indexObject");
shouldBeTrue("'get' in indexObject");
- result = evalAndLog("store.add({x: 'value', y: 'zzz', z: 2.72}, 'key')");
- verifyResult(result);
- result.onsuccess = addMore;
- result.onerror = unexpectedErrorCallback;
+ request = evalAndLog("store.add({x: 'value', y: 'zzz', z: 2.72}, 'key')");
+ request.onsuccess = addMore;
+ request.onerror = unexpectedErrorCallback;
}
function addMore()
{
- verifySuccessEvent(event);
-
- result = evalAndLog("event.source.add({x: 'value2', y: 'zzz2', z: 2.71}, 'key2')");
- verifyResult(result);
- result.onsuccess = getData;
- result.onerror = unexpectedErrorCallback;
+ request = evalAndLog("event.target.source.add({x: 'value2', y: 'zzz2', z: 2.71}, 'key2')");
+ request.onsuccess = getData;
+ request.onerror = unexpectedErrorCallback;
+ window.indexObject4 = evalAndLog("store.createIndex('indexWhileAddIsInFlight', 'x')");
}
function getData()
{
- verifySuccessEvent(event);
-
- result = evalAndLog("indexObject.getKey('value')");
- verifyResult(result);
- result.onsuccess = getObjectData;
- result.onerror = unexpectedErrorCallback;
+ request = evalAndLog("indexObject.getKey('value')");
+ request.onsuccess = getObjectData;
+ request.onerror = unexpectedErrorCallback;
}
function getObjectData()
{
- verifySuccessEvent(event);
- shouldBeEqualToString("event.result", "key");
+ shouldBeEqualToString("event.target.result", "key");
- result = evalAndLog("indexObject2.getKey('zzz')");
- verifyResult(result);
- result.onsuccess = getObjectData2;
- result.onerror = unexpectedErrorCallback;
+ request = evalAndLog("indexObject2.getKey('zzz')");
+ request.onsuccess = getObjectData2;
+ request.onerror = unexpectedErrorCallback;
}
function getObjectData2()
{
- verifySuccessEvent(event);
- shouldBeEqualToString("event.result", "key");
+ shouldBeEqualToString("event.target.result", "key");
- result = evalAndLog("indexObject3.get(2.71)");
- verifyResult(result);
- result.onsuccess = getObjectData3;
- result.onerror = unexpectedErrorCallback;
+ request = evalAndLog("indexObject3.get(2.71)");
+ request.onsuccess = getObjectData3;
+ request.onerror = unexpectedErrorCallback;
}
function getObjectData3()
{
- verifySuccessEvent(event);
- shouldBeEqualToString("event.result.x", "value2");
+ shouldBeEqualToString("event.target.result.x", "value2");
- result = evalAndLog("indexObject.get('value')");
- verifyResult(result);
- result.onsuccess = getDataFail;
- result.onerror = unexpectedErrorCallback;
+ request = evalAndLog("indexObject.get('value')");
+ request.onsuccess = getDataFail;
+ request.onerror = unexpectedErrorCallback;
}
function getDataFail()
{
- verifySuccessEvent(event);
- shouldBeEqualToString("event.result.x", "value");
- shouldBeEqualToString("event.result.y", "zzz");
-
- result = evalAndLog("indexObject.getKey('does not exist')");
- verifyResult(result);
- result.onsuccess = unexpectedSuccessCallback;
- result.onerror = getObjectDataFail;
+ shouldBeEqualToString("event.target.result.x", "value");
+ shouldBeEqualToString("event.target.result.y", "zzz");
+
+ request = evalAndLog("indexObject.getKey('does not exist')");
+ request.onsuccess = unexpectedSuccessCallback;
+ request.onerror = getObjectDataFail;
}
function getObjectDataFail()
{
- verifyErrorEvent(event);
- shouldBe("event.code", "webkitIDBDatabaseException.NOT_FOUND_ERR");
+ shouldBe("event.target.errorCode", "webkitIDBDatabaseException.NOT_FOUND_ERR");
evalAndLog("event.preventDefault()");
- result = evalAndLog("indexObject.get('does not exist')");
- verifyResult(result);
- result.onsuccess = unexpectedSuccessCallback;
- result.onerror = openKeyCursor;
+ request = evalAndLog("indexObject.get('does not exist')");
+ request.onsuccess = unexpectedSuccessCallback;
+ request.onerror = getObjectData4;
}
-function openKeyCursor()
+function getObjectData4()
{
- verifyErrorEvent(event);
- shouldBe("event.code", "webkitIDBDatabaseException.NOT_FOUND_ERR");
-
+ shouldBe("event.target.errorCode", "webkitIDBDatabaseException.NOT_FOUND_ERR");
evalAndLog("event.preventDefault()");
- window.result = evalAndLog("indexObject.openKeyCursor()");
- verifyResult(result);
- result.onsuccess = cursor1Continue;
- result.onerror = unexpectedErrorCallback;
+ request = evalAndLog("indexObject4.getKey('value2')");
+ request.onsuccess = openKeyCursor;
+ request.onerror = unexpectedErrorCallback;
+}
+
+function openKeyCursor()
+{
+ shouldBeEqualToString("event.target.result", "key2");
+
+ window.request = evalAndLog("indexObject.openKeyCursor()");
+ request.onsuccess = cursor1Continue;
+ request.onerror = unexpectedErrorCallback;
}
function cursor1Continue()
{
- verifySuccessEvent(event);
- shouldBeFalse("event.result === null");
- shouldBeEqualToString("event.result.key", "value");
- shouldBeEqualToString("event.result.value", "key");
-
- // We re-use the last result object.
- evalAndLog("event.result.continue()");
- verifyResult(window.result);
- window.result.onsuccess = cursor1Continue2;
+ shouldBe("event.target.source", "indexObject");
+ shouldBeFalse("event.target.result === null");
+ shouldBeEqualToString("event.target.result.key", "value");
+ shouldBeEqualToString("event.target.result.primaryKey", "key");
+
+ // We re-use the last request object.
+ evalAndLog("event.target.result.continue()");
+ window.request.onsuccess = cursor1Continue2;
}
function cursor1Continue2()
{
- verifySuccessEvent(event);
- shouldBeFalse("event.result === null");
- shouldBeEqualToString("event.result.key", "value2");
- shouldBeEqualToString("event.result.value", "key2");
-
- // We re-use the last result object.
- evalAndLog("event.result.continue()");
- verifyResult(window.result);
- window.result.onsuccess = openObjectCursor;
+ shouldBeFalse("event.target.result === null");
+ shouldBeEqualToString("event.target.result.key", "value2");
+ shouldBeEqualToString("event.target.result.primaryKey", "key2");
+
+ // We re-use the last request object.
+ evalAndLog("event.target.result.continue()");
+ window.request.onsuccess = openObjectCursor;
}
function openObjectCursor()
{
- verifySuccessEvent(event);
- shouldBeTrue("event.result === null");
+ shouldBeTrue("event.target.result === null");
- window.result = evalAndLog("indexObject.openCursor()");
- verifyResult(result);
- result.onsuccess = cursor2Continue;
- result.onerror = unexpectedErrorCallback;
+ window.request = evalAndLog("indexObject.openCursor()");
+ request.onsuccess = cursor2Continue;
+ request.onerror = unexpectedErrorCallback;
}
function cursor2Continue()
{
- verifySuccessEvent(event);
- shouldBeFalse("event.result === null");
- shouldBeEqualToString("event.result.key", "value");
- shouldBeEqualToString("event.result.value.x", "value");
- shouldBeEqualToString("event.result.value.y", "zzz");
-
- // We re-use the last result object.
- evalAndLog("event.result.continue()");
- verifyResult(window.result);
- window.result.onsuccess = cursor2Continue2;
+ shouldBe("event.target.source", "indexObject");
+ shouldBeFalse("event.target.result === null");
+ shouldBeEqualToString("event.target.result.key", "value");
+ shouldBeEqualToString("event.target.result.value.x", "value");
+ shouldBeEqualToString("event.target.result.value.y", "zzz");
+
+ // We re-use the last request object.
+ evalAndLog("event.target.result.continue()");
+ window.request.onsuccess = cursor2Continue2;
}
function cursor2Continue2()
{
- verifySuccessEvent(event);
- shouldBeFalse("event.result === null");
- shouldBeEqualToString("event.result.key", "value2");
- shouldBeEqualToString("event.result.value.x", "value2");
- shouldBeEqualToString("event.result.value.y", "zzz2");
-
- // We re-use the last result object.
- evalAndLog("event.result.continue()");
- verifyResult(window.result);
- window.result.onsuccess = last;
+ shouldBeFalse("event.target.result === null");
+ shouldBeEqualToString("event.target.result.key", "value2");
+ shouldBeEqualToString("event.target.result.value.x", "value2");
+ shouldBeEqualToString("event.target.result.value.y", "zzz2");
+
+ // We re-use the last request object.
+ evalAndLog("event.target.result.continue()");
+ window.request.onsuccess = last;
}
function last()
{
- verifySuccessEvent(event);
- shouldBeTrue("event.result === null");
+ shouldBeTrue("event.target.result === null");
try {
debug("Passing an invalid key into indexObject.get().");
diff --git a/LayoutTests/storage/indexeddb/index-cursor-expected.txt b/LayoutTests/storage/indexeddb/index-cursor-expected.txt
index 159fbd7..67f141d 100644
--- a/LayoutTests/storage/indexeddb/index-cursor-expected.txt
+++ b/LayoutTests/storage/indexeddb/index-cursor-expected.txt
@@ -3,2099 +3,1950 @@ Test IndexedDB's webkitIDBIndex.openCursor + the cursor it produces in depth.
On success, you will see a series of "PASS" messages, followed by "TEST COMPLETE".
-webkitIndexedDB.open('someDB')
-PASS 'onsuccess' in result is true
-PASS 'onerror' in result is true
-PASS 'readyState' in result is true
-An event should fire shortly...
-
-Success event fired:
-PASS 'result' in event is true
-PASS 'code' in event is false
-PASS 'message' in event is false
-PASS 'source' in event is true
-PASS event.source != null is true
-PASS 'onsuccess' in event.target is true
-PASS 'onerror' in event.target is true
-PASS 'readyState' in event.target is true
-PASS event.target.readyState is event.target.DONE
-
-db = event.result
+webkitIndexedDB.open('index-cursor')
+db = event.target.result
db.setVersion('new version')
-PASS 'onsuccess' in result is true
-PASS 'onerror' in result is true
-PASS 'readyState' in result is true
-An event should fire shortly...
-
-Success event fired:
-PASS 'result' in event is true
-PASS 'code' in event is false
-PASS 'message' in event is false
-PASS 'source' in event is true
-PASS event.source != null is true
-PASS 'onsuccess' in event.target is true
-PASS 'onerror' in event.target is true
-PASS 'readyState' in event.target is true
-PASS event.target.readyState is event.target.DONE
-
-trans = event.result
+trans = event.target.result
PASS trans !== null is true
Deleted all object stores.
db.createObjectStore('someObjectStore')
objectStore.createIndex('someIndex', 'x')
objectStore.add({'x': testData[nextToAdd]}, nextToAdd)
-PASS 'onsuccess' in result is true
-PASS 'onerror' in result is true
-PASS 'readyState' in result is true
-An event should fire shortly...
-
-Success event fired:
-PASS 'result' in event is true
-PASS 'code' in event is false
-PASS 'message' in event is false
-PASS 'source' in event is true
-PASS event.source != null is true
-PASS 'onsuccess' in event.target is true
-PASS 'onerror' in event.target is true
-PASS 'readyState' in event.target is true
-PASS event.target.readyState is event.target.DONE
-
objectStore.add({'x': testData[nextToAdd]}, nextToAdd)
-PASS 'onsuccess' in result is true
-PASS 'onerror' in result is true
-PASS 'readyState' in result is true
-An event should fire shortly...
-
-Success event fired:
-PASS 'result' in event is true
-PASS 'code' in event is false
-PASS 'message' in event is false
-PASS 'source' in event is true
-PASS event.source != null is true
-PASS 'onsuccess' in event.target is true
-PASS 'onerror' in event.target is true
-PASS 'readyState' in event.target is true
-PASS event.target.readyState is event.target.DONE
-
objectStore.add({'x': testData[nextToAdd]}, nextToAdd)
-PASS 'onsuccess' in result is true
-PASS 'onerror' in result is true
-PASS 'readyState' in result is true
-An event should fire shortly...
-
-Success event fired:
-PASS 'result' in event is true
-PASS 'code' in event is false
-PASS 'message' in event is false
-PASS 'source' in event is true
-PASS event.source != null is true
-PASS 'onsuccess' in event.target is true
-PASS 'onerror' in event.target is true
-PASS 'readyState' in event.target is true
-PASS event.target.readyState is event.target.DONE
-
objectStore.add({'x': testData[nextToAdd]}, nextToAdd)
-PASS 'onsuccess' in result is true
-PASS 'onerror' in result is true
-PASS 'readyState' in result is true
-An event should fire shortly...
-
-Success event fired:
-PASS 'result' in event is true
-PASS 'code' in event is false
-PASS 'message' in event is false
-PASS 'source' in event is true
-PASS event.source != null is true
-PASS 'onsuccess' in event.target is true
-PASS 'onerror' in event.target is true
-PASS 'readyState' in event.target is true
-PASS event.target.readyState is event.target.DONE
-
objectStore.add({'x': testData[nextToAdd]}, nextToAdd)
-PASS 'onsuccess' in result is true
-PASS 'onerror' in result is true
-PASS 'readyState' in result is true
-An event should fire shortly...
-
-Success event fired:
-PASS 'result' in event is true
-PASS 'code' in event is false
-PASS 'message' in event is false
-PASS 'source' in event is true
-PASS event.source != null is true
-PASS 'onsuccess' in event.target is true
-PASS 'onerror' in event.target is true
-PASS 'readyState' in event.target is true
-PASS event.target.readyState is event.target.DONE
-
objectStore.add({'x': testData[nextToAdd]}, nextToAdd)
-PASS 'onsuccess' in result is true
-PASS 'onerror' in result is true
-PASS 'readyState' in result is true
-An event should fire shortly...
-
-Success event fired:
-PASS 'result' in event is true
-PASS 'code' in event is false
-PASS 'message' in event is false
-PASS 'source' in event is true
-PASS event.source != null is true
-PASS 'onsuccess' in event.target is true
-PASS 'onerror' in event.target is true
-PASS 'readyState' in event.target is true
-PASS event.target.readyState is event.target.DONE
-
objectStore.add({'x': testData[nextToAdd]}, nextToAdd)
-PASS 'onsuccess' in result is true
-PASS 'onerror' in result is true
-PASS 'readyState' in result is true
-An event should fire shortly...
-
-Success event fired:
-PASS 'result' in event is true
-PASS 'code' in event is false
-PASS 'message' in event is false
-PASS 'source' in event is true
-PASS event.source != null is true
-PASS 'onsuccess' in event.target is true
-PASS 'onerror' in event.target is true
-PASS 'readyState' in event.target is true
-PASS event.target.readyState is event.target.DONE
-
objectStore.add({'x': testData[nextToAdd]}, nextToAdd)
-PASS 'onsuccess' in result is true
-PASS 'onerror' in result is true
-PASS 'readyState' in result is true
-An event should fire shortly...
-
Scheduling tests...
Running tests...
Next test: lower open bound is 0; sorted ascending.
-PASS event.result.value is expectedIndex
-PASS event.result.key is testData[2]
-PASS event.result.value is expectedIndex
-PASS event.result.key is testData[3]
-PASS event.result.value is expectedIndex
-PASS event.result.key is testData[4]
-PASS event.result.value is expectedIndex
-PASS event.result.key is testData[5]
-PASS event.result.value is expectedIndex
-PASS event.result.key is testData[6]
-PASS event.result.value is expectedIndex
-PASS event.result.key is testData[7]
-PASS event.result is null
+PASS event.target.result.primaryKey is expectedIndex
+PASS event.target.result.key is testData[2]
+PASS event.target.result.primaryKey is expectedIndex
+PASS event.target.result.key is testData[3]
+PASS event.target.result.primaryKey is expectedIndex
+PASS event.target.result.key is testData[4]
+PASS event.target.result.primaryKey is expectedIndex
+PASS event.target.result.key is testData[5]
+PASS event.target.result.primaryKey is expectedIndex
+PASS event.target.result.key is testData[6]
+PASS event.target.result.primaryKey is expectedIndex
+PASS event.target.result.key is testData[7]
+PASS event.target.result is null
Next test: lower bound is 0; sorted ascending.
-PASS event.result.value is expectedIndex
-PASS event.result.key is testData[0]
-PASS event.result.value is expectedIndex
-PASS event.result.key is testData[1]
-PASS event.result.value is expectedIndex
-PASS event.result.key is testData[2]
-PASS event.result.value is expectedIndex
-PASS event.result.key is testData[3]
-PASS event.result.value is expectedIndex
-PASS event.result.key is testData[4]
-PASS event.result.value is expectedIndex
-PASS event.result.key is testData[5]
-PASS event.result.value is expectedIndex
-PASS event.result.key is testData[6]
-PASS event.result.value is expectedIndex
-PASS event.result.key is testData[7]
-PASS event.result is null
+PASS event.target.result.primaryKey is expectedIndex
+PASS event.target.result.key is testData[0]
+PASS event.target.result.primaryKey is expectedIndex
+PASS event.target.result.key is testData[1]
+PASS event.target.result.primaryKey is expectedIndex
+PASS event.target.result.key is testData[2]
+PASS event.target.result.primaryKey is expectedIndex
+PASS event.target.result.key is testData[3]
+PASS event.target.result.primaryKey is expectedIndex
+PASS event.target.result.key is testData[4]
+PASS event.target.result.primaryKey is expectedIndex
+PASS event.target.result.key is testData[5]
+PASS event.target.result.primaryKey is expectedIndex
+PASS event.target.result.key is testData[6]
+PASS event.target.result.primaryKey is expectedIndex
+PASS event.target.result.key is testData[7]
+PASS event.target.result is null
Next test: upper open bound is 0; sorted ascending.
-PASS event.result is null
+PASS event.target.result is null
Next test: upper bound is 0; sorted ascending.
-PASS event.result.value is expectedIndex
-PASS event.result.key is testData[0]
-PASS event.result.value is expectedIndex
-PASS event.result.key is testData[1]
-PASS event.result is null
+PASS event.target.result.primaryKey is expectedIndex
+PASS event.target.result.key is testData[0]
+PASS event.target.result.primaryKey is expectedIndex
+PASS event.target.result.key is testData[1]
+PASS event.target.result is null
Next test: lower open bound is 0; sorted descending.
-PASS event.result.value is expectedIndex
-PASS event.result.key is testData[7]
-PASS event.result.value is expectedIndex
-PASS event.result.key is testData[6]
-PASS event.result.value is expectedIndex
-PASS event.result.key is testData[5]
-PASS event.result.value is expectedIndex
-PASS event.result.key is testData[4]
-PASS event.result.value is expectedIndex
-PASS event.result.key is testData[3]
-PASS event.result.value is expectedIndex
-PASS event.result.key is testData[2]
-PASS event.result is null
+PASS event.target.result.primaryKey is expectedIndex
+PASS event.target.result.key is testData[7]
+PASS event.target.result.primaryKey is expectedIndex
+PASS event.target.result.key is testData[6]
+PASS event.target.result.primaryKey is expectedIndex
+PASS event.target.result.key is testData[5]
+PASS event.target.result.primaryKey is expectedIndex
+PASS event.target.result.key is testData[4]
+PASS event.target.result.primaryKey is expectedIndex
+PASS event.target.result.key is testData[3]
+PASS event.target.result.primaryKey is expectedIndex
+PASS event.target.result.key is testData[2]
+PASS event.target.result is null
Next test: lower bound is 0; sorted descending.
-PASS event.result.value is expectedIndex
-PASS event.result.key is testData[7]
-PASS event.result.value is expectedIndex
-PASS event.result.key is testData[6]
-PASS event.result.value is expectedIndex
-PASS event.result.key is testData[5]
-PASS event.result.value is expectedIndex
-PASS event.result.key is testData[4]
-PASS event.result.value is expectedIndex
-PASS event.result.key is testData[3]
-PASS event.result.value is expectedIndex
-PASS event.result.key is testData[2]
-PASS event.result.value is expectedIndex
-PASS event.result.key is testData[1]
-PASS event.result.value is expectedIndex
-PASS event.result.key is testData[0]
-PASS event.result is null
+PASS event.target.result.primaryKey is expectedIndex
+PASS event.target.result.key is testData[7]
+PASS event.target.result.primaryKey is expectedIndex
+PASS event.target.result.key is testData[6]
+PASS event.target.result.primaryKey is expectedIndex
+PASS event.target.result.key is testData[5]
+PASS event.target.result.primaryKey is expectedIndex
+PASS event.target.result.key is testData[4]
+PASS event.target.result.primaryKey is expectedIndex
+PASS event.target.result.key is testData[3]
+PASS event.target.result.primaryKey is expectedIndex
+PASS event.target.result.key is testData[2]
+PASS event.target.result.primaryKey is expectedIndex
+PASS event.target.result.key is testData[1]
+PASS event.target.result.primaryKey is expectedIndex
+PASS event.target.result.key is testData[0]
+PASS event.target.result is null
Next test: upper open bound is 0; sorted descending.
-PASS event.result is null
+PASS event.target.result is null
Next test: upper bound is 0; sorted descending.
-PASS event.result.value is expectedIndex
-PASS event.result.key is testData[1]
-PASS event.result.value is expectedIndex
-PASS event.result.key is testData[0]
-PASS event.result is null
+PASS event.target.result.primaryKey is expectedIndex
+PASS event.target.result.key is testData[1]
+PASS event.target.result.primaryKey is expectedIndex
+PASS event.target.result.key is testData[0]
+PASS event.target.result is null
Next test: lower open bound is 0; upper open bound is 6; sorted ascending.
-PASS event.result.value is expectedIndex
-PASS event.result.key is testData[2]
-PASS event.result.value is expectedIndex
-PASS event.result.key is testData[3]
-PASS event.result.value is expectedIndex
-PASS event.result.key is testData[4]
-PASS event.result.value is expectedIndex
-PASS event.result.key is testData[5]
-PASS event.result is null
+PASS event.target.result.primaryKey is expectedIndex
+PASS event.target.result.key is testData[2]
+PASS event.target.result.primaryKey is expectedIndex
+PASS event.target.result.key is testData[3]
+PASS event.target.result.primaryKey is expectedIndex
+PASS event.target.result.key is testData[4]
+PASS event.target.result.primaryKey is expectedIndex
+PASS event.target.result.key is testData[5]
+PASS event.target.result is null
Next test: lower open bound is 0; upper bound is 6; sorted ascending.
-PASS event.result.value is expectedIndex
-PASS event.result.key is testData[2]
-PASS event.result.value is expectedIndex
-PASS event.result.key is testData[3]
-PASS event.result.value is expectedIndex
-PASS event.result.key is testData[4]
-PASS event.result.value is expectedIndex
-PASS event.result.key is testData[5]
-PASS event.result.value is expectedIndex
-PASS event.result.key is testData[6]
-PASS event.result.value is expectedIndex
-PASS event.result.key is testData[7]
-PASS event.result is null
+PASS event.target.result.primaryKey is expectedIndex
+PASS event.target.result.key is testData[2]
+PASS event.target.result.primaryKey is expectedIndex
+PASS event.target.result.key is testData[3]
+PASS event.target.result.primaryKey is expectedIndex
+PASS event.target.result.key is testData[4]
+PASS event.target.result.primaryKey is expectedIndex
+PASS event.target.result.key is testData[5]
+PASS event.target.result.primaryKey is expectedIndex
+PASS event.target.result.key is testData[6]
+PASS event.target.result.primaryKey is expectedIndex
+PASS event.target.result.key is testData[7]
+PASS event.target.result is null
Next test: lower bound is 0; upper open bound is 6; sorted ascending.
-PASS event.result.value is expectedIndex
-PASS event.result.key is testData[0]
-PASS event.result.value is expectedIndex
-PASS event.result.key is testData[1]
-PASS event.result.value is expectedIndex
-PASS event.result.key is testData[2]
-PASS event.result.value is expectedIndex
-PASS event.result.key is testData[3]
-PASS event.result.value is expectedIndex
-PASS event.result.key is testData[4]
-PASS event.result.value is expectedIndex
-PASS event.result.key is testData[5]
-PASS event.result is null
+PASS event.target.result.primaryKey is expectedIndex
+PASS event.target.result.key is testData[0]
+PASS event.target.result.primaryKey is expectedIndex
+PASS event.target.result.key is testData[1]
+PASS event.target.result.primaryKey is expectedIndex
+PASS event.target.result.key is testData[2]
+PASS event.target.result.primaryKey is expectedIndex
+PASS event.target.result.key is testData[3]
+PASS event.target.result.primaryKey is expectedIndex
+PASS event.target.result.key is testData[4]
+PASS event.target.result.primaryKey is expectedIndex
+PASS event.target.result.key is testData[5]
+PASS event.target.result is null
Next test: lower bound is 0; upper bound is 6; sorted ascending.
-PASS event.result.value is expectedIndex
-PASS event.result.key is testData[0]
-PASS event.result.value is expectedIndex
-PASS event.result.key is testData[1]
-PASS event.result.value is expectedIndex
-PASS event.result.key is testData[2]
-PASS event.result.value is expectedIndex
-PASS event.result.key is testData[3]
-PASS event.result.value is expectedIndex
-PASS event.result.key is testData[4]
-PASS event.result.value is expectedIndex
-PASS event.result.key is testData[5]
-PASS event.result.value is expectedIndex
-PASS event.result.key is testData[6]
-PASS event.result.value is expectedIndex
-PASS event.result.key is testData[7]
-PASS event.result is null
+PASS event.target.result.primaryKey is expectedIndex
+PASS event.target.result.key is testData[0]
+PASS event.target.result.primaryKey is expectedIndex
+PASS event.target.result.key is testData[1]
+PASS event.target.result.primaryKey is expectedIndex
+PASS event.target.result.key is testData[2]
+PASS event.target.result.primaryKey is expectedIndex
+PASS event.target.result.key is testData[3]
+PASS event.target.result.primaryKey is expectedIndex
+PASS event.target.result.key is testData[4]
+PASS event.target.result.primaryKey is expectedIndex
+PASS event.target.result.key is testData[5]
+PASS event.target.result.primaryKey is expectedIndex
+PASS event.target.result.key is testData[6]
+PASS event.target.result.primaryKey is expectedIndex
+PASS event.target.result.key is testData[7]
+PASS event.target.result is null
Next test: lower open bound is 0; upper open bound is 6; sorted descending.
-PASS event.result.value is expectedIndex
-PASS event.result.key is testData[5]
-PASS event.result.value is expectedIndex
-PASS event.result.key is testData[4]
-PASS event.result.value is expectedIndex
-PASS event.result.key is testData[3]
-PASS event.result.value is expectedIndex
-PASS event.result.key is testData[2]
-PASS event.result is null
+PASS event.target.result.primaryKey is expectedIndex
+PASS event.target.result.key is testData[5]
+PASS event.target.result.primaryKey is expectedIndex
+PASS event.target.result.key is testData[4]
+PASS event.target.result.primaryKey is expectedIndex
+PASS event.target.result.key is testData[3]
+PASS event.target.result.primaryKey is expectedIndex
+PASS event.target.result.key is testData[2]
+PASS event.target.result is null
Next test: lower open bound is 0; upper bound is 6; sorted descending.
-PASS event.result.value is expectedIndex
-PASS event.result.key is testData[7]
-PASS event.result.value is expectedIndex
-PASS event.result.key is testData[6]
-PASS event.result.value is expectedIndex
-PASS event.result.key is testData[5]
-PASS event.result.value is expectedIndex
-PASS event.result.key is testData[4]
-PASS event.result.value is expectedIndex
-PASS event.result.key is testData[3]
-PASS event.result.value is expectedIndex
-PASS event.result.key is testData[2]
-PASS event.result is null
+PASS event.target.result.primaryKey is expectedIndex
+PASS event.target.result.key is testData[7]
+PASS event.target.result.primaryKey is expectedIndex
+PASS event.target.result.key is testData[6]
+PASS event.target.result.primaryKey is expectedIndex
+PASS event.target.result.key is testData[5]
+PASS event.target.result.primaryKey is expectedIndex
+PASS event.target.result.key is testData[4]
+PASS event.target.result.primaryKey is expectedIndex
+PASS event.target.result.key is testData[3]
+PASS event.target.result.primaryKey is expectedIndex
+PASS event.target.result.key is testData[2]
+PASS event.target.result is null
Next test: lower bound is 0; upper open bound is 6; sorted descending.
-PASS event.result.value is expectedIndex
-PASS event.result.key is testData[5]
-PASS event.result.value is expectedIndex
-PASS event.result.key is testData[4]
-PASS event.result.value is expectedIndex
-PASS event.result.key is testData[3]
-PASS event.result.value is expectedIndex
-PASS event.result.key is testData[2]
-PASS event.result.value is expectedIndex
-PASS event.result.key is testData[1]
-PASS event.result.value is expectedIndex
-PASS event.result.key is testData[0]
-PASS event.result is null
+PASS event.target.result.primaryKey is expectedIndex
+PASS event.target.result.key is testData[5]
+PASS event.target.result.primaryKey is expectedIndex
+PASS event.target.result.key is testData[4]
+PASS event.target.result.primaryKey is expectedIndex
+PASS event.target.result.key is testData[3]
+PASS event.target.result.primaryKey is expectedIndex
+PASS event.target.result.key is testData[2]
+PASS event.target.result.primaryKey is expectedIndex
+PASS event.target.result.key is testData[1]
+PASS event.target.result.primaryKey is expectedIndex
+PASS event.target.result.key is testData[0]
+PASS event.target.result is null
Next test: lower bound is 0; upper bound is 6; sorted descending.
-PASS event.result.value is expectedIndex
-PASS event.result.key is testData[7]
-PASS event.result.value is expectedIndex
-PASS event.result.key is testData[6]
-PASS event.result.value is expectedIndex
-PASS event.result.key is testData[5]
-PASS event.result.value is expectedIndex
-PASS event.result.key is testData[4]
-PASS event.result.value is expectedIndex
-PASS event.result.key is testData[3]
-PASS event.result.value is expectedIndex
-PASS event.result.key is testData[2]
-PASS event.result.value is expectedIndex
-PASS event.result.key is testData[1]
-PASS event.result.value is expectedIndex
-PASS event.result.key is testData[0]
-PASS event.result is null
+PASS event.target.result.primaryKey is expectedIndex
+PASS event.target.result.key is testData[7]
+PASS event.target.result.primaryKey is expectedIndex
+PASS event.target.result.key is testData[6]
+PASS event.target.result.primaryKey is expectedIndex
+PASS event.target.result.key is testData[5]
+PASS event.target.result.primaryKey is expectedIndex
+PASS event.target.result.key is testData[4]
+PASS event.target.result.primaryKey is expectedIndex
+PASS event.target.result.key is testData[3]
+PASS event.target.result.primaryKey is expectedIndex
+PASS event.target.result.key is testData[2]
+PASS event.target.result.primaryKey is expectedIndex
+PASS event.target.result.key is testData[1]
+PASS event.target.result.primaryKey is expectedIndex
+PASS event.target.result.key is testData[0]
+PASS event.target.result is null
Next test: lower open bound is 0; upper open bound is 7; sorted ascending.
-PASS event.result.value is expectedIndex
-PASS event.result.key is testData[2]
-PASS event.result.value is expectedIndex
-PASS event.result.key is testData[3]
-PASS event.result.value is expectedIndex
-PASS event.result.key is testData[4]
-PASS event.result.value is expectedIndex
-PASS event.result.key is testData[5]
-PASS event.result is null
+PASS event.target.result.primaryKey is expectedIndex
+PASS event.target.result.key is testData[2]
+PASS event.target.result.primaryKey is expectedIndex
+PASS event.target.result.key is testData[3]
+PASS event.target.result.primaryKey is expectedIndex
+PASS event.target.result.key is testData[4]
+PASS event.target.result.primaryKey is expectedIndex
+PASS event.target.result.key is testData[5]
+PASS event.target.result is null
Next test: lower open bound is 0; upper bound is 7; sorted ascending.
-PASS event.result.value is expectedIndex
-PASS event.result.key is testData[2]
-PASS event.result.value is expectedIndex
-PASS event.result.key is testData[3]
-PASS event.result.value is expectedIndex
-PASS event.result.key is testData[4]
-PASS event.result.value is expectedIndex
-PASS event.result.key is testData[5]
-PASS event.result.value is expectedIndex
-PASS event.result.key is testData[6]
-PASS event.result.value is expectedIndex
-PASS event.result.key is testData[7]
-PASS event.result is null
+PASS event.target.result.primaryKey is expectedIndex
+PASS event.target.result.key is testData[2]
+PASS event.target.result.primaryKey is expectedIndex
+PASS event.target.result.key is testData[3]
+PASS event.target.result.primaryKey is expectedIndex
+PASS event.target.result.key is testData[4]
+PASS event.target.result.primaryKey is expectedIndex
+PASS event.target.result.key is testData[5]
+PASS event.target.result.primaryKey is expectedIndex
+PASS event.target.result.key is testData[6]
+PASS event.target.result.primaryKey is expectedIndex
+PASS event.target.result.key is testData[7]
+PASS event.target.result is null
Next test: lower bound is 0; upper open bound is 7; sorted ascending.
-PASS event.result.value is expectedIndex
-PASS event.result.key is testData[0]
-PASS event.result.value is expectedIndex
-PASS event.result.key is testData[1]
-PASS event.result.value is expectedIndex
-PASS event.result.key is testData[2]
-PASS event.result.value is expectedIndex
-PASS event.result.key is testData[3]
-PASS event.result.value is expectedIndex
-PASS event.result.key is testData[4]
-PASS event.result.value is expectedIndex
-PASS event.result.key is testData[5]
-PASS event.result is null
+PASS event.target.result.primaryKey is expectedIndex
+PASS event.target.result.key is testData[0]
+PASS event.target.result.primaryKey is expectedIndex
+PASS event.target.result.key is testData[1]
+PASS event.target.result.primaryKey is expectedIndex
+PASS event.target.result.key is testData[2]
+PASS event.target.result.primaryKey is expectedIndex
+PASS event.target.result.key is testData[3]
+PASS event.target.result.primaryKey is expectedIndex
+PASS event.target.result.key is testData[4]
+PASS event.target.result.primaryKey is expectedIndex
+PASS event.target.result.key is testData[5]
+PASS event.target.result is null
Next test: lower bound is 0; upper bound is 7; sorted ascending.
-PASS event.result.value is expectedIndex
-PASS event.result.key is testData[0]
-PASS event.result.value is expectedIndex
-PASS event.result.key is testData[1]
-PASS event.result.value is expectedIndex
-PASS event.result.key is testData[2]
-PASS event.result.value is expectedIndex
-PASS event.result.key is testData[3]
-PASS event.result.value is expectedIndex
-PASS event.result.key is testData[4]
-PASS event.result.value is expectedIndex
-PASS event.result.key is testData[5]
-PASS event.result.value is expectedIndex
-PASS event.result.key is testData[6]
-PASS event.result.value is expectedIndex
-PASS event.result.key is testData[7]
-PASS event.result is null
+PASS event.target.result.primaryKey is expectedIndex
+PASS event.target.result.key is testData[0]
+PASS event.target.result.primaryKey is expectedIndex
+PASS event.target.result.key is testData[1]
+PASS event.target.result.primaryKey is expectedIndex
+PASS event.target.result.key is testData[2]
+PASS event.target.result.primaryKey is expectedIndex
+PASS event.target.result.key is testData[3]
+PASS event.target.result.primaryKey is expectedIndex
+PASS event.target.result.key is testData[4]
+PASS event.target.result.primaryKey is expectedIndex
+PASS event.target.result.key is testData[5]
+PASS event.target.result.primaryKey is expectedIndex
+PASS event.target.result.key is testData[6]
+PASS event.target.result.primaryKey is expectedIndex
+PASS event.target.result.key is testData[7]
+PASS event.target.result is null
Next test: lower open bound is 0; upper open bound is 7; sorted descending.
-PASS event.result.value is expectedIndex
-PASS event.result.key is testData[5]
-PASS event.result.value is expectedIndex
-PASS event.result.key is testData[4]
-PASS event.result.value is expectedIndex
-PASS event.result.key is testData[3]
-PASS event.result.value is expectedIndex
-PASS event.result.key is testData[2]
-PASS event.result is null
+PASS event.target.result.primaryKey is expectedIndex
+PASS event.target.result.key is testData[5]
+PASS event.target.result.primaryKey is expectedIndex
+PASS event.target.result.key is testData[4]
+PASS event.target.result.primaryKey is expectedIndex
+PASS event.target.result.key is testData[3]
+PASS event.target.result.primaryKey is expectedIndex
+PASS event.target.result.key is testData[2]
+PASS event.target.result is null
Next test: lower open bound is 0; upper bound is 7; sorted descending.
-PASS event.result.value is expectedIndex
-PASS event.result.key is testData[7]
-PASS event.result.value is expectedIndex
-PASS event.result.key is testData[6]
-PASS event.result.value is expectedIndex
-PASS event.result.key is testData[5]
-PASS event.result.value is expectedIndex
-PASS event.result.key is testData[4]
-PASS event.result.value is expectedIndex
-PASS event.result.key is testData[3]
-PASS event.result.value is expectedIndex
-PASS event.result.key is testData[2]
-PASS event.result is null
+PASS event.target.result.primaryKey is expectedIndex
+PASS event.target.result.key is testData[7]
+PASS event.target.result.primaryKey is expectedIndex
+PASS event.target.result.key is testData[6]
+PASS event.target.result.primaryKey is expectedIndex
+PASS event.target.result.key is testData[5]
+PASS event.target.result.primaryKey is expectedIndex
+PASS event.target.result.key is testData[4]
+PASS event.target.result.primaryKey is expectedIndex
+PASS event.target.result.key is testData[3]
+PASS event.target.result.primaryKey is expectedIndex
+PASS event.target.result.key is testData[2]
+PASS event.target.result is null
Next test: lower bound is 0; upper open bound is 7; sorted descending.
-PASS event.result.value is expectedIndex
-PASS event.result.key is testData[5]
-PASS event.result.value is expectedIndex
-PASS event.result.key is testData[4]
-PASS event.result.value is expectedIndex
-PASS event.result.key is testData[3]
-PASS event.result.value is expectedIndex
-PASS event.result.key is testData[2]
-PASS event.result.value is expectedIndex
-PASS event.result.key is testData[1]
-PASS event.result.value is expectedIndex
-PASS event.result.key is testData[0]
-PASS event.result is null
+PASS event.target.result.primaryKey is expectedIndex
+PASS event.target.result.key is testData[5]
+PASS event.target.result.primaryKey is expectedIndex
+PASS event.target.result.key is testData[4]
+PASS event.target.result.primaryKey is expectedIndex
+PASS event.target.result.key is testData[3]
+PASS event.target.result.primaryKey is expectedIndex
+PASS event.target.result.key is testData[2]
+PASS event.target.result.primaryKey is expectedIndex
+PASS event.target.result.key is testData[1]
+PASS event.target.result.primaryKey is expectedIndex
+PASS event.target.result.key is testData[0]
+PASS event.target.result is null
Next test: lower bound is 0; upper bound is 7; sorted descending.
-PASS event.result.value is expectedIndex
-PASS event.result.key is testData[7]
-PASS event.result.value is expectedIndex
-PASS event.result.key is testData[6]
-PASS event.result.value is expectedIndex
-PASS event.result.key is testData[5]
-PASS event.result.value is expectedIndex
-PASS event.result.key is testData[4]
-PASS event.result.value is expectedIndex
-PASS event.result.key is testData[3]
-PASS event.result.value is expectedIndex
-PASS event.result.key is testData[2]
-PASS event.result.value is expectedIndex
-PASS event.result.key is testData[1]
-PASS event.result.value is expectedIndex
-PASS event.result.key is testData[0]
-PASS event.result is null
+PASS event.target.result.primaryKey is expectedIndex
+PASS event.target.result.key is testData[7]
+PASS event.target.result.primaryKey is expectedIndex
+PASS event.target.result.key is testData[6]
+PASS event.target.result.primaryKey is expectedIndex
+PASS event.target.result.key is testData[5]
+PASS event.target.result.primaryKey is expectedIndex
+PASS event.target.result.key is testData[4]
+PASS event.target.result.primaryKey is expectedIndex
+PASS event.target.result.key is testData[3]
+PASS event.target.result.primaryKey is expectedIndex
+PASS event.target.result.key is testData[2]
+PASS event.target.result.primaryKey is expectedIndex
+PASS event.target.result.key is testData[1]
+PASS event.target.result.primaryKey is expectedIndex
+PASS event.target.result.key is testData[0]
+PASS event.target.result is null
Next test: lower open bound is 1; sorted ascending.
-PASS event.result.value is expectedIndex
-PASS event.result.key is testData[2]
-PASS event.result.value is expectedIndex
-PASS event.result.key is testData[3]
-PASS event.result.value is expectedIndex
-PASS event.result.key is testData[4]
-PASS event.result.value is expectedIndex
-PASS event.result.key is testData[5]
-PASS event.result.value is expectedIndex
-PASS event.result.key is testData[6]
-PASS event.result.value is expectedIndex
-PASS event.result.key is testData[7]
-PASS event.result is null
+PASS event.target.result.primaryKey is expectedIndex
+PASS event.target.result.key is testData[2]
+PASS event.target.result.primaryKey is expectedIndex
+PASS event.target.result.key is testData[3]
+PASS event.target.result.primaryKey is expectedIndex
+PASS event.target.result.key is testData[4]
+PASS event.target.result.primaryKey is expectedIndex
+PASS event.target.result.key is testData[5]
+PASS event.target.result.primaryKey is expectedIndex
+PASS event.target.result.key is testData[6]
+PASS event.target.result.primaryKey is expectedIndex
+PASS event.target.result.key is testData[7]
+PASS event.target.result is null
Next test: lower bound is 1; sorted ascending.
-PASS event.result.value is expectedIndex
-PASS event.result.key is testData[0]
-PASS event.result.value is expectedIndex
-PASS event.result.key is testData[1]
-PASS event.result.value is expectedIndex
-PASS event.result.key is testData[2]
-PASS event.result.value is expectedIndex
-PASS event.result.key is testData[3]
-PASS event.result.value is expectedIndex
-PASS event.result.key is testData[4]
-PASS event.result.value is expectedIndex
-PASS event.result.key is testData[5]
-PASS event.result.value is expectedIndex
-PASS event.result.key is testData[6]
-PASS event.result.value is expectedIndex
-PASS event.result.key is testData[7]
-PASS event.result is null
+PASS event.target.result.primaryKey is expectedIndex
+PASS event.target.result.key is testData[0]
+PASS event.target.result.primaryKey is expectedIndex
+PASS event.target.result.key is testData[1]
+PASS event.target.result.primaryKey is expectedIndex
+PASS event.target.result.key is testData[2]
+PASS event.target.result.primaryKey is expectedIndex
+PASS event.target.result.key is testData[3]
+PASS event.target.result.primaryKey is expectedIndex
+PASS event.target.result.key is testData[4]
+PASS event.target.result.primaryKey is expectedIndex
+PASS event.target.result.key is testData[5]
+PASS event.target.result.primaryKey is expectedIndex
+PASS event.target.result.key is testData[6]
+PASS event.target.result.primaryKey is expectedIndex
+PASS event.target.result.key is testData[7]
+PASS event.target.result is null
Next test: upper open bound is 1; sorted ascending.
-PASS event.result is null
+PASS event.target.result is null
Next test: upper bound is 1; sorted ascending.
-PASS event.result.value is expectedIndex
-PASS event.result.key is testData[0]
-PASS event.result.value is expectedIndex
-PASS event.result.key is testData[1]
-PASS event.result is null
+PASS event.target.result.primaryKey is expectedIndex
+PASS event.target.result.key is testData[0]
+PASS event.target.result.primaryKey is expectedIndex
+PASS event.target.result.key is testData[1]
+PASS event.target.result is null
Next test: lower open bound is 1; sorted descending.
-PASS event.result.value is expectedIndex
-PASS event.result.key is testData[7]
-PASS event.result.value is expectedIndex
-PASS event.result.key is testData[6]
-PASS event.result.value is expectedIndex
-PASS event.result.key is testData[5]
-PASS event.result.value is expectedIndex
-PASS event.result.key is testData[4]
-PASS event.result.value is expectedIndex
-PASS event.result.key is testData[3]
-PASS event.result.value is expectedIndex
-PASS event.result.key is testData[2]
-PASS event.result is null
+PASS event.target.result.primaryKey is expectedIndex
+PASS event.target.result.key is testData[7]
+PASS event.target.result.primaryKey is expectedIndex
+PASS event.target.result.key is testData[6]
+PASS event.target.result.primaryKey is expectedIndex
+PASS event.target.result.key is testData[5]
+PASS event.target.result.primaryKey is expectedIndex
+PASS event.target.result.key is testData[4]
+PASS event.target.result.primaryKey is expectedIndex
+PASS event.target.result.key is testData[3]
+PASS event.target.result.primaryKey is expectedIndex
+PASS event.target.result.key is testData[2]
+PASS event.target.result is null
Next test: lower bound is 1; sorted descending.
-PASS event.result.value is expectedIndex
-PASS event.result.key is testData[7]
-PASS event.result.value is expectedIndex
-PASS event.result.key is testData[6]
-PASS event.result.value is expectedIndex
-PASS event.result.key is testData[5]
-PASS event.result.value is expectedIndex
-PASS event.result.key is testData[4]
-PASS event.result.value is expectedIndex
-PASS event.result.key is testData[3]
-PASS event.result.value is expectedIndex
-PASS event.result.key is testData[2]
-PASS event.result.value is expectedIndex
-PASS event.result.key is testData[1]
-PASS event.result.value is expectedIndex
-PASS event.result.key is testData[0]
-PASS event.result is null
+PASS event.target.result.primaryKey is expectedIndex
+PASS event.target.result.key is testData[7]
+PASS event.target.result.primaryKey is expectedIndex
+PASS event.target.result.key is testData[6]
+PASS event.target.result.primaryKey is expectedIndex
+PASS event.target.result.key is testData[5]
+PASS event.target.result.primaryKey is expectedIndex
+PASS event.target.result.key is testData[4]
+PASS event.target.result.primaryKey is expectedIndex
+PASS event.target.result.key is testData[3]
+PASS event.target.result.primaryKey is expectedIndex
+PASS event.target.result.key is testData[2]
+PASS event.target.result.primaryKey is expectedIndex
+PASS event.target.result.key is testData[1]
+PASS event.target.result.primaryKey is expectedIndex
+PASS event.target.result.key is testData[0]
+PASS event.target.result is null
Next test: upper open bound is 1; sorted descending.
-PASS event.result is null
+PASS event.target.result is null
Next test: upper bound is 1; sorted descending.
-PASS event.result.value is expectedIndex
-PASS event.result.key is testData[1]
-PASS event.result.value is expectedIndex
-PASS event.result.key is testData[0]
-PASS event.result is null
+PASS event.target.result.primaryKey is expectedIndex
+PASS event.target.result.key is testData[1]
+PASS event.target.result.primaryKey is expectedIndex
+PASS event.target.result.key is testData[0]
+PASS event.target.result is null
Next test: lower open bound is 1; upper open bound is 6; sorted ascending.
-PASS event.result.value is expectedIndex
-PASS event.result.key is testData[2]
-PASS event.result.value is expectedIndex
-PASS event.result.key is testData[3]
-PASS event.result.value is expectedIndex
-PASS event.result.key is testData[4]
-PASS event.result.value is expectedIndex
-PASS event.result.key is testData[5]
-PASS event.result is null
+PASS event.target.result.primaryKey is expectedIndex
+PASS event.target.result.key is testData[2]
+PASS event.target.result.primaryKey is expectedIndex
+PASS event.target.result.key is testData[3]
+PASS event.target.result.primaryKey is expectedIndex
+PASS event.target.result.key is testData[4]
+PASS event.target.result.primaryKey is expectedIndex
+PASS event.target.result.key is testData[5]
+PASS event.target.result is null
Next test: lower open bound is 1; upper bound is 6; sorted ascending.
-PASS event.result.value is expectedIndex
-PASS event.result.key is testData[2]
-PASS event.result.value is expectedIndex
-PASS event.result.key is testData[3]
-PASS event.result.value is expectedIndex
-PASS event.result.key is testData[4]
-PASS event.result.value is expectedIndex
-PASS event.result.key is testData[5]
-PASS event.result.value is expectedIndex
-PASS event.result.key is testData[6]
-PASS event.result.value is expectedIndex
-PASS event.result.key is testData[7]
-PASS event.result is null
+PASS event.target.result.primaryKey is expectedIndex
+PASS event.target.result.key is testData[2]
+PASS event.target.result.primaryKey is expectedIndex
+PASS event.target.result.key is testData[3]
+PASS event.target.result.primaryKey is expectedIndex
+PASS event.target.result.key is testData[4]
+PASS event.target.result.primaryKey is expectedIndex
+PASS event.target.result.key is testData[5]
+PASS event.target.result.primaryKey is expectedIndex
+PASS event.target.result.key is testData[6]
+PASS event.target.result.primaryKey is expectedIndex
+PASS event.target.result.key is testData[7]
+PASS event.target.result is null
Next test: lower bound is 1; upper open bound is 6; sorted ascending.
-PASS event.result.value is expectedIndex
-PASS event.result.key is testData[0]
-PASS event.result.value is expectedIndex
-PASS event.result.key is testData[1]
-PASS event.result.value is expectedIndex
-PASS event.result.key is testData[2]
-PASS event.result.value is expectedIndex
-PASS event.result.key is testData[3]
-PASS event.result.value is expectedIndex
-PASS event.result.key is testData[4]
-PASS event.result.value is expectedIndex
-PASS event.result.key is testData[5]
-PASS event.result is null
+PASS event.target.result.primaryKey is expectedIndex
+PASS event.target.result.key is testData[0]
+PASS event.target.result.primaryKey is expectedIndex
+PASS event.target.result.key is testData[1]
+PASS event.target.result.primaryKey is expectedIndex
+PASS event.target.result.key is testData[2]
+PASS event.target.result.primaryKey is expectedIndex
+PASS event.target.result.key is testData[3]
+PASS event.target.result.primaryKey is expectedIndex
+PASS event.target.result.key is testData[4]
+PASS event.target.result.primaryKey is expectedIndex
+PASS event.target.result.key is testData[5]
+PASS event.target.result is null
Next test: lower bound is 1; upper bound is 6; sorted ascending.
-PASS event.result.value is expectedIndex
-PASS event.result.key is testData[0]
-PASS event.result.value is expectedIndex
-PASS event.result.key is testData[1]
-PASS event.result.value is expectedIndex
-PASS event.result.key is testData[2]
-PASS event.result.value is expectedIndex
-PASS event.result.key is testData[3]
-PASS event.result.value is expectedIndex
-PASS event.result.key is testData[4]
-PASS event.result.value is expectedIndex
-PASS event.result.key is testData[5]
-PASS event.result.value is expectedIndex
-PASS event.result.key is testData[6]
-PASS event.result.value is expectedIndex
-PASS event.result.key is testData[7]
-PASS event.result is null
+PASS event.target.result.primaryKey is expectedIndex
+PASS event.target.result.key is testData[0]
+PASS event.target.result.primaryKey is expectedIndex
+PASS event.target.result.key is testData[1]
+PASS event.target.result.primaryKey is expectedIndex
+PASS event.target.result.key is testData[2]
+PASS event.target.result.primaryKey is expectedIndex
+PASS event.target.result.key is testData[3]
+PASS event.target.result.primaryKey is expectedIndex
+PASS event.target.result.key is testData[4]
+PASS event.target.result.primaryKey is expectedIndex
+PASS event.target.result.key is testData[5]
+PASS event.target.result.primaryKey is expectedIndex
+PASS event.target.result.key is testData[6]
+PASS event.target.result.primaryKey is expectedIndex
+PASS event.target.result.key is testData[7]
+PASS event.target.result is null
Next test: lower open bound is 1; upper open bound is 6; sorted descending.
-PASS event.result.value is expectedIndex
-PASS event.result.key is testData[5]
-PASS event.result.value is expectedIndex
-PASS event.result.key is testData[4]
-PASS event.result.value is expectedIndex
-PASS event.result.key is testData[3]
-PASS event.result.value is expectedIndex
-PASS event.result.key is testData[2]
-PASS event.result is null
+PASS event.target.result.primaryKey is expectedIndex
+PASS event.target.result.key is testData[5]
+PASS event.target.result.primaryKey is expectedIndex
+PASS event.target.result.key is testData[4]
+PASS event.target.result.primaryKey is expectedIndex
+PASS event.target.result.key is testData[3]
+PASS event.target.result.primaryKey is expectedIndex
+PASS event.target.result.key is testData[2]
+PASS event.target.result is null
Next test: lower open bound is 1; upper bound is 6; sorted descending.
-PASS event.result.value is expectedIndex
-PASS event.result.key is testData[7]
-PASS event.result.value is expectedIndex
-PASS event.result.key is testData[6]
-PASS event.result.value is expectedIndex
-PASS event.result.key is testData[5]
-PASS event.result.value is expectedIndex
-PASS event.result.key is testData[4]
-PASS event.result.value is expectedIndex
-PASS event.result.key is testData[3]
-PASS event.result.value is expectedIndex
-PASS event.result.key is testData[2]
-PASS event.result is null
+PASS event.target.result.primaryKey is expectedIndex
+PASS event.target.result.key is testData[7]
+PASS event.target.result.primaryKey is expectedIndex
+PASS event.target.result.key is testData[6]
+PASS event.target.result.primaryKey is expectedIndex
+PASS event.target.result.key is testData[5]
+PASS event.target.result.primaryKey is expectedIndex
+PASS event.target.result.key is testData[4]
+PASS event.target.result.primaryKey is expectedIndex
+PASS event.target.result.key is testData[3]
+PASS event.target.result.primaryKey is expectedIndex
+PASS event.target.result.key is testData[2]
+PASS event.target.result is null
Next test: lower bound is 1; upper open bound is 6; sorted descending.
-PASS event.result.value is expectedIndex
-PASS event.result.key is testData[5]
-PASS event.result.value is expectedIndex
-PASS event.result.key is testData[4]
-PASS event.result.value is expectedIndex
-PASS event.result.key is testData[3]
-PASS event.result.value is expectedIndex
-PASS event.result.key is testData[2]
-PASS event.result.value is expectedIndex
-PASS event.result.key is testData[1]
-PASS event.result.value is expectedIndex
-PASS event.result.key is testData[0]
-PASS event.result is null
+PASS event.target.result.primaryKey is expectedIndex
+PASS event.target.result.key is testData[5]
+PASS event.target.result.primaryKey is expectedIndex
+PASS event.target.result.key is testData[4]
+PASS event.target.result.primaryKey is expectedIndex
+PASS event.target.result.key is testData[3]
+PASS event.target.result.primaryKey is expectedIndex
+PASS event.target.result.key is testData[2]
+PASS event.target.result.primaryKey is expectedIndex
+PASS event.target.result.key is testData[1]
+PASS event.target.result.primaryKey is expectedIndex
+PASS event.target.result.key is testData[0]
+PASS event.target.result is null
Next test: lower bound is 1; upper bound is 6; sorted descending.
-PASS event.result.value is expectedIndex
-PASS event.result.key is testData[7]
-PASS event.result.value is expectedIndex
-PASS event.result.key is testData[6]
-PASS event.result.value is expectedIndex
-PASS event.result.key is testData[5]
-PASS event.result.value is expectedIndex
-PASS event.result.key is testData[4]
-PASS event.result.value is expectedIndex
-PASS event.result.key is testData[3]
-PASS event.result.value is expectedIndex
-PASS event.result.key is testData[2]
-PASS event.result.value is expectedIndex
-PASS event.result.key is testData[1]
-PASS event.result.value is expectedIndex
-PASS event.result.key is testData[0]
-PASS event.result is null
+PASS event.target.result.primaryKey is expectedIndex
+PASS event.target.result.key is testData[7]
+PASS event.target.result.primaryKey is expectedIndex
+PASS event.target.result.key is testData[6]
+PASS event.target.result.primaryKey is expectedIndex
+PASS event.target.result.key is testData[5]
+PASS event.target.result.primaryKey is expectedIndex
+PASS event.target.result.key is testData[4]
+PASS event.target.result.primaryKey is expectedIndex
+PASS event.target.result.key is testData[3]
+PASS event.target.result.primaryKey is expectedIndex
+PASS event.target.result.key is testData[2]
+PASS event.target.result.primaryKey is expectedIndex
+PASS event.target.result.key is testData[1]
+PASS event.target.result.primaryKey is expectedIndex
+PASS event.target.result.key is testData[0]
+PASS event.target.result is null
Next test: lower open bound is 1; upper open bound is 7; sorted ascending.
-PASS event.result.value is expectedIndex
-PASS event.result.key is testData[2]
-PASS event.result.value is expectedIndex
-PASS event.result.key is testData[3]
-PASS event.result.value is expectedIndex
-PASS event.result.key is testData[4]
-PASS event.result.value is expectedIndex
-PASS event.result.key is testData[5]
-PASS event.result is null
+PASS event.target.result.primaryKey is expectedIndex
+PASS event.target.result.key is testData[2]
+PASS event.target.result.primaryKey is expectedIndex
+PASS event.target.result.key is testData[3]
+PASS event.target.result.primaryKey is expectedIndex
+PASS event.target.result.key is testData[4]
+PASS event.target.result.primaryKey is expectedIndex
+PASS event.target.result.key is testData[5]
+PASS event.target.result is null
Next test: lower open bound is 1; upper bound is 7; sorted ascending.
-PASS event.result.value is expectedIndex
-PASS event.result.key is testData[2]
-PASS event.result.value is expectedIndex
-PASS event.result.key is testData[3]
-PASS event.result.value is expectedIndex
-PASS event.result.key is testData[4]
-PASS event.result.value is expectedIndex
-PASS event.result.key is testData[5]
-PASS event.result.value is expectedIndex
-PASS event.result.key is testData[6]
-PASS event.result.value is expectedIndex
-PASS event.result.key is testData[7]
-PASS event.result is null
+PASS event.target.result.primaryKey is expectedIndex
+PASS event.target.result.key is testData[2]
+PASS event.target.result.primaryKey is expectedIndex
+PASS event.target.result.key is testData[3]
+PASS event.target.result.primaryKey is expectedIndex
+PASS event.target.result.key is testData[4]
+PASS event.target.result.primaryKey is expectedIndex
+PASS event.target.result.key is testData[5]
+PASS event.target.result.primaryKey is expectedIndex
+PASS event.target.result.key is testData[6]
+PASS event.target.result.primaryKey is expectedIndex
+PASS event.target.result.key is testData[7]
+PASS event.target.result is null
Next test: lower bound is 1; upper open bound is 7; sorted ascending.
-PASS event.result.value is expectedIndex
-PASS event.result.key is testData[0]
-PASS event.result.value is expectedIndex
-PASS event.result.key is testData[1]
-PASS event.result.value is expectedIndex
-PASS event.result.key is testData[2]
-PASS event.result.value is expectedIndex
-PASS event.result.key is testData[3]
-PASS event.result.value is expectedIndex
-PASS event.result.key is testData[4]
-PASS event.result.value is expectedIndex
-PASS event.result.key is testData[5]
-PASS event.result is null
+PASS event.target.result.primaryKey is expectedIndex
+PASS event.target.result.key is testData[0]
+PASS event.target.result.primaryKey is expectedIndex
+PASS event.target.result.key is testData[1]
+PASS event.target.result.primaryKey is expectedIndex
+PASS event.target.result.key is testData[2]
+PASS event.target.result.primaryKey is expectedIndex
+PASS event.target.result.key is testData[3]
+PASS event.target.result.primaryKey is expectedIndex
+PASS event.target.result.key is testData[4]
+PASS event.target.result.primaryKey is expectedIndex
+PASS event.target.result.key is testData[5]
+PASS event.target.result is null
Next test: lower bound is 1; upper bound is 7; sorted ascending.
-PASS event.result.value is expectedIndex
-PASS event.result.key is testData[0]
-PASS event.result.value is expectedIndex
-PASS event.result.key is testData[1]
-PASS event.result.value is expectedIndex
-PASS event.result.key is testData[2]
-PASS event.result.value is expectedIndex
-PASS event.result.key is testData[3]
-PASS event.result.value is expectedIndex
-PASS event.result.key is testData[4]
-PASS event.result.value is expectedIndex
-PASS event.result.key is testData[5]
-PASS event.result.value is expectedIndex
-PASS event.result.key is testData[6]
-PASS event.result.value is expectedIndex
-PASS event.result.key is testData[7]
-PASS event.result is null
+PASS event.target.result.primaryKey is expectedIndex
+PASS event.target.result.key is testData[0]
+PASS event.target.result.primaryKey is expectedIndex
+PASS event.target.result.key is testData[1]
+PASS event.target.result.primaryKey is expectedIndex
+PASS event.target.result.key is testData[2]
+PASS event.target.result.primaryKey is expectedIndex
+PASS event.target.result.key is testData[3]
+PASS event.target.result.primaryKey is expectedIndex
+PASS event.target.result.key is testData[4]
+PASS event.target.result.primaryKey is expectedIndex
+PASS event.target.result.key is testData[5]
+PASS event.target.result.primaryKey is expectedIndex
+PASS event.target.result.key is testData[6]
+PASS event.target.result.primaryKey is expectedIndex
+PASS event.target.result.key is testData[7]
+PASS event.target.result is null
Next test: lower open bound is 1; upper open bound is 7; sorted descending.
-PASS event.result.value is expectedIndex
-PASS event.result.key is testData[5]
-PASS event.result.value is expectedIndex
-PASS event.result.key is testData[4]
-PASS event.result.value is expectedIndex
-PASS event.result.key is testData[3]
-PASS event.result.value is expectedIndex
-PASS event.result.key is testData[2]
-PASS event.result is null
+PASS event.target.result.primaryKey is expectedIndex
+PASS event.target.result.key is testData[5]
+PASS event.target.result.primaryKey is expectedIndex
+PASS event.target.result.key is testData[4]
+PASS event.target.result.primaryKey is expectedIndex
+PASS event.target.result.key is testData[3]
+PASS event.target.result.primaryKey is expectedIndex
+PASS event.target.result.key is testData[2]
+PASS event.target.result is null
Next test: lower open bound is 1; upper bound is 7; sorted descending.
-PASS event.result.value is expectedIndex
-PASS event.result.key is testData[7]
-PASS event.result.value is expectedIndex
-PASS event.result.key is testData[6]
-PASS event.result.value is expectedIndex
-PASS event.result.key is testData[5]
-PASS event.result.value is expectedIndex
-PASS event.result.key is testData[4]
-PASS event.result.value is expectedIndex
-PASS event.result.key is testData[3]
-PASS event.result.value is expectedIndex
-PASS event.result.key is testData[2]
-PASS event.result is null
+PASS event.target.result.primaryKey is expectedIndex
+PASS event.target.result.key is testData[7]
+PASS event.target.result.primaryKey is expectedIndex
+PASS event.target.result.key is testData[6]
+PASS event.target.result.primaryKey is expectedIndex
+PASS event.target.result.key is testData[5]
+PASS event.target.result.primaryKey is expectedIndex
+PASS event.target.result.key is testData[4]
+PASS event.target.result.primaryKey is expectedIndex
+PASS event.target.result.key is testData[3]
+PASS event.target.result.primaryKey is expectedIndex
+PASS event.target.result.key is testData[2]
+PASS event.target.result is null
Next test: lower bound is 1; upper open bound is 7; sorted descending.
-PASS event.result.value is expectedIndex
-PASS event.result.key is testData[5]
-PASS event.result.value is expectedIndex
-PASS event.result.key is testData[4]
-PASS event.result.value is expectedIndex
-PASS event.result.key is testData[3]
-PASS event.result.value is expectedIndex
-PASS event.result.key is testData[2]
-PASS event.result.value is expectedIndex
-PASS event.result.key is testData[1]
-PASS event.result.value is expectedIndex
-PASS event.result.key is testData[0]
-PASS event.result is null
+PASS event.target.result.primaryKey is expectedIndex
+PASS event.target.result.key is testData[5]
+PASS event.target.result.primaryKey is expectedIndex
+PASS event.target.result.key is testData[4]
+PASS event.target.result.primaryKey is expectedIndex
+PASS event.target.result.key is testData[3]
+PASS event.target.result.primaryKey is expectedIndex
+PASS event.target.result.key is testData[2]
+PASS event.target.result.primaryKey is expectedIndex
+PASS event.target.result.key is testData[1]
+PASS event.target.result.primaryKey is expectedIndex
+PASS event.target.result.key is testData[0]
+PASS event.target.result is null
Next test: lower bound is 1; upper bound is 7; sorted descending.
-PASS event.result.value is expectedIndex
-PASS event.result.key is testData[7]
-PASS event.result.value is expectedIndex
-PASS event.result.key is testData[6]
-PASS event.result.value is expectedIndex
-PASS event.result.key is testData[5]
-PASS event.result.value is expectedIndex
-PASS event.result.key is testData[4]
-PASS event.result.value is expectedIndex
-PASS event.result.key is testData[3]
-PASS event.result.value is expectedIndex
-PASS event.result.key is testData[2]
-PASS event.result.value is expectedIndex
-PASS event.result.key is testData[1]
-PASS event.result.value is expectedIndex
-PASS event.result.key is testData[0]
-PASS event.result is null
+PASS event.target.result.primaryKey is expectedIndex
+PASS event.target.result.key is testData[7]
+PASS event.target.result.primaryKey is expectedIndex
+PASS event.target.result.key is testData[6]
+PASS event.target.result.primaryKey is expectedIndex
+PASS event.target.result.key is testData[5]
+PASS event.target.result.primaryKey is expectedIndex
+PASS event.target.result.key is testData[4]
+PASS event.target.result.primaryKey is expectedIndex
+PASS event.target.result.key is testData[3]
+PASS event.target.result.primaryKey is expectedIndex
+PASS event.target.result.key is testData[2]
+PASS event.target.result.primaryKey is expectedIndex
+PASS event.target.result.key is testData[1]
+PASS event.target.result.primaryKey is expectedIndex
+PASS event.target.result.key is testData[0]
+PASS event.target.result is null
Next test: lower open bound is 2; sorted ascending.
-PASS event.result.value is expectedIndex
-PASS event.result.key is testData[4]
-PASS event.result.value is expectedIndex
-PASS event.result.key is testData[5]
-PASS event.result.value is expectedIndex
-PASS event.result.key is testData[6]
-PASS event.result.value is expectedIndex
-PASS event.result.key is testData[7]
-PASS event.result is null
+PASS event.target.result.primaryKey is expectedIndex
+PASS event.target.result.key is testData[4]
+PASS event.target.result.primaryKey is expectedIndex
+PASS event.target.result.key is testData[5]
+PASS event.target.result.primaryKey is expectedIndex
+PASS event.target.result.key is testData[6]
+PASS event.target.result.primaryKey is expectedIndex
+PASS event.target.result.key is testData[7]
+PASS event.target.result is null
Next test: lower bound is 2; sorted ascending.
-PASS event.result.value is expectedIndex
-PASS event.result.key is testData[2]
-PASS event.result.value is expectedIndex
-PASS event.result.key is testData[3]
-PASS event.result.value is expectedIndex
-PASS event.result.key is testData[4]
-PASS event.result.value is expectedIndex
-PASS event.result.key is testData[5]
-PASS event.result.value is expectedIndex
-PASS event.result.key is testData[6]
-PASS event.result.value is expectedIndex
-PASS event.result.key is testData[7]
-PASS event.result is null
+PASS event.target.result.primaryKey is expectedIndex
+PASS event.target.result.key is testData[2]
+PASS event.target.result.primaryKey is expectedIndex
+PASS event.target.result.key is testData[3]
+PASS event.target.result.primaryKey is expectedIndex
+PASS event.target.result.key is testData[4]
+PASS event.target.result.primaryKey is expectedIndex
+PASS event.target.result.key is testData[5]
+PASS event.target.result.primaryKey is expectedIndex
+PASS event.target.result.key is testData[6]
+PASS event.target.result.primaryKey is expectedIndex
+PASS event.target.result.key is testData[7]
+PASS event.target.result is null
Next test: upper open bound is 2; sorted ascending.
-PASS event.result.value is expectedIndex
-PASS event.result.key is testData[0]
-PASS event.result.value is expectedIndex
-PASS event.result.key is testData[1]
-PASS event.result is null
+PASS event.target.result.primaryKey is expectedIndex
+PASS event.target.result.key is testData[0]
+PASS event.target.result.primaryKey is expectedIndex
+PASS event.target.result.key is testData[1]
+PASS event.target.result is null
Next test: upper bound is 2; sorted ascending.
-PASS event.result.value is expectedIndex
-PASS event.result.key is testData[0]
-PASS event.result.value is expectedIndex
-PASS event.result.key is testData[1]
-PASS event.result.value is expectedIndex
-PASS event.result.key is testData[2]
-PASS event.result.value is expectedIndex
-PASS event.result.key is testData[3]
-PASS event.result is null
+PASS event.target.result.primaryKey is expectedIndex
+PASS event.target.result.key is testData[0]
+PASS event.target.result.primaryKey is expectedIndex
+PASS event.target.result.key is testData[1]
+PASS event.target.result.primaryKey is expectedIndex
+PASS event.target.result.key is testData[2]
+PASS event.target.result.primaryKey is expectedIndex
+PASS event.target.result.key is testData[3]
+PASS event.target.result is null
Next test: lower open bound is 2; sorted descending.
-PASS event.result.value is expectedIndex
-PASS event.result.key is testData[7]
-PASS event.result.value is expectedIndex
-PASS event.result.key is testData[6]
-PASS event.result.value is expectedIndex
-PASS event.result.key is testData[5]
-PASS event.result.value is expectedIndex
-PASS event.result.key is testData[4]
-PASS event.result is null
+PASS event.target.result.primaryKey is expectedIndex
+PASS event.target.result.key is testData[7]
+PASS event.target.result.primaryKey is expectedIndex
+PASS event.target.result.key is testData[6]
+PASS event.target.result.primaryKey is expectedIndex
+PASS event.target.result.key is testData[5]
+PASS event.target.result.primaryKey is expectedIndex
+PASS event.target.result.key is testData[4]
+PASS event.target.result is null
Next test: lower bound is 2; sorted descending.
-PASS event.result.value is expectedIndex
-PASS event.result.key is testData[7]
-PASS event.result.value is expectedIndex
-PASS event.result.key is testData[6]
-PASS event.result.value is expectedIndex
-PASS event.result.key is testData[5]
-PASS event.result.value is expectedIndex
-PASS event.result.key is testData[4]
-PASS event.result.value is expectedIndex
-PASS event.result.key is testData[3]
-PASS event.result.value is expectedIndex
-PASS event.result.key is testData[2]
-PASS event.result is null
+PASS event.target.result.primaryKey is expectedIndex
+PASS event.target.result.key is testData[7]
+PASS event.target.result.primaryKey is expectedIndex
+PASS event.target.result.key is testData[6]
+PASS event.target.result.primaryKey is expectedIndex
+PASS event.target.result.key is testData[5]
+PASS event.target.result.primaryKey is expectedIndex
+PASS event.target.result.key is testData[4]
+PASS event.target.result.primaryKey is expectedIndex
+PASS event.target.result.key is testData[3]
+PASS event.target.result.primaryKey is expectedIndex
+PASS event.target.result.key is testData[2]
+PASS event.target.result is null
Next test: upper open bound is 2; sorted descending.
-PASS event.result.value is expectedIndex
-PASS event.result.key is testData[1]
-PASS event.result.value is expectedIndex
-PASS event.result.key is testData[0]
-PASS event.result is null
+PASS event.target.result.primaryKey is expectedIndex
+PASS event.target.result.key is testData[1]
+PASS event.target.result.primaryKey is expectedIndex
+PASS event.target.result.key is testData[0]
+PASS event.target.result is null
Next test: upper bound is 2; sorted descending.
-PASS event.result.value is expectedIndex
-PASS event.result.key is testData[3]
-PASS event.result.value is expectedIndex
-PASS event.result.key is testData[2]
-PASS event.result.value is expectedIndex
-PASS event.result.key is testData[1]
-PASS event.result.value is expectedIndex
-PASS event.result.key is testData[0]
-PASS event.result is null
+PASS event.target.result.primaryKey is expectedIndex
+PASS event.target.result.key is testData[3]
+PASS event.target.result.primaryKey is expectedIndex
+PASS event.target.result.key is testData[2]
+PASS event.target.result.primaryKey is expectedIndex
+PASS event.target.result.key is testData[1]
+PASS event.target.result.primaryKey is expectedIndex
+PASS event.target.result.key is testData[0]
+PASS event.target.result is null
Next test: lower open bound is 2; upper open bound is 6; sorted ascending.
-PASS event.result.value is expectedIndex
-PASS event.result.key is testData[4]
-PASS event.result.value is expectedIndex
-PASS event.result.key is testData[5]
-PASS event.result is null
+PASS event.target.result.primaryKey is expectedIndex
+PASS event.target.result.key is testData[4]
+PASS event.target.result.primaryKey is expectedIndex
+PASS event.target.result.key is testData[5]
+PASS event.target.result is null
Next test: lower open bound is 2; upper bound is 6; sorted ascending.
-PASS event.result.value is expectedIndex
-PASS event.result.key is testData[4]
-PASS event.result.value is expectedIndex
-PASS event.result.key is testData[5]
-PASS event.result.value is expectedIndex
-PASS event.result.key is testData[6]
-PASS event.result.value is expectedIndex
-PASS event.result.key is testData[7]
-PASS event.result is null
+PASS event.target.result.primaryKey is expectedIndex
+PASS event.target.result.key is testData[4]
+PASS event.target.result.primaryKey is expectedIndex
+PASS event.target.result.key is testData[5]
+PASS event.target.result.primaryKey is expectedIndex
+PASS event.target.result.key is testData[6]
+PASS event.target.result.primaryKey is expectedIndex
+PASS event.target.result.key is testData[7]
+PASS event.target.result is null
Next test: lower bound is 2; upper open bound is 6; sorted ascending.
-PASS event.result.value is expectedIndex
-PASS event.result.key is testData[2]
-PASS event.result.value is expectedIndex
-PASS event.result.key is testData[3]
-PASS event.result.value is expectedIndex
-PASS event.result.key is testData[4]
-PASS event.result.value is expectedIndex
-PASS event.result.key is testData[5]
-PASS event.result is null
+PASS event.target.result.primaryKey is expectedIndex
+PASS event.target.result.key is testData[2]
+PASS event.target.result.primaryKey is expectedIndex
+PASS event.target.result.key is testData[3]
+PASS event.target.result.primaryKey is expectedIndex
+PASS event.target.result.key is testData[4]
+PASS event.target.result.primaryKey is expectedIndex
+PASS event.target.result.key is testData[5]
+PASS event.target.result is null
Next test: lower bound is 2; upper bound is 6; sorted ascending.
-PASS event.result.value is expectedIndex
-PASS event.result.key is testData[2]
-PASS event.result.value is expectedIndex
-PASS event.result.key is testData[3]
-PASS event.result.value is expectedIndex
-PASS event.result.key is testData[4]
-PASS event.result.value is expectedIndex
-PASS event.result.key is testData[5]
-PASS event.result.value is expectedIndex
-PASS event.result.key is testData[6]
-PASS event.result.value is expectedIndex
-PASS event.result.key is testData[7]
-PASS event.result is null
+PASS event.target.result.primaryKey is expectedIndex
+PASS event.target.result.key is testData[2]
+PASS event.target.result.primaryKey is expectedIndex
+PASS event.target.result.key is testData[3]
+PASS event.target.result.primaryKey is expectedIndex
+PASS event.target.result.key is testData[4]
+PASS event.target.result.primaryKey is expectedIndex
+PASS event.target.result.key is testData[5]
+PASS event.target.result.primaryKey is expectedIndex
+PASS event.target.result.key is testData[6]
+PASS event.target.result.primaryKey is expectedIndex
+PASS event.target.result.key is testData[7]
+PASS event.target.result is null
Next test: lower open bound is 2; upper open bound is 6; sorted descending.
-PASS event.result.value is expectedIndex
-PASS event.result.key is testData[5]
-PASS event.result.value is expectedIndex
-PASS event.result.key is testData[4]
-PASS event.result is null
+PASS event.target.result.primaryKey is expectedIndex
+PASS event.target.result.key is testData[5]
+PASS event.target.result.primaryKey is expectedIndex
+PASS event.target.result.key is testData[4]
+PASS event.target.result is null
Next test: lower open bound is 2; upper bound is 6; sorted descending.
-PASS event.result.value is expectedIndex
-PASS event.result.key is testData[7]
-PASS event.result.value is expectedIndex
-PASS event.result.key is testData[6]
-PASS event.result.value is expectedIndex
-PASS event.result.key is testData[5]
-PASS event.result.value is expectedIndex
-PASS event.result.key is testData[4]
-PASS event.result is null
+PASS event.target.result.primaryKey is expectedIndex
+PASS event.target.result.key is testData[7]
+PASS event.target.result.primaryKey is expectedIndex
+PASS event.target.result.key is testData[6]
+PASS event.target.result.primaryKey is expectedIndex
+PASS event.target.result.key is testData[5]
+PASS event.target.result.primaryKey is expectedIndex
+PASS event.target.result.key is testData[4]
+PASS event.target.result is null
Next test: lower bound is 2; upper open bound is 6; sorted descending.
-PASS event.result.value is expectedIndex
-PASS event.result.key is testData[5]
-PASS event.result.value is expectedIndex
-PASS event.result.key is testData[4]
-PASS event.result.value is expectedIndex
-PASS event.result.key is testData[3]
-PASS event.result.value is expectedIndex
-PASS event.result.key is testData[2]
-PASS event.result is null
+PASS event.target.result.primaryKey is expectedIndex
+PASS event.target.result.key is testData[5]
+PASS event.target.result.primaryKey is expectedIndex
+PASS event.target.result.key is testData[4]
+PASS event.target.result.primaryKey is expectedIndex
+PASS event.target.result.key is testData[3]
+PASS event.target.result.primaryKey is expectedIndex
+PASS event.target.result.key is testData[2]
+PASS event.target.result is null
Next test: lower bound is 2; upper bound is 6; sorted descending.
-PASS event.result.value is expectedIndex
-PASS event.result.key is testData[7]
-PASS event.result.value is expectedIndex
-PASS event.result.key is testData[6]
-PASS event.result.value is expectedIndex
-PASS event.result.key is testData[5]
-PASS event.result.value is expectedIndex
-PASS event.result.key is testData[4]
-PASS event.result.value is expectedIndex
-PASS event.result.key is testData[3]
-PASS event.result.value is expectedIndex
-PASS event.result.key is testData[2]
-PASS event.result is null
+PASS event.target.result.primaryKey is expectedIndex
+PASS event.target.result.key is testData[7]
+PASS event.target.result.primaryKey is expectedIndex
+PASS event.target.result.key is testData[6]
+PASS event.target.result.primaryKey is expectedIndex
+PASS event.target.result.key is testData[5]
+PASS event.target.result.primaryKey is expectedIndex
+PASS event.target.result.key is testData[4]
+PASS event.target.result.primaryKey is expectedIndex
+PASS event.target.result.key is testData[3]
+PASS event.target.result.primaryKey is expectedIndex
+PASS event.target.result.key is testData[2]
+PASS event.target.result is null
Next test: lower open bound is 2; upper open bound is 7; sorted ascending.
-PASS event.result.value is expectedIndex
-PASS event.result.key is testData[4]
-PASS event.result.value is expectedIndex
-PASS event.result.key is testData[5]
-PASS event.result is null
+PASS event.target.result.primaryKey is expectedIndex
+PASS event.target.result.key is testData[4]
+PASS event.target.result.primaryKey is expectedIndex
+PASS event.target.result.key is testData[5]
+PASS event.target.result is null
Next test: lower open bound is 2; upper bound is 7; sorted ascending.
-PASS event.result.value is expectedIndex
-PASS event.result.key is testData[4]
-PASS event.result.value is expectedIndex
-PASS event.result.key is testData[5]
-PASS event.result.value is expectedIndex
-PASS event.result.key is testData[6]
-PASS event.result.value is expectedIndex
-PASS event.result.key is testData[7]
-PASS event.result is null
+PASS event.target.result.primaryKey is expectedIndex
+PASS event.target.result.key is testData[4]
+PASS event.target.result.primaryKey is expectedIndex
+PASS event.target.result.key is testData[5]
+PASS event.target.result.primaryKey is expectedIndex
+PASS event.target.result.key is testData[6]
+PASS event.target.result.primaryKey is expectedIndex
+PASS event.target.result.key is testData[7]
+PASS event.target.result is null
Next test: lower bound is 2; upper open bound is 7; sorted ascending.
-PASS event.result.value is expectedIndex
-PASS event.result.key is testData[2]
-PASS event.result.value is expectedIndex
-PASS event.result.key is testData[3]
-PASS event.result.value is expectedIndex
-PASS event.result.key is testData[4]
-PASS event.result.value is expectedIndex
-PASS event.result.key is testData[5]
-PASS event.result is null
+PASS event.target.result.primaryKey is expectedIndex
+PASS event.target.result.key is testData[2]
+PASS event.target.result.primaryKey is expectedIndex
+PASS event.target.result.key is testData[3]
+PASS event.target.result.primaryKey is expectedIndex
+PASS event.target.result.key is testData[4]
+PASS event.target.result.primaryKey is expectedIndex
+PASS event.target.result.key is testData[5]
+PASS event.target.result is null
Next test: lower bound is 2; upper bound is 7; sorted ascending.
-PASS event.result.value is expectedIndex
-PASS event.result.key is testData[2]
-PASS event.result.value is expectedIndex
-PASS event.result.key is testData[3]
-PASS event.result.value is expectedIndex
-PASS event.result.key is testData[4]
-PASS event.result.value is expectedIndex
-PASS event.result.key is testData[5]
-PASS event.result.value is expectedIndex
-PASS event.result.key is testData[6]
-PASS event.result.value is expectedIndex
-PASS event.result.key is testData[7]
-PASS event.result is null
+PASS event.target.result.primaryKey is expectedIndex
+PASS event.target.result.key is testData[2]
+PASS event.target.result.primaryKey is expectedIndex
+PASS event.target.result.key is testData[3]
+PASS event.target.result.primaryKey is expectedIndex
+PASS event.target.result.key is testData[4]
+PASS event.target.result.primaryKey is expectedIndex
+PASS event.target.result.key is testData[5]
+PASS event.target.result.primaryKey is expectedIndex
+PASS event.target.result.key is testData[6]
+PASS event.target.result.primaryKey is expectedIndex
+PASS event.target.result.key is testData[7]
+PASS event.target.result is null
Next test: lower open bound is 2; upper open bound is 7; sorted descending.
-PASS event.result.value is expectedIndex
-PASS event.result.key is testData[5]
-PASS event.result.value is expectedIndex
-PASS event.result.key is testData[4]
-PASS event.result is null
+PASS event.target.result.primaryKey is expectedIndex
+PASS event.target.result.key is testData[5]
+PASS event.target.result.primaryKey is expectedIndex
+PASS event.target.result.key is testData[4]
+PASS event.target.result is null
Next test: lower open bound is 2; upper bound is 7; sorted descending.
-PASS event.result.value is expectedIndex
-PASS event.result.key is testData[7]
-PASS event.result.value is expectedIndex
-PASS event.result.key is testData[6]
-PASS event.result.value is expectedIndex
-PASS event.result.key is testData[5]
-PASS event.result.value is expectedIndex
-PASS event.result.key is testData[4]
-PASS event.result is null
+PASS event.target.result.primaryKey is expectedIndex
+PASS event.target.result.key is testData[7]
+PASS event.target.result.primaryKey is expectedIndex
+PASS event.target.result.key is testData[6]
+PASS event.target.result.primaryKey is expectedIndex
+PASS event.target.result.key is testData[5]
+PASS event.target.result.primaryKey is expectedIndex
+PASS event.target.result.key is testData[4]
+PASS event.target.result is null
Next test: lower bound is 2; upper open bound is 7; sorted descending.
-PASS event.result.value is expectedIndex
-PASS event.result.key is testData[5]
-PASS event.result.value is expectedIndex
-PASS event.result.key is testData[4]
-PASS event.result.value is expectedIndex
-PASS event.result.key is testData[3]
-PASS event.result.value is expectedIndex
-PASS event.result.key is testData[2]
-PASS event.result is null
+PASS event.target.result.primaryKey is expectedIndex
+PASS event.target.result.key is testData[5]
+PASS event.target.result.primaryKey is expectedIndex
+PASS event.target.result.key is testData[4]
+PASS event.target.result.primaryKey is expectedIndex
+PASS event.target.result.key is testData[3]
+PASS event.target.result.primaryKey is expectedIndex
+PASS event.target.result.key is testData[2]
+PASS event.target.result is null
Next test: lower bound is 2; upper bound is 7; sorted descending.
-PASS event.result.value is expectedIndex
-PASS event.result.key is testData[7]
-PASS event.result.value is expectedIndex
-PASS event.result.key is testData[6]
-PASS event.result.value is expectedIndex
-PASS event.result.key is testData[5]
-PASS event.result.value is expectedIndex
-PASS event.result.key is testData[4]
-PASS event.result.value is expectedIndex
-PASS event.result.key is testData[3]
-PASS event.result.value is expectedIndex
-PASS event.result.key is testData[2]
-PASS event.result is null
+PASS event.target.result.primaryKey is expectedIndex
+PASS event.target.result.key is testData[7]
+PASS event.target.result.primaryKey is expectedIndex
+PASS event.target.result.key is testData[6]
+PASS event.target.result.primaryKey is expectedIndex
+PASS event.target.result.key is testData[5]
+PASS event.target.result.primaryKey is expectedIndex
+PASS event.target.result.key is testData[4]
+PASS event.target.result.primaryKey is expectedIndex
+PASS event.target.result.key is testData[3]
+PASS event.target.result.primaryKey is expectedIndex
+PASS event.target.result.key is testData[2]
+PASS event.target.result is null
Next test: lower open bound is 3; sorted ascending.
-PASS event.result.value is expectedIndex
-PASS event.result.key is testData[4]
-PASS event.result.value is expectedIndex
-PASS event.result.key is testData[5]
-PASS event.result.value is expectedIndex
-PASS event.result.key is testData[6]
-PASS event.result.value is expectedIndex
-PASS event.result.key is testData[7]
-PASS event.result is null
+PASS event.target.result.primaryKey is expectedIndex
+PASS event.target.result.key is testData[4]
+PASS event.target.result.primaryKey is expectedIndex
+PASS event.target.result.key is testData[5]
+PASS event.target.result.primaryKey is expectedIndex
+PASS event.target.result.key is testData[6]
+PASS event.target.result.primaryKey is expectedIndex
+PASS event.target.result.key is testData[7]
+PASS event.target.result is null
Next test: lower bound is 3; sorted ascending.
-PASS event.result.value is expectedIndex
-PASS event.result.key is testData[2]
-PASS event.result.value is expectedIndex
-PASS event.result.key is testData[3]
-PASS event.result.value is expectedIndex
-PASS event.result.key is testData[4]
-PASS event.result.value is expectedIndex
-PASS event.result.key is testData[5]
-PASS event.result.value is expectedIndex
-PASS event.result.key is testData[6]
-PASS event.result.value is expectedIndex
-PASS event.result.key is testData[7]
-PASS event.result is null
+PASS event.target.result.primaryKey is expectedIndex
+PASS event.target.result.key is testData[2]
+PASS event.target.result.primaryKey is expectedIndex
+PASS event.target.result.key is testData[3]
+PASS event.target.result.primaryKey is expectedIndex
+PASS event.target.result.key is testData[4]
+PASS event.target.result.primaryKey is expectedIndex
+PASS event.target.result.key is testData[5]
+PASS event.target.result.primaryKey is expectedIndex
+PASS event.target.result.key is testData[6]
+PASS event.target.result.primaryKey is expectedIndex
+PASS event.target.result.key is testData[7]
+PASS event.target.result is null
Next test: upper open bound is 3; sorted ascending.
-PASS event.result.value is expectedIndex
-PASS event.result.key is testData[0]
-PASS event.result.value is expectedIndex
-PASS event.result.key is testData[1]
-PASS event.result is null
+PASS event.target.result.primaryKey is expectedIndex
+PASS event.target.result.key is testData[0]
+PASS event.target.result.primaryKey is expectedIndex
+PASS event.target.result.key is testData[1]
+PASS event.target.result is null
Next test: upper bound is 3; sorted ascending.
-PASS event.result.value is expectedIndex
-PASS event.result.key is testData[0]
-PASS event.result.value is expectedIndex
-PASS event.result.key is testData[1]
-PASS event.result.value is expectedIndex
-PASS event.result.key is testData[2]
-PASS event.result.value is expectedIndex
-PASS event.result.key is testData[3]
-PASS event.result is null
+PASS event.target.result.primaryKey is expectedIndex
+PASS event.target.result.key is testData[0]
+PASS event.target.result.primaryKey is expectedIndex
+PASS event.target.result.key is testData[1]
+PASS event.target.result.primaryKey is expectedIndex
+PASS event.target.result.key is testData[2]
+PASS event.target.result.primaryKey is expectedIndex
+PASS event.target.result.key is testData[3]
+PASS event.target.result is null
Next test: lower open bound is 3; sorted descending.
-PASS event.result.value is expectedIndex
-PASS event.result.key is testData[7]
-PASS event.result.value is expectedIndex
-PASS event.result.key is testData[6]
-PASS event.result.value is expectedIndex
-PASS event.result.key is testData[5]
-PASS event.result.value is expectedIndex
-PASS event.result.key is testData[4]
-PASS event.result is null
+PASS event.target.result.primaryKey is expectedIndex
+PASS event.target.result.key is testData[7]
+PASS event.target.result.primaryKey is expectedIndex
+PASS event.target.result.key is testData[6]
+PASS event.target.result.primaryKey is expectedIndex
+PASS event.target.result.key is testData[5]
+PASS event.target.result.primaryKey is expectedIndex
+PASS event.target.result.key is testData[4]
+PASS event.target.result is null
Next test: lower bound is 3; sorted descending.
-PASS event.result.value is expectedIndex
-PASS event.result.key is testData[7]
-PASS event.result.value is expectedIndex
-PASS event.result.key is testData[6]
-PASS event.result.value is expectedIndex
-PASS event.result.key is testData[5]
-PASS event.result.value is expectedIndex
-PASS event.result.key is testData[4]
-PASS event.result.value is expectedIndex
-PASS event.result.key is testData[3]
-PASS event.result.value is expectedIndex
-PASS event.result.key is testData[2]
-PASS event.result is null
+PASS event.target.result.primaryKey is expectedIndex
+PASS event.target.result.key is testData[7]
+PASS event.target.result.primaryKey is expectedIndex
+PASS event.target.result.key is testData[6]
+PASS event.target.result.primaryKey is expectedIndex
+PASS event.target.result.key is testData[5]
+PASS event.target.result.primaryKey is expectedIndex
+PASS event.target.result.key is testData[4]
+PASS event.target.result.primaryKey is expectedIndex
+PASS event.target.result.key is testData[3]
+PASS event.target.result.primaryKey is expectedIndex
+PASS event.target.result.key is testData[2]
+PASS event.target.result is null
Next test: upper open bound is 3; sorted descending.
-PASS event.result.value is expectedIndex
-PASS event.result.key is testData[1]
-PASS event.result.value is expectedIndex
-PASS event.result.key is testData[0]
-PASS event.result is null
+PASS event.target.result.primaryKey is expectedIndex
+PASS event.target.result.key is testData[1]
+PASS event.target.result.primaryKey is expectedIndex
+PASS event.target.result.key is testData[0]
+PASS event.target.result is null
Next test: upper bound is 3; sorted descending.
-PASS event.result.value is expectedIndex
-PASS event.result.key is testData[3]
-PASS event.result.value is expectedIndex
-PASS event.result.key is testData[2]
-PASS event.result.value is expectedIndex
-PASS event.result.key is testData[1]
-PASS event.result.value is expectedIndex
-PASS event.result.key is testData[0]
-PASS event.result is null
+PASS event.target.result.primaryKey is expectedIndex
+PASS event.target.result.key is testData[3]
+PASS event.target.result.primaryKey is expectedIndex
+PASS event.target.result.key is testData[2]
+PASS event.target.result.primaryKey is expectedIndex
+PASS event.target.result.key is testData[1]
+PASS event.target.result.primaryKey is expectedIndex
+PASS event.target.result.key is testData[0]
+PASS event.target.result is null
Next test: lower open bound is 3; upper open bound is 6; sorted ascending.
-PASS event.result.value is expectedIndex
-PASS event.result.key is testData[4]
-PASS event.result.value is expectedIndex
-PASS event.result.key is testData[5]
-PASS event.result is null
+PASS event.target.result.primaryKey is expectedIndex
+PASS event.target.result.key is testData[4]
+PASS event.target.result.primaryKey is expectedIndex
+PASS event.target.result.key is testData[5]
+PASS event.target.result is null
Next test: lower open bound is 3; upper bound is 6; sorted ascending.
-PASS event.result.value is expectedIndex
-PASS event.result.key is testData[4]
-PASS event.result.value is expectedIndex
-PASS event.result.key is testData[5]
-PASS event.result.value is expectedIndex
-PASS event.result.key is testData[6]
-PASS event.result.value is expectedIndex
-PASS event.result.key is testData[7]
-PASS event.result is null
+PASS event.target.result.primaryKey is expectedIndex
+PASS event.target.result.key is testData[4]
+PASS event.target.result.primaryKey is expectedIndex
+PASS event.target.result.key is testData[5]
+PASS event.target.result.primaryKey is expectedIndex
+PASS event.target.result.key is testData[6]
+PASS event.target.result.primaryKey is expectedIndex
+PASS event.target.result.key is testData[7]
+PASS event.target.result is null
Next test: lower bound is 3; upper open bound is 6; sorted ascending.
-PASS event.result.value is expectedIndex
-PASS event.result.key is testData[2]
-PASS event.result.value is expectedIndex
-PASS event.result.key is testData[3]
-PASS event.result.value is expectedIndex
-PASS event.result.key is testData[4]
-PASS event.result.value is expectedIndex
-PASS event.result.key is testData[5]
-PASS event.result is null
+PASS event.target.result.primaryKey is expectedIndex
+PASS event.target.result.key is testData[2]
+PASS event.target.result.primaryKey is expectedIndex
+PASS event.target.result.key is testData[3]
+PASS event.target.result.primaryKey is expectedIndex
+PASS event.target.result.key is testData[4]
+PASS event.target.result.primaryKey is expectedIndex
+PASS event.target.result.key is testData[5]
+PASS event.target.result is null
Next test: lower bound is 3; upper bound is 6; sorted ascending.
-PASS event.result.value is expectedIndex
-PASS event.result.key is testData[2]
-PASS event.result.value is expectedIndex
-PASS event.result.key is testData[3]
-PASS event.result.value is expectedIndex
-PASS event.result.key is testData[4]
-PASS event.result.value is expectedIndex
-PASS event.result.key is testData[5]
-PASS event.result.value is expectedIndex
-PASS event.result.key is testData[6]
-PASS event.result.value is expectedIndex
-PASS event.result.key is testData[7]
-PASS event.result is null
+PASS event.target.result.primaryKey is expectedIndex
+PASS event.target.result.key is testData[2]
+PASS event.target.result.primaryKey is expectedIndex
+PASS event.target.result.key is testData[3]
+PASS event.target.result.primaryKey is expectedIndex
+PASS event.target.result.key is testData[4]
+PASS event.target.result.primaryKey is expectedIndex
+PASS event.target.result.key is testData[5]
+PASS event.target.result.primaryKey is expectedIndex
+PASS event.target.result.key is testData[6]
+PASS event.target.result.primaryKey is expectedIndex
+PASS event.target.result.key is testData[7]
+PASS event.target.result is null
Next test: lower open bound is 3; upper open bound is 6; sorted descending.
-PASS event.result.value is expectedIndex
-PASS event.result.key is testData[5]
-PASS event.result.value is expectedIndex
-PASS event.result.key is testData[4]
-PASS event.result is null
+PASS event.target.result.primaryKey is expectedIndex
+PASS event.target.result.key is testData[5]
+PASS event.target.result.primaryKey is expectedIndex
+PASS event.target.result.key is testData[4]
+PASS event.target.result is null
Next test: lower open bound is 3; upper bound is 6; sorted descending.
-PASS event.result.value is expectedIndex
-PASS event.result.key is testData[7]
-PASS event.result.value is expectedIndex
-PASS event.result.key is testData[6]
-PASS event.result.value is expectedIndex
-PASS event.result.key is testData[5]
-PASS event.result.value is expectedIndex
-PASS event.result.key is testData[4]
-PASS event.result is null
+PASS event.target.result.primaryKey is expectedIndex
+PASS event.target.result.key is testData[7]
+PASS event.target.result.primaryKey is expectedIndex
+PASS event.target.result.key is testData[6]
+PASS event.target.result.primaryKey is expectedIndex
+PASS event.target.result.key is testData[5]
+PASS event.target.result.primaryKey is expectedIndex
+PASS event.target.result.key is testData[4]
+PASS event.target.result is null
Next test: lower bound is 3; upper open bound is 6; sorted descending.
-PASS event.result.value is expectedIndex
-PASS event.result.key is testData[5]
-PASS event.result.value is expectedIndex
-PASS event.result.key is testData[4]
-PASS event.result.value is expectedIndex
-PASS event.result.key is testData[3]
-PASS event.result.value is expectedIndex
-PASS event.result.key is testData[2]
-PASS event.result is null
+PASS event.target.result.primaryKey is expectedIndex
+PASS event.target.result.key is testData[5]
+PASS event.target.result.primaryKey is expectedIndex
+PASS event.target.result.key is testData[4]
+PASS event.target.result.primaryKey is expectedIndex
+PASS event.target.result.key is testData[3]
+PASS event.target.result.primaryKey is expectedIndex
+PASS event.target.result.key is testData[2]
+PASS event.target.result is null
Next test: lower bound is 3; upper bound is 6; sorted descending.
-PASS event.result.value is expectedIndex
-PASS event.result.key is testData[7]
-PASS event.result.value is expectedIndex
-PASS event.result.key is testData[6]
-PASS event.result.value is expectedIndex
-PASS event.result.key is testData[5]
-PASS event.result.value is expectedIndex
-PASS event.result.key is testData[4]
-PASS event.result.value is expectedIndex
-PASS event.result.key is testData[3]
-PASS event.result.value is expectedIndex
-PASS event.result.key is testData[2]
-PASS event.result is null
+PASS event.target.result.primaryKey is expectedIndex
+PASS event.target.result.key is testData[7]
+PASS event.target.result.primaryKey is expectedIndex
+PASS event.target.result.key is testData[6]
+PASS event.target.result.primaryKey is expectedIndex
+PASS event.target.result.key is testData[5]
+PASS event.target.result.primaryKey is expectedIndex
+PASS event.target.result.key is testData[4]
+PASS event.target.result.primaryKey is expectedIndex
+PASS event.target.result.key is testData[3]
+PASS event.target.result.primaryKey is expectedIndex
+PASS event.target.result.key is testData[2]
+PASS event.target.result is null
Next test: lower open bound is 3; upper open bound is 7; sorted ascending.
-PASS event.result.value is expectedIndex
-PASS event.result.key is testData[4]
-PASS event.result.value is expectedIndex
-PASS event.result.key is testData[5]
-PASS event.result is null
+PASS event.target.result.primaryKey is expectedIndex
+PASS event.target.result.key is testData[4]
+PASS event.target.result.primaryKey is expectedIndex
+PASS event.target.result.key is testData[5]
+PASS event.target.result is null
Next test: lower open bound is 3; upper bound is 7; sorted ascending.
-PASS event.result.value is expectedIndex
-PASS event.result.key is testData[4]
-PASS event.result.value is expectedIndex
-PASS event.result.key is testData[5]
-PASS event.result.value is expectedIndex
-PASS event.result.key is testData[6]
-PASS event.result.value is expectedIndex
-PASS event.result.key is testData[7]
-PASS event.result is null
+PASS event.target.result.primaryKey is expectedIndex
+PASS event.target.result.key is testData[4]
+PASS event.target.result.primaryKey is expectedIndex
+PASS event.target.result.key is testData[5]
+PASS event.target.result.primaryKey is expectedIndex
+PASS event.target.result.key is testData[6]
+PASS event.target.result.primaryKey is expectedIndex
+PASS event.target.result.key is testData[7]
+PASS event.target.result is null
Next test: lower bound is 3; upper open bound is 7; sorted ascending.
-PASS event.result.value is expectedIndex
-PASS event.result.key is testData[2]
-PASS event.result.value is expectedIndex
-PASS event.result.key is testData[3]
-PASS event.result.value is expectedIndex
-PASS event.result.key is testData[4]
-PASS event.result.value is expectedIndex
-PASS event.result.key is testData[5]
-PASS event.result is null
+PASS event.target.result.primaryKey is expectedIndex
+PASS event.target.result.key is testData[2]
+PASS event.target.result.primaryKey is expectedIndex
+PASS event.target.result.key is testData[3]
+PASS event.target.result.primaryKey is expectedIndex
+PASS event.target.result.key is testData[4]
+PASS event.target.result.primaryKey is expectedIndex
+PASS event.target.result.key is testData[5]
+PASS event.target.result is null
Next test: lower bound is 3; upper bound is 7; sorted ascending.
-PASS event.result.value is expectedIndex
-PASS event.result.key is testData[2]
-PASS event.result.value is expectedIndex
-PASS event.result.key is testData[3]
-PASS event.result.value is expectedIndex
-PASS event.result.key is testData[4]
-PASS event.result.value is expectedIndex
-PASS event.result.key is testData[5]
-PASS event.result.value is expectedIndex
-PASS event.result.key is testData[6]
-PASS event.result.value is expectedIndex
-PASS event.result.key is testData[7]
-PASS event.result is null
+PASS event.target.result.primaryKey is expectedIndex
+PASS event.target.result.key is testData[2]
+PASS event.target.result.primaryKey is expectedIndex
+PASS event.target.result.key is testData[3]
+PASS event.target.result.primaryKey is expectedIndex
+PASS event.target.result.key is testData[4]
+PASS event.target.result.primaryKey is expectedIndex
+PASS event.target.result.key is testData[5]
+PASS event.target.result.primaryKey is expectedIndex
+PASS event.target.result.key is testData[6]
+PASS event.target.result.primaryKey is expectedIndex
+PASS event.target.result.key is testData[7]
+PASS event.target.result is null
Next test: lower open bound is 3; upper open bound is 7; sorted descending.
-PASS event.result.value is expectedIndex
-PASS event.result.key is testData[5]
-PASS event.result.value is expectedIndex
-PASS event.result.key is testData[4]
-PASS event.result is null
+PASS event.target.result.primaryKey is expectedIndex
+PASS event.target.result.key is testData[5]
+PASS event.target.result.primaryKey is expectedIndex
+PASS event.target.result.key is testData[4]
+PASS event.target.result is null
Next test: lower open bound is 3; upper bound is 7; sorted descending.
-PASS event.result.value is expectedIndex
-PASS event.result.key is testData[7]
-PASS event.result.value is expectedIndex
-PASS event.result.key is testData[6]
-PASS event.result.value is expectedIndex
-PASS event.result.key is testData[5]
-PASS event.result.value is expectedIndex
-PASS event.result.key is testData[4]
-PASS event.result is null
+PASS event.target.result.primaryKey is expectedIndex
+PASS event.target.result.key is testData[7]
+PASS event.target.result.primaryKey is expectedIndex
+PASS event.target.result.key is testData[6]
+PASS event.target.result.primaryKey is expectedIndex
+PASS event.target.result.key is testData[5]
+PASS event.target.result.primaryKey is expectedIndex
+PASS event.target.result.key is testData[4]
+PASS event.target.result is null
Next test: lower bound is 3; upper open bound is 7; sorted descending.
-PASS event.result.value is expectedIndex
-PASS event.result.key is testData[5]
-PASS event.result.value is expectedIndex
-PASS event.result.key is testData[4]
-PASS event.result.value is expectedIndex
-PASS event.result.key is testData[3]
-PASS event.result.value is expectedIndex
-PASS event.result.key is testData[2]
-PASS event.result is null
+PASS event.target.result.primaryKey is expectedIndex
+PASS event.target.result.key is testData[5]
+PASS event.target.result.primaryKey is expectedIndex
+PASS event.target.result.key is testData[4]
+PASS event.target.result.primaryKey is expectedIndex
+PASS event.target.result.key is testData[3]
+PASS event.target.result.primaryKey is expectedIndex
+PASS event.target.result.key is testData[2]
+PASS event.target.result is null
Next test: lower bound is 3; upper bound is 7; sorted descending.
-PASS event.result.value is expectedIndex
-PASS event.result.key is testData[7]
-PASS event.result.value is expectedIndex
-PASS event.result.key is testData[6]
-PASS event.result.value is expectedIndex
-PASS event.result.key is testData[5]
-PASS event.result.value is expectedIndex
-PASS event.result.key is testData[4]
-PASS event.result.value is expectedIndex
-PASS event.result.key is testData[3]
-PASS event.result.value is expectedIndex
-PASS event.result.key is testData[2]
-PASS event.result is null
+PASS event.target.result.primaryKey is expectedIndex
+PASS event.target.result.key is testData[7]
+PASS event.target.result.primaryKey is expectedIndex
+PASS event.target.result.key is testData[6]
+PASS event.target.result.primaryKey is expectedIndex
+PASS event.target.result.key is testData[5]
+PASS event.target.result.primaryKey is expectedIndex
+PASS event.target.result.key is testData[4]
+PASS event.target.result.primaryKey is expectedIndex
+PASS event.target.result.key is testData[3]
+PASS event.target.result.primaryKey is expectedIndex
+PASS event.target.result.key is testData[2]
+PASS event.target.result is null
Next test: lower open bound is 4; sorted ascending.
-PASS event.result.value is expectedIndex
-PASS event.result.key is testData[5]
-PASS event.result.value is expectedIndex
-PASS event.result.key is testData[6]
-PASS event.result.value is expectedIndex
-PASS event.result.key is testData[7]
-PASS event.result is null
+PASS event.target.result.primaryKey is expectedIndex
+PASS event.target.result.key is testData[5]
+PASS event.target.result.primaryKey is expectedIndex
+PASS event.target.result.key is testData[6]
+PASS event.target.result.primaryKey is expectedIndex
+PASS event.target.result.key is testData[7]
+PASS event.target.result is null
Next test: lower bound is 4; sorted ascending.
-PASS event.result.value is expectedIndex
-PASS event.result.key is testData[4]
-PASS event.result.value is expectedIndex
-PASS event.result.key is testData[5]
-PASS event.result.value is expectedIndex
-PASS event.result.key is testData[6]
-PASS event.result.value is expectedIndex
-PASS event.result.key is testData[7]
-PASS event.result is null
+PASS event.target.result.primaryKey is expectedIndex
+PASS event.target.result.key is testData[4]
+PASS event.target.result.primaryKey is expectedIndex
+PASS event.target.result.key is testData[5]
+PASS event.target.result.primaryKey is expectedIndex
+PASS event.target.result.key is testData[6]
+PASS event.target.result.primaryKey is expectedIndex
+PASS event.target.result.key is testData[7]
+PASS event.target.result is null
Next test: upper open bound is 4; sorted ascending.
-PASS event.result.value is expectedIndex
-PASS event.result.key is testData[0]
-PASS event.result.value is expectedIndex
-PASS event.result.key is testData[1]
-PASS event.result.value is expectedIndex
-PASS event.result.key is testData[2]
-PASS event.result.value is expectedIndex
-PASS event.result.key is testData[3]
-PASS event.result is null
+PASS event.target.result.primaryKey is expectedIndex
+PASS event.target.result.key is testData[0]
+PASS event.target.result.primaryKey is expectedIndex
+PASS event.target.result.key is testData[1]
+PASS event.target.result.primaryKey is expectedIndex
+PASS event.target.result.key is testData[2]
+PASS event.target.result.primaryKey is expectedIndex
+PASS event.target.result.key is testData[3]
+PASS event.target.result is null
Next test: upper bound is 4; sorted ascending.
-PASS event.result.value is expectedIndex
-PASS event.result.key is testData[0]
-PASS event.result.value is expectedIndex
-PASS event.result.key is testData[1]
-PASS event.result.value is expectedIndex
-PASS event.result.key is testData[2]
-PASS event.result.value is expectedIndex
-PASS event.result.key is testData[3]
-PASS event.result.value is expectedIndex
-PASS event.result.key is testData[4]
-PASS event.result is null
+PASS event.target.result.primaryKey is expectedIndex
+PASS event.target.result.key is testData[0]
+PASS event.target.result.primaryKey is expectedIndex
+PASS event.target.result.key is testData[1]
+PASS event.target.result.primaryKey is expectedIndex
+PASS event.target.result.key is testData[2]
+PASS event.target.result.primaryKey is expectedIndex
+PASS event.target.result.key is testData[3]
+PASS event.target.result.primaryKey is expectedIndex
+PASS event.target.result.key is testData[4]
+PASS event.target.result is null
Next test: lower open bound is 4; sorted descending.
-PASS event.result.value is expectedIndex
-PASS event.result.key is testData[7]
-PASS event.result.value is expectedIndex
-PASS event.result.key is testData[6]
-PASS event.result.value is expectedIndex
-PASS event.result.key is testData[5]
-PASS event.result is null
+PASS event.target.result.primaryKey is expectedIndex
+PASS event.target.result.key is testData[7]
+PASS event.target.result.primaryKey is expectedIndex
+PASS event.target.result.key is testData[6]
+PASS event.target.result.primaryKey is expectedIndex
+PASS event.target.result.key is testData[5]
+PASS event.target.result is null
Next test: lower bound is 4; sorted descending.
-PASS event.result.value is expectedIndex
-PASS event.result.key is testData[7]
-PASS event.result.value is expectedIndex
-PASS event.result.key is testData[6]
-PASS event.result.value is expectedIndex
-PASS event.result.key is testData[5]
-PASS event.result.value is expectedIndex
-PASS event.result.key is testData[4]
-PASS event.result is null
+PASS event.target.result.primaryKey is expectedIndex
+PASS event.target.result.key is testData[7]
+PASS event.target.result.primaryKey is expectedIndex
+PASS event.target.result.key is testData[6]
+PASS event.target.result.primaryKey is expectedIndex
+PASS event.target.result.key is testData[5]
+PASS event.target.result.primaryKey is expectedIndex
+PASS event.target.result.key is testData[4]
+PASS event.target.result is null
Next test: upper open bound is 4; sorted descending.
-PASS event.result.value is expectedIndex
-PASS event.result.key is testData[3]
-PASS event.result.value is expectedIndex
-PASS event.result.key is testData[2]
-PASS event.result.value is expectedIndex
-PASS event.result.key is testData[1]
-PASS event.result.value is expectedIndex
-PASS event.result.key is testData[0]
-PASS event.result is null
+PASS event.target.result.primaryKey is expectedIndex
+PASS event.target.result.key is testData[3]
+PASS event.target.result.primaryKey is expectedIndex
+PASS event.target.result.key is testData[2]
+PASS event.target.result.primaryKey is expectedIndex
+PASS event.target.result.key is testData[1]
+PASS event.target.result.primaryKey is expectedIndex
+PASS event.target.result.key is testData[0]
+PASS event.target.result is null
Next test: upper bound is 4; sorted descending.
-PASS event.result.value is expectedIndex
-PASS event.result.key is testData[4]
-PASS event.result.value is expectedIndex
-PASS event.result.key is testData[3]
-PASS event.result.value is expectedIndex
-PASS event.result.key is testData[2]
-PASS event.result.value is expectedIndex
-PASS event.result.key is testData[1]
-PASS event.result.value is expectedIndex
-PASS event.result.key is testData[0]
-PASS event.result is null
+PASS event.target.result.primaryKey is expectedIndex
+PASS event.target.result.key is testData[4]
+PASS event.target.result.primaryKey is expectedIndex
+PASS event.target.result.key is testData[3]
+PASS event.target.result.primaryKey is expectedIndex
+PASS event.target.result.key is testData[2]
+PASS event.target.result.primaryKey is expectedIndex
+PASS event.target.result.key is testData[1]
+PASS event.target.result.primaryKey is expectedIndex
+PASS event.target.result.key is testData[0]
+PASS event.target.result is null
Next test: lower open bound is 4; upper open bound is 6; sorted ascending.
-PASS event.result.value is expectedIndex
-PASS event.result.key is testData[5]
-PASS event.result is null
+PASS event.target.result.primaryKey is expectedIndex
+PASS event.target.result.key is testData[5]
+PASS event.target.result is null
Next test: lower open bound is 4; upper bound is 6; sorted ascending.
-PASS event.result.value is expectedIndex
-PASS event.result.key is testData[5]
-PASS event.result.value is expectedIndex
-PASS event.result.key is testData[6]
-PASS event.result.value is expectedIndex
-PASS event.result.key is testData[7]
-PASS event.result is null
+PASS event.target.result.primaryKey is expectedIndex
+PASS event.target.result.key is testData[5]
+PASS event.target.result.primaryKey is expectedIndex
+PASS event.target.result.key is testData[6]
+PASS event.target.result.primaryKey is expectedIndex
+PASS event.target.result.key is testData[7]
+PASS event.target.result is null
Next test: lower bound is 4; upper open bound is 6; sorted ascending.
-PASS event.result.value is expectedIndex
-PASS event.result.key is testData[4]
-PASS event.result.value is expectedIndex
-PASS event.result.key is testData[5]
-PASS event.result is null
+PASS event.target.result.primaryKey is expectedIndex
+PASS event.target.result.key is testData[4]
+PASS event.target.result.primaryKey is expectedIndex
+PASS event.target.result.key is testData[5]
+PASS event.target.result is null
Next test: lower bound is 4; upper bound is 6; sorted ascending.
-PASS event.result.value is expectedIndex
-PASS event.result.key is testData[4]
-PASS event.result.value is expectedIndex
-PASS event.result.key is testData[5]
-PASS event.result.value is expectedIndex
-PASS event.result.key is testData[6]
-PASS event.result.value is expectedIndex
-PASS event.result.key is testData[7]
-PASS event.result is null
+PASS event.target.result.primaryKey is expectedIndex
+PASS event.target.result.key is testData[4]
+PASS event.target.result.primaryKey is expectedIndex
+PASS event.target.result.key is testData[5]
+PASS event.target.result.primaryKey is expectedIndex
+PASS event.target.result.key is testData[6]
+PASS event.target.result.primaryKey is expectedIndex
+PASS event.target.result.key is testData[7]
+PASS event.target.result is null
Next test: lower open bound is 4; upper open bound is 6; sorted descending.
-PASS event.result.value is expectedIndex
-PASS event.result.key is testData[5]
-PASS event.result is null
+PASS event.target.result.primaryKey is expectedIndex
+PASS event.target.result.key is testData[5]
+PASS event.target.result is null
Next test: lower open bound is 4; upper bound is 6; sorted descending.
-PASS event.result.value is expectedIndex
-PASS event.result.key is testData[7]
-PASS event.result.value is expectedIndex
-PASS event.result.key is testData[6]
-PASS event.result.value is expectedIndex
-PASS event.result.key is testData[5]
-PASS event.result is null
+PASS event.target.result.primaryKey is expectedIndex
+PASS event.target.result.key is testData[7]
+PASS event.target.result.primaryKey is expectedIndex
+PASS event.target.result.key is testData[6]
+PASS event.target.result.primaryKey is expectedIndex
+PASS event.target.result.key is testData[5]
+PASS event.target.result is null
Next test: lower bound is 4; upper open bound is 6; sorted descending.
-PASS event.result.value is expectedIndex
-PASS event.result.key is testData[5]
-PASS event.result.value is expectedIndex
-PASS event.result.key is testData[4]
-PASS event.result is null
+PASS event.target.result.primaryKey is expectedIndex
+PASS event.target.result.key is testData[5]
+PASS event.target.result.primaryKey is expectedIndex
+PASS event.target.result.key is testData[4]
+PASS event.target.result is null
Next test: lower bound is 4; upper bound is 6; sorted descending.
-PASS event.result.value is expectedIndex
-PASS event.result.key is testData[7]
-PASS event.result.value is expectedIndex
-PASS event.result.key is testData[6]
-PASS event.result.value is expectedIndex
-PASS event.result.key is testData[5]
-PASS event.result.value is expectedIndex
-PASS event.result.key is testData[4]
-PASS event.result is null
+PASS event.target.result.primaryKey is expectedIndex
+PASS event.target.result.key is testData[7]
+PASS event.target.result.primaryKey is expectedIndex
+PASS event.target.result.key is testData[6]
+PASS event.target.result.primaryKey is expectedIndex
+PASS event.target.result.key is testData[5]
+PASS event.target.result.primaryKey is expectedIndex
+PASS event.target.result.key is testData[4]
+PASS event.target.result is null
Next test: lower open bound is 4; upper open bound is 7; sorted ascending.
-PASS event.result.value is expectedIndex
-PASS event.result.key is testData[5]
-PASS event.result is null
+PASS event.target.result.primaryKey is expectedIndex
+PASS event.target.result.key is testData[5]
+PASS event.target.result is null
Next test: lower open bound is 4; upper bound is 7; sorted ascending.
-PASS event.result.value is expectedIndex
-PASS event.result.key is testData[5]
-PASS event.result.value is expectedIndex
-PASS event.result.key is testData[6]
-PASS event.result.value is expectedIndex
-PASS event.result.key is testData[7]
-PASS event.result is null
+PASS event.target.result.primaryKey is expectedIndex
+PASS event.target.result.key is testData[5]
+PASS event.target.result.primaryKey is expectedIndex
+PASS event.target.result.key is testData[6]
+PASS event.target.result.primaryKey is expectedIndex
+PASS event.target.result.key is testData[7]
+PASS event.target.result is null
Next test: lower bound is 4; upper open bound is 7; sorted ascending.
-PASS event.result.value is expectedIndex
-PASS event.result.key is testData[4]
-PASS event.result.value is expectedIndex
-PASS event.result.key is testData[5]
-PASS event.result is null
+PASS event.target.result.primaryKey is expectedIndex
+PASS event.target.result.key is testData[4]
+PASS event.target.result.primaryKey is expectedIndex
+PASS event.target.result.key is testData[5]
+PASS event.target.result is null
Next test: lower bound is 4; upper bound is 7; sorted ascending.
-PASS event.result.value is expectedIndex
-PASS event.result.key is testData[4]
-PASS event.result.value is expectedIndex
-PASS event.result.key is testData[5]
-PASS event.result.value is expectedIndex
-PASS event.result.key is testData[6]
-PASS event.result.value is expectedIndex
-PASS event.result.key is testData[7]
-PASS event.result is null
+PASS event.target.result.primaryKey is expectedIndex
+PASS event.target.result.key is testData[4]
+PASS event.target.result.primaryKey is expectedIndex
+PASS event.target.result.key is testData[5]
+PASS event.target.result.primaryKey is expectedIndex
+PASS event.target.result.key is testData[6]
+PASS event.target.result.primaryKey is expectedIndex
+PASS event.target.result.key is testData[7]
+PASS event.target.result is null
Next test: lower open bound is 4; upper open bound is 7; sorted descending.
-PASS event.result.value is expectedIndex
-PASS event.result.key is testData[5]
-PASS event.result is null
+PASS event.target.result.primaryKey is expectedIndex
+PASS event.target.result.key is testData[5]
+PASS event.target.result is null
Next test: lower open bound is 4; upper bound is 7; sorted descending.
-PASS event.result.value is expectedIndex
-PASS event.result.key is testData[7]
-PASS event.result.value is expectedIndex
-PASS event.result.key is testData[6]
-PASS event.result.value is expectedIndex
-PASS event.result.key is testData[5]
-PASS event.result is null
+PASS event.target.result.primaryKey is expectedIndex
+PASS event.target.result.key is testData[7]
+PASS event.target.result.primaryKey is expectedIndex
+PASS event.target.result.key is testData[6]
+PASS event.target.result.primaryKey is expectedIndex
+PASS event.target.result.key is testData[5]
+PASS event.target.result is null
Next test: lower bound is 4; upper open bound is 7; sorted descending.
-PASS event.result.value is expectedIndex
-PASS event.result.key is testData[5]
-PASS event.result.value is expectedIndex
-PASS event.result.key is testData[4]
-PASS event.result is null
+PASS event.target.result.primaryKey is expectedIndex
+PASS event.target.result.key is testData[5]
+PASS event.target.result.primaryKey is expectedIndex
+PASS event.target.result.key is testData[4]
+PASS event.target.result is null
Next test: lower bound is 4; upper bound is 7; sorted descending.
-PASS event.result.value is expectedIndex
-PASS event.result.key is testData[7]
-PASS event.result.value is expectedIndex
-PASS event.result.key is testData[6]
-PASS event.result.value is expectedIndex
-PASS event.result.key is testData[5]
-PASS event.result.value is expectedIndex
-PASS event.result.key is testData[4]
-PASS event.result is null
+PASS event.target.result.primaryKey is expectedIndex
+PASS event.target.result.key is testData[7]
+PASS event.target.result.primaryKey is expectedIndex
+PASS event.target.result.key is testData[6]
+PASS event.target.result.primaryKey is expectedIndex
+PASS event.target.result.key is testData[5]
+PASS event.target.result.primaryKey is expectedIndex
+PASS event.target.result.key is testData[4]
+PASS event.target.result is null
Next test: lower open bound is 5; sorted ascending.
-PASS event.result.value is expectedIndex
-PASS event.result.key is testData[6]
-PASS event.result.value is expectedIndex
-PASS event.result.key is testData[7]
-PASS event.result is null
+PASS event.target.result.primaryKey is expectedIndex
+PASS event.target.result.key is testData[6]
+PASS event.target.result.primaryKey is expectedIndex
+PASS event.target.result.key is testData[7]
+PASS event.target.result is null
Next test: lower bound is 5; sorted ascending.
-PASS event.result.value is expectedIndex
-PASS event.result.key is testData[5]
-PASS event.result.value is expectedIndex
-PASS event.result.key is testData[6]
-PASS event.result.value is expectedIndex
-PASS event.result.key is testData[7]
-PASS event.result is null
+PASS event.target.result.primaryKey is expectedIndex
+PASS event.target.result.key is testData[5]
+PASS event.target.result.primaryKey is expectedIndex
+PASS event.target.result.key is testData[6]
+PASS event.target.result.primaryKey is expectedIndex
+PASS event.target.result.key is testData[7]
+PASS event.target.result is null
Next test: upper open bound is 5; sorted ascending.
-PASS event.result.value is expectedIndex
-PASS event.result.key is testData[0]
-PASS event.result.value is expectedIndex
-PASS event.result.key is testData[1]
-PASS event.result.value is expectedIndex
-PASS event.result.key is testData[2]
-PASS event.result.value is expectedIndex
-PASS event.result.key is testData[3]
-PASS event.result.value is expectedIndex
-PASS event.result.key is testData[4]
-PASS event.result is null
+PASS event.target.result.primaryKey is expectedIndex
+PASS event.target.result.key is testData[0]
+PASS event.target.result.primaryKey is expectedIndex
+PASS event.target.result.key is testData[1]
+PASS event.target.result.primaryKey is expectedIndex
+PASS event.target.result.key is testData[2]
+PASS event.target.result.primaryKey is expectedIndex
+PASS event.target.result.key is testData[3]
+PASS event.target.result.primaryKey is expectedIndex
+PASS event.target.result.key is testData[4]
+PASS event.target.result is null
Next test: upper bound is 5; sorted ascending.
-PASS event.result.value is expectedIndex
-PASS event.result.key is testData[0]
-PASS event.result.value is expectedIndex
-PASS event.result.key is testData[1]
-PASS event.result.value is expectedIndex
-PASS event.result.key is testData[2]
-PASS event.result.value is expectedIndex
-PASS event.result.key is testData[3]
-PASS event.result.value is expectedIndex
-PASS event.result.key is testData[4]
-PASS event.result.value is expectedIndex
-PASS event.result.key is testData[5]
-PASS event.result is null
+PASS event.target.result.primaryKey is expectedIndex
+PASS event.target.result.key is testData[0]
+PASS event.target.result.primaryKey is expectedIndex
+PASS event.target.result.key is testData[1]
+PASS event.target.result.primaryKey is expectedIndex
+PASS event.target.result.key is testData[2]
+PASS event.target.result.primaryKey is expectedIndex
+PASS event.target.result.key is testData[3]
+PASS event.target.result.primaryKey is expectedIndex
+PASS event.target.result.key is testData[4]
+PASS event.target.result.primaryKey is expectedIndex
+PASS event.target.result.key is testData[5]
+PASS event.target.result is null
Next test: lower open bound is 5; sorted descending.
-PASS event.result.value is expectedIndex
-PASS event.result.key is testData[7]
-PASS event.result.value is expectedIndex
-PASS event.result.key is testData[6]
-PASS event.result is null
+PASS event.target.result.primaryKey is expectedIndex
+PASS event.target.result.key is testData[7]
+PASS event.target.result.primaryKey is expectedIndex
+PASS event.target.result.key is testData[6]
+PASS event.target.result is null
Next test: lower bound is 5; sorted descending.
-PASS event.result.value is expectedIndex
-PASS event.result.key is testData[7]
-PASS event.result.value is expectedIndex
-PASS event.result.key is testData[6]
-PASS event.result.value is expectedIndex
-PASS event.result.key is testData[5]
-PASS event.result is null
+PASS event.target.result.primaryKey is expectedIndex
+PASS event.target.result.key is testData[7]
+PASS event.target.result.primaryKey is expectedIndex
+PASS event.target.result.key is testData[6]
+PASS event.target.result.primaryKey is expectedIndex
+PASS event.target.result.key is testData[5]
+PASS event.target.result is null
Next test: upper open bound is 5; sorted descending.
-PASS event.result.value is expectedIndex
-PASS event.result.key is testData[4]
-PASS event.result.value is expectedIndex
-PASS event.result.key is testData[3]
-PASS event.result.value is expectedIndex
-PASS event.result.key is testData[2]
-PASS event.result.value is expectedIndex
-PASS event.result.key is testData[1]
-PASS event.result.value is expectedIndex
-PASS event.result.key is testData[0]
-PASS event.result is null
+PASS event.target.result.primaryKey is expectedIndex
+PASS event.target.result.key is testData[4]
+PASS event.target.result.primaryKey is expectedIndex
+PASS event.target.result.key is testData[3]
+PASS event.target.result.primaryKey is expectedIndex
+PASS event.target.result.key is testData[2]
+PASS event.target.result.primaryKey is expectedIndex
+PASS event.target.result.key is testData[1]
+PASS event.target.result.primaryKey is expectedIndex
+PASS event.target.result.key is testData[0]
+PASS event.target.result is null
Next test: upper bound is 5; sorted descending.
-PASS event.result.value is expectedIndex
-PASS event.result.key is testData[5]
-PASS event.result.value is expectedIndex
-PASS event.result.key is testData[4]
-PASS event.result.value is expectedIndex
-PASS event.result.key is testData[3]
-PASS event.result.value is expectedIndex
-PASS event.result.key is testData[2]
-PASS event.result.value is expectedIndex
-PASS event.result.key is testData[1]
-PASS event.result.value is expectedIndex
-PASS event.result.key is testData[0]
-PASS event.result is null
+PASS event.target.result.primaryKey is expectedIndex
+PASS event.target.result.key is testData[5]
+PASS event.target.result.primaryKey is expectedIndex
+PASS event.target.result.key is testData[4]
+PASS event.target.result.primaryKey is expectedIndex
+PASS event.target.result.key is testData[3]
+PASS event.target.result.primaryKey is expectedIndex
+PASS event.target.result.key is testData[2]
+PASS event.target.result.primaryKey is expectedIndex
+PASS event.target.result.key is testData[1]
+PASS event.target.result.primaryKey is expectedIndex
+PASS event.target.result.key is testData[0]
+PASS event.target.result is null
Next test: lower open bound is 5; upper open bound is 6; sorted ascending.
-PASS event.result is null
+PASS event.target.result is null
Next test: lower open bound is 5; upper bound is 6; sorted ascending.
-PASS event.result.value is expectedIndex
-PASS event.result.key is testData[6]
-PASS event.result.value is expectedIndex
-PASS event.result.key is testData[7]
-PASS event.result is null
+PASS event.target.result.primaryKey is expectedIndex
+PASS event.target.result.key is testData[6]
+PASS event.target.result.primaryKey is expectedIndex
+PASS event.target.result.key is testData[7]
+PASS event.target.result is null
Next test: lower bound is 5; upper open bound is 6; sorted ascending.
-PASS event.result.value is expectedIndex
-PASS event.result.key is testData[5]
-PASS event.result is null
+PASS event.target.result.primaryKey is expectedIndex
+PASS event.target.result.key is testData[5]
+PASS event.target.result is null
Next test: lower bound is 5; upper bound is 6; sorted ascending.
-PASS event.result.value is expectedIndex
-PASS event.result.key is testData[5]
-PASS event.result.value is expectedIndex
-PASS event.result.key is testData[6]
-PASS event.result.value is expectedIndex
-PASS event.result.key is testData[7]
-PASS event.result is null
+PASS event.target.result.primaryKey is expectedIndex
+PASS event.target.result.key is testData[5]
+PASS event.target.result.primaryKey is expectedIndex
+PASS event.target.result.key is testData[6]
+PASS event.target.result.primaryKey is expectedIndex
+PASS event.target.result.key is testData[7]
+PASS event.target.result is null
Next test: lower open bound is 5; upper open bound is 6; sorted descending.
-PASS event.result is null
+PASS event.target.result is null
Next test: lower open bound is 5; upper bound is 6; sorted descending.
-PASS event.result.value is expectedIndex
-PASS event.result.key is testData[7]
-PASS event.result.value is expectedIndex
-PASS event.result.key is testData[6]
-PASS event.result is null
+PASS event.target.result.primaryKey is expectedIndex
+PASS event.target.result.key is testData[7]
+PASS event.target.result.primaryKey is expectedIndex
+PASS event.target.result.key is testData[6]
+PASS event.target.result is null
Next test: lower bound is 5; upper open bound is 6; sorted descending.
-PASS event.result.value is expectedIndex
-PASS event.result.key is testData[5]
-PASS event.result is null
+PASS event.target.result.primaryKey is expectedIndex
+PASS event.target.result.key is testData[5]
+PASS event.target.result is null
Next test: lower bound is 5; upper bound is 6; sorted descending.
-PASS event.result.value is expectedIndex
-PASS event.result.key is testData[7]
-PASS event.result.value is expectedIndex
-PASS event.result.key is testData[6]
-PASS event.result.value is expectedIndex
-PASS event.result.key is testData[5]
-PASS event.result is null
+PASS event.target.result.primaryKey is expectedIndex
+PASS event.target.result.key is testData[7]
+PASS event.target.result.primaryKey is expectedIndex
+PASS event.target.result.key is testData[6]
+PASS event.target.result.primaryKey is expectedIndex
+PASS event.target.result.key is testData[5]
+PASS event.target.result is null
Next test: lower open bound is 5; upper open bound is 7; sorted ascending.
-PASS event.result is null
+PASS event.target.result is null
Next test: lower open bound is 5; upper bound is 7; sorted ascending.
-PASS event.result.value is expectedIndex
-PASS event.result.key is testData[6]
-PASS event.result.value is expectedIndex
-PASS event.result.key is testData[7]
-PASS event.result is null
+PASS event.target.result.primaryKey is expectedIndex
+PASS event.target.result.key is testData[6]
+PASS event.target.result.primaryKey is expectedIndex
+PASS event.target.result.key is testData[7]
+PASS event.target.result is null
Next test: lower bound is 5; upper open bound is 7; sorted ascending.
-PASS event.result.value is expectedIndex
-PASS event.result.key is testData[5]
-PASS event.result is null
+PASS event.target.result.primaryKey is expectedIndex
+PASS event.target.result.key is testData[5]
+PASS event.target.result is null
Next test: lower bound is 5; upper bound is 7; sorted ascending.
-PASS event.result.value is expectedIndex
-PASS event.result.key is testData[5]
-PASS event.result.value is expectedIndex
-PASS event.result.key is testData[6]
-PASS event.result.value is expectedIndex
-PASS event.result.key is testData[7]
-PASS event.result is null
+PASS event.target.result.primaryKey is expectedIndex
+PASS event.target.result.key is testData[5]
+PASS event.target.result.primaryKey is expectedIndex
+PASS event.target.result.key is testData[6]
+PASS event.target.result.primaryKey is expectedIndex
+PASS event.target.result.key is testData[7]
+PASS event.target.result is null
Next test: lower open bound is 5; upper open bound is 7; sorted descending.
-PASS event.result is null
+PASS event.target.result is null
Next test: lower open bound is 5; upper bound is 7; sorted descending.
-PASS event.result.value is expectedIndex
-PASS event.result.key is testData[7]
-PASS event.result.value is expectedIndex
-PASS event.result.key is testData[6]
-PASS event.result is null
+PASS event.target.result.primaryKey is expectedIndex
+PASS event.target.result.key is testData[7]
+PASS event.target.result.primaryKey is expectedIndex
+PASS event.target.result.key is testData[6]
+PASS event.target.result is null
Next test: lower bound is 5; upper open bound is 7; sorted descending.
-PASS event.result.value is expectedIndex
-PASS event.result.key is testData[5]
-PASS event.result is null
+PASS event.target.result.primaryKey is expectedIndex
+PASS event.target.result.key is testData[5]
+PASS event.target.result is null
Next test: lower bound is 5; upper bound is 7; sorted descending.
-PASS event.result.value is expectedIndex
-PASS event.result.key is testData[7]
-PASS event.result.value is expectedIndex
-PASS event.result.key is testData[6]
-PASS event.result.value is expectedIndex
-PASS event.result.key is testData[5]
-PASS event.result is null
+PASS event.target.result.primaryKey is expectedIndex
+PASS event.target.result.key is testData[7]
+PASS event.target.result.primaryKey is expectedIndex
+PASS event.target.result.key is testData[6]
+PASS event.target.result.primaryKey is expectedIndex
+PASS event.target.result.key is testData[5]
+PASS event.target.result is null
Next test: lower open bound is 6; sorted ascending.
-PASS event.result is null
+PASS event.target.result is null
Next test: lower bound is 6; sorted ascending.
-PASS event.result.value is expectedIndex
-PASS event.result.key is testData[6]
-PASS event.result.value is expectedIndex
-PASS event.result.key is testData[7]
-PASS event.result is null
+PASS event.target.result.primaryKey is expectedIndex
+PASS event.target.result.key is testData[6]
+PASS event.target.result.primaryKey is expectedIndex
+PASS event.target.result.key is testData[7]
+PASS event.target.result is null
Next test: upper open bound is 6; sorted ascending.
-PASS event.result.value is expectedIndex
-PASS event.result.key is testData[0]
-PASS event.result.value is expectedIndex
-PASS event.result.key is testData[1]
-PASS event.result.value is expectedIndex
-PASS event.result.key is testData[2]
-PASS event.result.value is expectedIndex
-PASS event.result.key is testData[3]
-PASS event.result.value is expectedIndex
-PASS event.result.key is testData[4]
-PASS event.result.value is expectedIndex
-PASS event.result.key is testData[5]
-PASS event.result is null
+PASS event.target.result.primaryKey is expectedIndex
+PASS event.target.result.key is testData[0]
+PASS event.target.result.primaryKey is expectedIndex
+PASS event.target.result.key is testData[1]
+PASS event.target.result.primaryKey is expectedIndex
+PASS event.target.result.key is testData[2]
+PASS event.target.result.primaryKey is expectedIndex
+PASS event.target.result.key is testData[3]
+PASS event.target.result.primaryKey is expectedIndex
+PASS event.target.result.key is testData[4]
+PASS event.target.result.primaryKey is expectedIndex
+PASS event.target.result.key is testData[5]
+PASS event.target.result is null
Next test: upper bound is 6; sorted ascending.
-PASS event.result.value is expectedIndex
-PASS event.result.key is testData[0]
-PASS event.result.value is expectedIndex
-PASS event.result.key is testData[1]
-PASS event.result.value is expectedIndex
-PASS event.result.key is testData[2]
-PASS event.result.value is expectedIndex
-PASS event.result.key is testData[3]
-PASS event.result.value is expectedIndex
-PASS event.result.key is testData[4]
-PASS event.result.value is expectedIndex
-PASS event.result.key is testData[5]
-PASS event.result.value is expectedIndex
-PASS event.result.key is testData[6]
-PASS event.result.value is expectedIndex
-PASS event.result.key is testData[7]
-PASS event.result is null
+PASS event.target.result.primaryKey is expectedIndex
+PASS event.target.result.key is testData[0]
+PASS event.target.result.primaryKey is expectedIndex
+PASS event.target.result.key is testData[1]
+PASS event.target.result.primaryKey is expectedIndex
+PASS event.target.result.key is testData[2]
+PASS event.target.result.primaryKey is expectedIndex
+PASS event.target.result.key is testData[3]
+PASS event.target.result.primaryKey is expectedIndex
+PASS event.target.result.key is testData[4]
+PASS event.target.result.primaryKey is expectedIndex
+PASS event.target.result.key is testData[5]
+PASS event.target.result.primaryKey is expectedIndex
+PASS event.target.result.key is testData[6]
+PASS event.target.result.primaryKey is expectedIndex
+PASS event.target.result.key is testData[7]
+PASS event.target.result is null
Next test: lower open bound is 6; sorted descending.
-PASS event.result is null
+PASS event.target.result is null
Next test: lower bound is 6; sorted descending.
-PASS event.result.value is expectedIndex
-PASS event.result.key is testData[7]
-PASS event.result.value is expectedIndex
-PASS event.result.key is testData[6]
-PASS event.result is null
+PASS event.target.result.primaryKey is expectedIndex
+PASS event.target.result.key is testData[7]
+PASS event.target.result.primaryKey is expectedIndex
+PASS event.target.result.key is testData[6]
+PASS event.target.result is null
Next test: upper open bound is 6; sorted descending.
-PASS event.result.value is expectedIndex
-PASS event.result.key is testData[5]
-PASS event.result.value is expectedIndex
-PASS event.result.key is testData[4]
-PASS event.result.value is expectedIndex
-PASS event.result.key is testData[3]
-PASS event.result.value is expectedIndex
-PASS event.result.key is testData[2]
-PASS event.result.value is expectedIndex
-PASS event.result.key is testData[1]
-PASS event.result.value is expectedIndex
-PASS event.result.key is testData[0]
-PASS event.result is null
+PASS event.target.result.primaryKey is expectedIndex
+PASS event.target.result.key is testData[5]
+PASS event.target.result.primaryKey is expectedIndex
+PASS event.target.result.key is testData[4]
+PASS event.target.result.primaryKey is expectedIndex
+PASS event.target.result.key is testData[3]
+PASS event.target.result.primaryKey is expectedIndex
+PASS event.target.result.key is testData[2]
+PASS event.target.result.primaryKey is expectedIndex
+PASS event.target.result.key is testData[1]
+PASS event.target.result.primaryKey is expectedIndex
+PASS event.target.result.key is testData[0]
+PASS event.target.result is null
Next test: upper bound is 6; sorted descending.
-PASS event.result.value is expectedIndex
-PASS event.result.key is testData[7]
-PASS event.result.value is expectedIndex
-PASS event.result.key is testData[6]
-PASS event.result.value is expectedIndex
-PASS event.result.key is testData[5]
-PASS event.result.value is expectedIndex
-PASS event.result.key is testData[4]
-PASS event.result.value is expectedIndex
-PASS event.result.key is testData[3]
-PASS event.result.value is expectedIndex
-PASS event.result.key is testData[2]
-PASS event.result.value is expectedIndex
-PASS event.result.key is testData[1]
-PASS event.result.value is expectedIndex
-PASS event.result.key is testData[0]
-PASS event.result is null
+PASS event.target.result.primaryKey is expectedIndex
+PASS event.target.result.key is testData[7]
+PASS event.target.result.primaryKey is expectedIndex
+PASS event.target.result.key is testData[6]
+PASS event.target.result.primaryKey is expectedIndex
+PASS event.target.result.key is testData[5]
+PASS event.target.result.primaryKey is expectedIndex
+PASS event.target.result.key is testData[4]
+PASS event.target.result.primaryKey is expectedIndex
+PASS event.target.result.key is testData[3]
+PASS event.target.result.primaryKey is expectedIndex
+PASS event.target.result.key is testData[2]
+PASS event.target.result.primaryKey is expectedIndex
+PASS event.target.result.key is testData[1]
+PASS event.target.result.primaryKey is expectedIndex
+PASS event.target.result.key is testData[0]
+PASS event.target.result is null
Next test: lower open bound is 6; upper open bound is 6; sorted ascending.
-PASS event.result is null
+PASS event.target.result is null
Next test: lower open bound is 6; upper bound is 6; sorted ascending.
-PASS event.result is null
+PASS event.target.result is null
Next test: lower bound is 6; upper open bound is 6; sorted ascending.
-PASS event.result is null
+PASS event.target.result is null
Next test: lower bound is 6; upper bound is 6; sorted ascending.
-PASS event.result.value is expectedIndex
-PASS event.result.key is testData[6]
-PASS event.result.value is expectedIndex
-PASS event.result.key is testData[7]
-PASS event.result is null
+PASS event.target.result.primaryKey is expectedIndex
+PASS event.target.result.key is testData[6]
+PASS event.target.result.primaryKey is expectedIndex
+PASS event.target.result.key is testData[7]
+PASS event.target.result is null
Next test: lower open bound is 6; upper open bound is 6; sorted descending.
-PASS event.result is null
+PASS event.target.result is null
Next test: lower open bound is 6; upper bound is 6; sorted descending.
-PASS event.result is null
+PASS event.target.result is null
Next test: lower bound is 6; upper open bound is 6; sorted descending.
-PASS event.result is null
+PASS event.target.result is null
Next test: lower bound is 6; upper bound is 6; sorted descending.
-PASS event.result.value is expectedIndex
-PASS event.result.key is testData[7]
-PASS event.result.value is expectedIndex
-PASS event.result.key is testData[6]
-PASS event.result is null
+PASS event.target.result.primaryKey is expectedIndex
+PASS event.target.result.key is testData[7]
+PASS event.target.result.primaryKey is expectedIndex
+PASS event.target.result.key is testData[6]
+PASS event.target.result is null
Next test: lower open bound is 6; upper open bound is 7; sorted ascending.
-PASS event.result is null
+PASS event.target.result is null
Next test: lower open bound is 6; upper bound is 7; sorted ascending.
-PASS event.result is null
+PASS event.target.result is null
Next test: lower bound is 6; upper open bound is 7; sorted ascending.
-PASS event.result is null
+PASS event.target.result is null
Next test: lower bound is 6; upper bound is 7; sorted ascending.
-PASS event.result.value is expectedIndex
-PASS event.result.key is testData[6]
-PASS event.result.value is expectedIndex
-PASS event.result.key is testData[7]
-PASS event.result is null
+PASS event.target.result.primaryKey is expectedIndex
+PASS event.target.result.key is testData[6]
+PASS event.target.result.primaryKey is expectedIndex
+PASS event.target.result.key is testData[7]
+PASS event.target.result is null
Next test: lower open bound is 6; upper open bound is 7; sorted descending.
-PASS event.result is null
+PASS event.target.result is null
Next test: lower open bound is 6; upper bound is 7; sorted descending.
-PASS event.result is null
+PASS event.target.result is null
Next test: lower bound is 6; upper open bound is 7; sorted descending.
-PASS event.result is null
+PASS event.target.result is null
Next test: lower bound is 6; upper bound is 7; sorted descending.
-PASS event.result.value is expectedIndex
-PASS event.result.key is testData[7]
-PASS event.result.value is expectedIndex
-PASS event.result.key is testData[6]
-PASS event.result is null
+PASS event.target.result.primaryKey is expectedIndex
+PASS event.target.result.key is testData[7]
+PASS event.target.result.primaryKey is expectedIndex
+PASS event.target.result.key is testData[6]
+PASS event.target.result is null
Next test: lower open bound is 7; sorted ascending.
-PASS event.result is null
+PASS event.target.result is null
Next test: lower bound is 7; sorted ascending.
-PASS event.result.value is expectedIndex
-PASS event.result.key is testData[6]
-PASS event.result.value is expectedIndex
-PASS event.result.key is testData[7]
-PASS event.result is null
+PASS event.target.result.primaryKey is expectedIndex
+PASS event.target.result.key is testData[6]
+PASS event.target.result.primaryKey is expectedIndex
+PASS event.target.result.key is testData[7]
+PASS event.target.result is null
Next test: upper open bound is 7; sorted ascending.
-PASS event.result.value is expectedIndex
-PASS event.result.key is testData[0]
-PASS event.result.value is expectedIndex
-PASS event.result.key is testData[1]
-PASS event.result.value is expectedIndex
-PASS event.result.key is testData[2]
-PASS event.result.value is expectedIndex
-PASS event.result.key is testData[3]
-PASS event.result.value is expectedIndex
-PASS event.result.key is testData[4]
-PASS event.result.value is expectedIndex
-PASS event.result.key is testData[5]
-PASS event.result is null
+PASS event.target.result.primaryKey is expectedIndex
+PASS event.target.result.key is testData[0]
+PASS event.target.result.primaryKey is expectedIndex
+PASS event.target.result.key is testData[1]
+PASS event.target.result.primaryKey is expectedIndex
+PASS event.target.result.key is testData[2]
+PASS event.target.result.primaryKey is expectedIndex
+PASS event.target.result.key is testData[3]
+PASS event.target.result.primaryKey is expectedIndex
+PASS event.target.result.key is testData[4]
+PASS event.target.result.primaryKey is expectedIndex
+PASS event.target.result.key is testData[5]
+PASS event.target.result is null
Next test: upper bound is 7; sorted ascending.
-PASS event.result.value is expectedIndex
-PASS event.result.key is testData[0]
-PASS event.result.value is expectedIndex
-PASS event.result.key is testData[1]
-PASS event.result.value is expectedIndex
-PASS event.result.key is testData[2]
-PASS event.result.value is expectedIndex
-PASS event.result.key is testData[3]
-PASS event.result.value is expectedIndex
-PASS event.result.key is testData[4]
-PASS event.result.value is expectedIndex
-PASS event.result.key is testData[5]
-PASS event.result.value is expectedIndex
-PASS event.result.key is testData[6]
-PASS event.result.value is expectedIndex
-PASS event.result.key is testData[7]
-PASS event.result is null
+PASS event.target.result.primaryKey is expectedIndex
+PASS event.target.result.key is testData[0]
+PASS event.target.result.primaryKey is expectedIndex
+PASS event.target.result.key is testData[1]
+PASS event.target.result.primaryKey is expectedIndex
+PASS event.target.result.key is testData[2]
+PASS event.target.result.primaryKey is expectedIndex
+PASS event.target.result.key is testData[3]
+PASS event.target.result.primaryKey is expectedIndex
+PASS event.target.result.key is testData[4]
+PASS event.target.result.primaryKey is expectedIndex
+PASS event.target.result.key is testData[5]
+PASS event.target.result.primaryKey is expectedIndex
+PASS event.target.result.key is testData[6]
+PASS event.target.result.primaryKey is expectedIndex
+PASS event.target.result.key is testData[7]
+PASS event.target.result is null
Next test: lower open bound is 7; sorted descending.
-PASS event.result is null
+PASS event.target.result is null
Next test: lower bound is 7; sorted descending.
-PASS event.result.value is expectedIndex
-PASS event.result.key is testData[7]
-PASS event.result.value is expectedIndex
-PASS event.result.key is testData[6]
-PASS event.result is null
+PASS event.target.result.primaryKey is expectedIndex
+PASS event.target.result.key is testData[7]
+PASS event.target.result.primaryKey is expectedIndex
+PASS event.target.result.key is testData[6]
+PASS event.target.result is null
Next test: upper open bound is 7; sorted descending.
-PASS event.result.value is expectedIndex
-PASS event.result.key is testData[5]
-PASS event.result.value is expectedIndex
-PASS event.result.key is testData[4]
-PASS event.result.value is expectedIndex
-PASS event.result.key is testData[3]
-PASS event.result.value is expectedIndex
-PASS event.result.key is testData[2]
-PASS event.result.value is expectedIndex
-PASS event.result.key is testData[1]
-PASS event.result.value is expectedIndex
-PASS event.result.key is testData[0]
-PASS event.result is null
+PASS event.target.result.primaryKey is expectedIndex
+PASS event.target.result.key is testData[5]
+PASS event.target.result.primaryKey is expectedIndex
+PASS event.target.result.key is testData[4]
+PASS event.target.result.primaryKey is expectedIndex
+PASS event.target.result.key is testData[3]
+PASS event.target.result.primaryKey is expectedIndex
+PASS event.target.result.key is testData[2]
+PASS event.target.result.primaryKey is expectedIndex
+PASS event.target.result.key is testData[1]
+PASS event.target.result.primaryKey is expectedIndex
+PASS event.target.result.key is testData[0]
+PASS event.target.result is null
Next test: upper bound is 7; sorted descending.
-PASS event.result.value is expectedIndex
-PASS event.result.key is testData[7]
-PASS event.result.value is expectedIndex
-PASS event.result.key is testData[6]
-PASS event.result.value is expectedIndex
-PASS event.result.key is testData[5]
-PASS event.result.value is expectedIndex
-PASS event.result.key is testData[4]
-PASS event.result.value is expectedIndex
-PASS event.result.key is testData[3]
-PASS event.result.value is expectedIndex
-PASS event.result.key is testData[2]
-PASS event.result.value is expectedIndex
-PASS event.result.key is testData[1]
-PASS event.result.value is expectedIndex
-PASS event.result.key is testData[0]
-PASS event.result is null
+PASS event.target.result.primaryKey is expectedIndex
+PASS event.target.result.key is testData[7]
+PASS event.target.result.primaryKey is expectedIndex
+PASS event.target.result.key is testData[6]
+PASS event.target.result.primaryKey is expectedIndex
+PASS event.target.result.key is testData[5]
+PASS event.target.result.primaryKey is expectedIndex
+PASS event.target.result.key is testData[4]
+PASS event.target.result.primaryKey is expectedIndex
+PASS event.target.result.key is testData[3]
+PASS event.target.result.primaryKey is expectedIndex
+PASS event.target.result.key is testData[2]
+PASS event.target.result.primaryKey is expectedIndex
+PASS event.target.result.key is testData[1]
+PASS event.target.result.primaryKey is expectedIndex
+PASS event.target.result.key is testData[0]
+PASS event.target.result is null
Next test: lower open bound is 7; upper open bound is 6; sorted ascending.
-PASS event.result is null
+PASS event.target.result is null
Next test: lower open bound is 7; upper bound is 6; sorted ascending.
-PASS event.result is null
+PASS event.target.result is null
Next test: lower bound is 7; upper open bound is 6; sorted ascending.
-PASS event.result is null
+PASS event.target.result is null
Next test: lower bound is 7; upper bound is 6; sorted ascending.
-PASS event.result.value is expectedIndex
-PASS event.result.key is testData[6]
-PASS event.result.value is expectedIndex
-PASS event.result.key is testData[7]
-PASS event.result is null
+PASS event.target.result.primaryKey is expectedIndex
+PASS event.target.result.key is testData[6]
+PASS event.target.result.primaryKey is expectedIndex
+PASS event.target.result.key is testData[7]
+PASS event.target.result is null
Next test: lower open bound is 7; upper open bound is 6; sorted descending.
-PASS event.result is null
+PASS event.target.result is null
Next test: lower open bound is 7; upper bound is 6; sorted descending.
-PASS event.result is null
+PASS event.target.result is null
Next test: lower bound is 7; upper open bound is 6; sorted descending.
-PASS event.result is null
+PASS event.target.result is null
Next test: lower bound is 7; upper bound is 6; sorted descending.
-PASS event.result.value is expectedIndex
-PASS event.result.key is testData[7]
-PASS event.result.value is expectedIndex
-PASS event.result.key is testData[6]
-PASS event.result is null
+PASS event.target.result.primaryKey is expectedIndex
+PASS event.target.result.key is testData[7]
+PASS event.target.result.primaryKey is expectedIndex
+PASS event.target.result.key is testData[6]
+PASS event.target.result is null
Next test: lower open bound is 7; upper open bound is 7; sorted ascending.
-PASS event.result is null
+PASS event.target.result is null
Next test: lower open bound is 7; upper bound is 7; sorted ascending.
-PASS event.result is null
+PASS event.target.result is null
Next test: lower bound is 7; upper open bound is 7; sorted ascending.
-PASS event.result is null
+PASS event.target.result is null
Next test: lower bound is 7; upper bound is 7; sorted ascending.
-PASS event.result.value is expectedIndex
-PASS event.result.key is testData[6]
-PASS event.result.value is expectedIndex
-PASS event.result.key is testData[7]
-PASS event.result is null
+PASS event.target.result.primaryKey is expectedIndex
+PASS event.target.result.key is testData[6]
+PASS event.target.result.primaryKey is expectedIndex
+PASS event.target.result.key is testData[7]
+PASS event.target.result is null
Next test: lower open bound is 7; upper open bound is 7; sorted descending.
-PASS event.result is null
+PASS event.target.result is null
Next test: lower open bound is 7; upper bound is 7; sorted descending.
-PASS event.result is null
+PASS event.target.result is null
Next test: lower bound is 7; upper open bound is 7; sorted descending.
-PASS event.result is null
+PASS event.target.result is null
Next test: lower bound is 7; upper bound is 7; sorted descending.
-PASS event.result.value is expectedIndex
-PASS event.result.key is testData[7]
-PASS event.result.value is expectedIndex
-PASS event.result.key is testData[6]
-PASS event.result is null
+PASS event.target.result.primaryKey is expectedIndex
+PASS event.target.result.key is testData[7]
+PASS event.target.result.primaryKey is expectedIndex
+PASS event.target.result.key is testData[6]
+PASS event.target.result is null
Next test: null key path sorted ascending.
-PASS event.result.value is expectedIndex
-PASS event.result.key is testData[0]
-PASS event.result.value is expectedIndex
-PASS event.result.key is testData[1]
-PASS event.result.value is expectedIndex
-PASS event.result.key is testData[2]
-PASS event.result.value is expectedIndex
-PASS event.result.key is testData[3]
-PASS event.result.value is expectedIndex
-PASS event.result.key is testData[4]
-PASS event.result.value is expectedIndex
-PASS event.result.key is testData[5]
-PASS event.result.value is expectedIndex
-PASS event.result.key is testData[6]
-PASS event.result.value is expectedIndex
-PASS event.result.key is testData[7]
-PASS event.result is null
+PASS event.target.result.primaryKey is expectedIndex
+PASS event.target.result.key is testData[0]
+PASS event.target.result.primaryKey is expectedIndex
+PASS event.target.result.key is testData[1]
+PASS event.target.result.primaryKey is expectedIndex
+PASS event.target.result.key is testData[2]
+PASS event.target.result.primaryKey is expectedIndex
+PASS event.target.result.key is testData[3]
+PASS event.target.result.primaryKey is expectedIndex
+PASS event.target.result.key is testData[4]
+PASS event.target.result.primaryKey is expectedIndex
+PASS event.target.result.key is testData[5]
+PASS event.target.result.primaryKey is expectedIndex
+PASS event.target.result.key is testData[6]
+PASS event.target.result.primaryKey is expectedIndex
+PASS event.target.result.key is testData[7]
+PASS event.target.result is null
Next test: null key path sorted descending.
-PASS event.result.value is expectedIndex
-PASS event.result.key is testData[7]
-PASS event.result.value is expectedIndex
-PASS event.result.key is testData[6]
-PASS event.result.value is expectedIndex
-PASS event.result.key is testData[5]
-PASS event.result.value is expectedIndex
-PASS event.result.key is testData[4]
-PASS event.result.value is expectedIndex
-PASS event.result.key is testData[3]
-PASS event.result.value is expectedIndex
-PASS event.result.key is testData[2]
-PASS event.result.value is expectedIndex
-PASS event.result.key is testData[1]
-PASS event.result.value is expectedIndex
-PASS event.result.key is testData[0]
-PASS event.result is null
+PASS event.target.result.primaryKey is expectedIndex
+PASS event.target.result.key is testData[7]
+PASS event.target.result.primaryKey is expectedIndex
+PASS event.target.result.key is testData[6]
+PASS event.target.result.primaryKey is expectedIndex
+PASS event.target.result.key is testData[5]
+PASS event.target.result.primaryKey is expectedIndex
+PASS event.target.result.key is testData[4]
+PASS event.target.result.primaryKey is expectedIndex
+PASS event.target.result.key is testData[3]
+PASS event.target.result.primaryKey is expectedIndex
+PASS event.target.result.key is testData[2]
+PASS event.target.result.primaryKey is expectedIndex
+PASS event.target.result.key is testData[1]
+PASS event.target.result.primaryKey is expectedIndex
+PASS event.target.result.key is testData[0]
+PASS event.target.result is null
PASS successfullyParsed is true
TEST COMPLETE
diff --git a/LayoutTests/storage/indexeddb/index-cursor.html b/LayoutTests/storage/indexeddb/index-cursor.html
index 97985a4..77366a9 100644
--- a/LayoutTests/storage/indexeddb/index-cursor.html
+++ b/LayoutTests/storage/indexeddb/index-cursor.html
@@ -29,35 +29,28 @@ window.testData = [
function openDatabase()
{
- result = evalAndLog("webkitIndexedDB.open('someDB')");
- verifyResult(result);
+ result = evalAndLog("webkitIndexedDB.open('index-cursor')");
result.onsuccess = setVersion;
result.onerror = unexpectedErrorCallback;
}
function setVersion()
{
- verifySuccessEvent(event);
- window.db = evalAndLog("db = event.result");
+ window.db = evalAndLog("db = event.target.result");
result = evalAndLog("db.setVersion('new version')");
- verifyResult(result);
result.onsuccess = deleteExisting;
result.onerror = unexpectedErrorCallback;
}
function deleteExisting()
{
- verifySuccessEvent(event);
- window.trans = evalAndLog("trans = event.result");
+ window.trans = evalAndLog("trans = event.target.result");
shouldBeTrue("trans !== null");
trans.onabort = unexpectedAbortCallback;
- deleteAllObjectStores(db, startAddingData);
-}
-
-function startAddingData()
-{
+ deleteAllObjectStores(db);
+
window.objectStore = evalAndLog("db.createObjectStore('someObjectStore')");
window.indexObject = evalAndLog("objectStore.createIndex('someIndex', 'x')");
window.nextToAdd = 0;
@@ -66,11 +59,7 @@ function startAddingData()
function addData()
{
- if (window.nextToAdd > 0)
- verifySuccessEvent(event);
-
result = evalAndLog("objectStore.add({'x': testData[nextToAdd]}, nextToAdd)");
- verifyResult(result);
result.onsuccess = ++window.nextToAdd < testData.length ? addData : scheduleTests;
result.onerror = unexpectedErrorCallback;
}
@@ -181,7 +170,7 @@ function runNextTest()
var keyRange;
if (lower !== null && upper !== null)
- keyRange = webkitIDBKeyRange.bound(testData[lower], testData[upper], {lowerOpen: lowerIsOpen, upperOpen: upperIsOpen});
+ keyRange = webkitIDBKeyRange.bound(testData[lower], testData[upper], lowerIsOpen, upperIsOpen);
else if (lower !== null)
keyRange = webkitIDBKeyRange.lowerBound(testData[lower], lowerIsOpen);
else
@@ -209,22 +198,22 @@ function testWithinBounds()
function cursorIteration()
{
if (expectedIndex === null) {
- shouldBeNull("event.result");
+ shouldBeNull("event.target.result");
runNextTest();
return;
}
- if (event.result === null) {
- testFailed("Event.result should not be null.");
+ if (event.target.result === null) {
+ testFailed("event.target.result should not be null.");
runNextTest();
return;
}
- shouldBe("event.result.value", "expectedIndex");
- shouldBe("event.result.key", "testData[" + expectedIndex + "]");
+ shouldBe("event.target.result.primaryKey", "expectedIndex");
+ shouldBe("event.target.result.key", "testData[" + expectedIndex + "]");
window.expectedIndex = ascending ? expectedIndex + 1 : expectedIndex - 1;
testWithinBounds();
- event.result.continue();
+ event.target.result.continue();
}
window.nullKeyRangeStep = 0;
diff --git a/LayoutTests/storage/indexeddb/keyrange-expected.txt b/LayoutTests/storage/indexeddb/keyrange-expected.txt
index cb5a380..3cd2990 100644
--- a/LayoutTests/storage/indexeddb/keyrange-expected.txt
+++ b/LayoutTests/storage/indexeddb/keyrange-expected.txt
@@ -127,82 +127,82 @@ PASS keyRange.upper is 'bc'
PASS keyRange.upperOpen is false
PASS keyRange.lower is null
PASS keyRange.lowerOpen is false
-webkitIDBKeyRange.bound(30,40, {lowerOpen: undefined, upperOpen:undefined})
+webkitIDBKeyRange.bound(30,40, undefined, undefined)
PASS keyRange.lower is 30
PASS keyRange.upper is 40
PASS keyRange.lowerOpen is false
PASS keyRange.upperOpen is false
-webkitIDBKeyRange.bound(31,41, {lowerOpen: false, upperOpen:false})
+webkitIDBKeyRange.bound(31,41, false, false)
PASS keyRange.lower is 31
PASS keyRange.upper is 41
PASS keyRange.lowerOpen is false
PASS keyRange.upperOpen is false
-webkitIDBKeyRange.bound(32,42, {lowerOpen: false, upperOpen:true})
+webkitIDBKeyRange.bound(32,42, false, true)
PASS keyRange.lower is 32
PASS keyRange.upper is 42
PASS keyRange.lowerOpen is false
PASS keyRange.upperOpen is true
-webkitIDBKeyRange.bound(33,43, {lowerOpen: true, upperOpen:false})
+webkitIDBKeyRange.bound(33,43, true, false)
PASS keyRange.lower is 33
PASS keyRange.upper is 43
PASS keyRange.lowerOpen is true
PASS keyRange.upperOpen is false
-webkitIDBKeyRange.bound(34,44, {lowerOpen: true, upperOpen:true})
+webkitIDBKeyRange.bound(34,44, true, true)
PASS keyRange.lower is 34
PASS keyRange.upper is 44
PASS keyRange.lowerOpen is true
PASS keyRange.upperOpen is true
-webkitIDBKeyRange.bound(30.1,40.2, {lowerOpen: undefined, upperOpen:undefined})
+webkitIDBKeyRange.bound(30.1,40.2, undefined, undefined)
PASS keyRange.lower is 30.1
PASS keyRange.upper is 40.2
PASS keyRange.lowerOpen is false
PASS keyRange.upperOpen is false
-webkitIDBKeyRange.bound(31.3,41.4, {lowerOpen: false, upperOpen:false})
+webkitIDBKeyRange.bound(31.3,41.4, false, false)
PASS keyRange.lower is 31.3
PASS keyRange.upper is 41.4
PASS keyRange.lowerOpen is false
PASS keyRange.upperOpen is false
-webkitIDBKeyRange.bound(32.5,42.6, {lowerOpen: false, upperOpen:true})
+webkitIDBKeyRange.bound(32.5,42.6, false, true)
PASS keyRange.lower is 32.5
PASS keyRange.upper is 42.6
PASS keyRange.lowerOpen is false
PASS keyRange.upperOpen is true
-webkitIDBKeyRange.bound(33.7,43.8, {lowerOpen: true, upperOpen:false})
+webkitIDBKeyRange.bound(33.7,43.8, true, false)
PASS keyRange.lower is 33.7
PASS keyRange.upper is 43.8
PASS keyRange.lowerOpen is true
PASS keyRange.upperOpen is false
-webkitIDBKeyRange.bound(34.9,44, {lowerOpen: true, upperOpen:true})
+webkitIDBKeyRange.bound(34.9,44, true, true)
PASS keyRange.lower is 34.9
PASS keyRange.upper is 44
PASS keyRange.lowerOpen is true
PASS keyRange.upperOpen is true
-webkitIDBKeyRange.bound('aaa','aba', {lowerOpen: false, upperOpen:false})
+webkitIDBKeyRange.bound('aaa','aba', false, false)
PASS keyRange.lower is 'aaa'
PASS keyRange.upper is 'aba'
PASS keyRange.lowerOpen is false
PASS keyRange.upperOpen is false
-webkitIDBKeyRange.bound('aab','abb', {lowerOpen: undefined, upperOpen:undefined})
+webkitIDBKeyRange.bound('aab','abb', undefined, undefined)
PASS keyRange.lower is 'aab'
PASS keyRange.upper is 'abb'
PASS keyRange.lowerOpen is false
PASS keyRange.upperOpen is false
-webkitIDBKeyRange.bound('aac','abc', {lowerOpen: false, upperOpen:false})
+webkitIDBKeyRange.bound('aac','abc', false, false)
PASS keyRange.lower is 'aac'
PASS keyRange.upper is 'abc'
PASS keyRange.lowerOpen is false
PASS keyRange.upperOpen is false
-webkitIDBKeyRange.bound('aad','abd', {lowerOpen: false, upperOpen:true})
+webkitIDBKeyRange.bound('aad','abd', false, true)
PASS keyRange.lower is 'aad'
PASS keyRange.upper is 'abd'
PASS keyRange.lowerOpen is false
PASS keyRange.upperOpen is true
-webkitIDBKeyRange.bound('aae','abe', {lowerOpen: true, upperOpen:false})
+webkitIDBKeyRange.bound('aae','abe', true, false)
PASS keyRange.lower is 'aae'
PASS keyRange.upper is 'abe'
PASS keyRange.lowerOpen is true
PASS keyRange.upperOpen is false
-webkitIDBKeyRange.bound('aaf','abf', {lowerOpen: true, upperOpen:true})
+webkitIDBKeyRange.bound('aaf','abf', true, true)
PASS keyRange.lower is 'aaf'
PASS keyRange.upper is 'abf'
PASS keyRange.lowerOpen is true
diff --git a/LayoutTests/storage/indexeddb/keyrange.html b/LayoutTests/storage/indexeddb/keyrange.html
index 80850bc..5af2401 100644
--- a/LayoutTests/storage/indexeddb/keyrange.html
+++ b/LayoutTests/storage/indexeddb/keyrange.html
@@ -47,7 +47,7 @@ function checkUpperBoundKeyRange(value, open)
function checkBoundKeyRange(lower, upper, lowerOpen, upperOpen)
{
- keyRange = evalAndLog("webkitIDBKeyRange.bound(" + lower + "," + upper + ", {lowerOpen: " + lowerOpen + ", upperOpen:" + upperOpen + "})");
+ keyRange = evalAndLog("webkitIDBKeyRange.bound(" + lower + "," + upper + ", " + lowerOpen + ", " + upperOpen + ")");
shouldBe("keyRange.lower", "" + lower);
shouldBe("keyRange.upper", "" + upper);
if (lowerOpen === undefined)
diff --git a/LayoutTests/storage/indexeddb/objectstore-autoincrement-expected.txt b/LayoutTests/storage/indexeddb/objectstore-autoincrement-expected.txt
index 5ba278b..ff58fac 100644
--- a/LayoutTests/storage/indexeddb/objectstore-autoincrement-expected.txt
+++ b/LayoutTests/storage/indexeddb/objectstore-autoincrement-expected.txt
@@ -3,44 +3,12 @@ Test IndexedDB's IDBObjectStore auto-increment feature.
On success, you will see a series of "PASS" messages, followed by "TEST COMPLETE".
-webkitIndexedDB.open('Address Book')
-PASS 'onsuccess' in result is true
-PASS 'onerror' in result is true
-PASS 'readyState' in result is true
-An event should fire shortly...
-
+webkitIndexedDB.open('objectstore-autoincrement')
openSuccess():
-Success event fired:
-PASS 'result' in event is true
-PASS 'code' in event is false
-PASS 'message' in event is false
-PASS 'source' in event is true
-PASS event.source != null is true
-PASS 'onsuccess' in event.target is true
-PASS 'onerror' in event.target is true
-PASS 'readyState' in event.target is true
-PASS event.target.readyState is event.target.DONE
-
-db = event.result
+db = event.target.result
db.setVersion('new version')
-PASS 'onsuccess' in result is true
-PASS 'onerror' in result is true
-PASS 'readyState' in result is true
-An event should fire shortly...
-
setVersionSuccess():
-Success event fired:
-PASS 'result' in event is true
-PASS 'code' in event is false
-PASS 'message' in event is false
-PASS 'source' in event is true
-PASS event.source != null is true
-PASS 'onsuccess' in event.target is true
-PASS 'onerror' in event.target is true
-PASS 'readyState' in event.target is true
-PASS event.target.readyState is event.target.DONE
-
-trans = event.result
+trans = event.target.result
PASS trans !== null is true
Deleted all object stores.
createObjectStore():
@@ -60,125 +28,41 @@ store = trans.objectStore('StoreWithKeyPath')
Insert into object store with auto increment and key path, with key in the object.
store.add({name: 'Jeffersson', number: '7010', id: 3})
addJefferssonSuccess():
-Success event fired:
-PASS 'result' in event is true
-PASS 'code' in event is false
-PASS 'message' in event is false
-PASS 'source' in event is true
-PASS event.source != null is true
-PASS 'onsuccess' in event.target is true
-PASS 'onerror' in event.target is true
-PASS 'readyState' in event.target is true
-PASS event.target.readyState is event.target.DONE
-
-PASS event.result is 3
+PASS event.target.result is 3
Insert into object store with auto increment and key path, without key in the object.
store.add({name: 'Lincoln', number: '7012'})
-addLincolnError():
-Error event fired:
-PASS 'result' in event is false
-PASS 'code' in event is true
-PASS 'message' in event is true
-PASS 'source' in event is true
-PASS event.source != null is true
-PASS 'onsuccess' in event.target is true
-PASS 'onerror' in event.target is true
-PASS 'readyState' in event.target is true
-PASS event.target.readyState is event.target.DONE
-
-PASS event.code is webkitIDBDatabaseException.UNKNOWN_ERR
-event.preventDefault()
+addLincolnWithInjectKeySuccess():
+PASS event.target.result is 4
+store.get(4)
+getLincolnAfterInjectedKeySuccess():
+PASS event.target.result.name is "Lincoln"
+PASS event.target.result.number is "7012"
+PASS event.target.result.id is 4
store = trans.objectStore('StoreWithAutoIncrement')
Insert into object store with key gen using explicit key
store.add({name: 'Lincoln', number: '7012'}, 5)
-addLincolnSuccess():
-Success event fired:
-PASS 'result' in event is true
-PASS 'code' in event is false
-PASS 'message' in event is false
-PASS 'source' in event is true
-PASS event.source != null is true
-PASS 'onsuccess' in event.target is true
-PASS 'onerror' in event.target is true
-PASS 'readyState' in event.target is true
-PASS event.target.readyState is event.target.DONE
-
-PASS event.result is 5
+addLincolnWithExplicitKeySuccess():
+PASS event.target.result is 5
store.get(5)
getLincolnSuccess():
-Success event fired:
-PASS 'result' in event is true
-PASS 'code' in event is false
-PASS 'message' in event is false
-PASS 'source' in event is true
-PASS event.source != null is true
-PASS 'onsuccess' in event.target is true
-PASS 'onerror' in event.target is true
-PASS 'readyState' in event.target is true
-PASS event.target.readyState is event.target.DONE
-
-PASS event.result.name is "Lincoln"
-PASS event.result.number is "7012"
+PASS event.target.result.name is "Lincoln"
+PASS event.target.result.number is "7012"
store.put({name: 'Abraham', number: '2107'})
putAbrahamSuccess():
-Success event fired:
-PASS 'result' in event is true
-PASS 'code' in event is false
-PASS 'message' in event is false
-PASS 'source' in event is true
-PASS event.source != null is true
-PASS 'onsuccess' in event.target is true
-PASS 'onerror' in event.target is true
-PASS 'readyState' in event.target is true
-PASS event.target.readyState is event.target.DONE
-
-PASS event.result is 6
+PASS event.target.result is 6
store.get(6)
getAbrahamSuccess():
-Success event fired:
-PASS 'result' in event is true
-PASS 'code' in event is false
-PASS 'message' in event is false
-PASS 'source' in event is true
-PASS event.source != null is true
-PASS 'onsuccess' in event.target is true
-PASS 'onerror' in event.target is true
-PASS 'readyState' in event.target is true
-PASS event.target.readyState is event.target.DONE
-
-PASS event.result.name is "Abraham"
-PASS event.result.number is "2107"
+PASS event.target.result.name is "Abraham"
+PASS event.target.result.number is "2107"
store = trans.objectStore('PlainOldStore')
Try adding with no key to object store without auto increment.
store.add({name: 'Adam'})
addAdamError():
-Error event fired:
-PASS 'result' in event is false
-PASS 'code' in event is true
-PASS 'message' in event is true
-PASS 'source' in event is true
-PASS event.source != null is true
-PASS 'onsuccess' in event.target is true
-PASS 'onerror' in event.target is true
-PASS 'readyState' in event.target is true
-PASS event.target.readyState is event.target.DONE
-
-PASS event.code is webkitIDBDatabaseException.DATA_ERR
+PASS event.target.errorCode is webkitIDBDatabaseException.DATA_ERR
event.preventDefault()
store.add({name: 'Adam'}, 1)
addAdamSuccess():
-Success event fired:
-PASS 'result' in event is true
-PASS 'code' in event is false
-PASS 'message' in event is false
-PASS 'source' in event is true
-PASS event.source != null is true
-PASS 'onsuccess' in event.target is true
-PASS 'onerror' in event.target is true
-PASS 'readyState' in event.target is true
-PASS event.target.readyState is event.target.DONE
-
-PASS event.result is 1
+PASS event.target.result is 1
PASS successfullyParsed is true
TEST COMPLETE
diff --git a/LayoutTests/storage/indexeddb/objectstore-autoincrement.html b/LayoutTests/storage/indexeddb/objectstore-autoincrement.html
index 0c0e9f5..3bfaacd 100644
--- a/LayoutTests/storage/indexeddb/objectstore-autoincrement.html
+++ b/LayoutTests/storage/indexeddb/objectstore-autoincrement.html
@@ -16,38 +16,31 @@ if (window.layoutTestController)
function test()
{
- result = evalAndLog("webkitIndexedDB.open('Address Book')");
- verifyResult(result);
- result.onsuccess = openSuccess;
- result.onerror = unexpectedErrorCallback;
+ request = evalAndLog("webkitIndexedDB.open('objectstore-autoincrement')");
+ request.onsuccess = openSuccess;
+ request.onerror = unexpectedErrorCallback;
}
function openSuccess()
{
debug("openSuccess():");
- verifySuccessEvent(event);
- window.db = evalAndLog("db = event.result");
+ window.db = evalAndLog("db = event.target.result");
- result = evalAndLog("db.setVersion('new version')");
- verifyResult(result);
- result.onsuccess = setVersionSuccess;
- result.onerror = unexpectedErrorCallback;
+ request = evalAndLog("db.setVersion('new version')");
+ request.onsuccess = setVersionSuccess;
+ request.onerror = unexpectedErrorCallback;
}
function setVersionSuccess()
{
debug("setVersionSuccess():");
- verifySuccessEvent(event);
- window.trans = evalAndLog("trans = event.result");
+ window.trans = evalAndLog("trans = event.target.result");
shouldBeTrue("trans !== null");
trans.onabort = unexpectedAbortCallback;
trans.oncomplete = setVersionCompleted;
- deleteAllObjectStores(db, createObjectStore);
-}
+ deleteAllObjectStores(db);
-function createObjectStore()
-{
debug("createObjectStore():");
window.store = evalAndLog("store = db.createObjectStore('StoreWithKeyPath', {keyPath: 'id', autoIncrement: true})");
evalAndLog("db.createObjectStore('StoreWithAutoIncrement', {autoIncrement: true})");
@@ -75,104 +68,106 @@ function setVersionCompleted()
window.store = evalAndLog("store = trans.objectStore('StoreWithKeyPath')");
debug("Insert into object store with auto increment and key path, with key in the object.");
- result = evalAndLog("store.add({name: 'Jeffersson', number: '7010', id: 3})");
- result.onsuccess = addJefferssonSuccess;
- result.onerror = unexpectedErrorCallback;
+ request = evalAndLog("store.add({name: 'Jeffersson', number: '7010', id: 3})");
+ request.onsuccess = addJefferssonSuccess;
+ request.onerror = unexpectedErrorCallback;
}
function addJefferssonSuccess()
{
debug("addJefferssonSuccess():");
- verifySuccessEvent(event);
- shouldBe("event.result", "3");
+ shouldBe("event.target.result", "3");
debug("Insert into object store with auto increment and key path, without key in the object.");
- result = evalAndLog("store.add({name: 'Lincoln', number: '7012'})");
- result.onsuccess = unexpectedSuccessCallback;
- result.onerror = addLincolnError;
+ request = evalAndLog("store.add({name: 'Lincoln', number: '7012'})");
+ request.onsuccess = addLincolnWithInjectKeySuccess;
+ request.onerror = unexpectedErrorCallback;
}
-function addLincolnError()
+function addLincolnWithInjectKeySuccess()
{
- debug("addLincolnError():");
- verifyErrorEvent(event);
- // FIXME: This should be implemented, but we make it an error for now.
- shouldBe("event.code", "webkitIDBDatabaseException.UNKNOWN_ERR");
+ debug("addLincolnWithInjectKeySuccess():");
+ shouldBe("event.target.result", "4");
- evalAndLog("event.preventDefault()");
+ result = evalAndLog("store.get(4)");
+ result.onsuccess = getLincolnAfterInjectedKeySuccess;
+ result.onerror = unexpectedErrorCallback;
+}
+
+function getLincolnAfterInjectedKeySuccess()
+{
+ debug("getLincolnAfterInjectedKeySuccess():");
+ shouldBeEqualToString("event.target.result.name", "Lincoln");
+ shouldBeEqualToString("event.target.result.number", "7012");
+ shouldBe("event.target.result.id", "4");
window.store = evalAndLog("store = trans.objectStore('StoreWithAutoIncrement')");
debug("Insert into object store with key gen using explicit key");
- result = evalAndLog("store.add({name: 'Lincoln', number: '7012'}, 5)");
- result.onsuccess = addLincolnSuccess;
+ request = evalAndLog("store.add({name: 'Lincoln', number: '7012'}, 5)");
+ request.onsuccess = addLincolnWithExplicitKeySuccess;
+ request.onerror = unexpectedErrorCallback;
}
-function addLincolnSuccess()
+function addLincolnWithExplicitKeySuccess()
{
- debug("addLincolnSuccess():");
- verifySuccessEvent(event);
- shouldBe("event.result", "5");
+ debug("addLincolnWithExplicitKeySuccess():");
+ shouldBe("event.target.result", "5");
- result = evalAndLog("store.get(5)");
- result.onsuccess = getLincolnSuccess;
- result.onerror = unexpectedErrorCallback;
+ request = evalAndLog("store.get(5)");
+ request.onsuccess = getLincolnSuccess;
+ request.onerror = unexpectedErrorCallback;
}
function getLincolnSuccess()
{
debug("getLincolnSuccess():");
- verifySuccessEvent(event);
- shouldBeEqualToString("event.result.name", "Lincoln");
- shouldBeEqualToString("event.result.number", "7012");
+ shouldBeEqualToString("event.target.result.name", "Lincoln");
+ shouldBeEqualToString("event.target.result.number", "7012");
- result = evalAndLog("store.put({name: 'Abraham', number: '2107'})");
- result.onsuccess = putAbrahamSuccess;
- result.onerror = unexpectedErrorCallback;
+ request = evalAndLog("store.put({name: 'Abraham', number: '2107'})");
+ request.onsuccess = putAbrahamSuccess;
+ request.onerror = unexpectedErrorCallback;
}
function putAbrahamSuccess()
{
debug("putAbrahamSuccess():");
- verifySuccessEvent(event);
- shouldBe("event.result", "6");
+ shouldBe("event.target.result", "6");
- result = evalAndLog("store.get(6)");
- result.onsuccess = getAbrahamSuccess;
- result.onerror = unexpectedErrorCallback;
+ request = evalAndLog("store.get(6)");
+ request.onsuccess = getAbrahamSuccess;
+ request.onerror = unexpectedErrorCallback;
}
function getAbrahamSuccess()
{
debug("getAbrahamSuccess():");
- verifySuccessEvent(event);
- shouldBeEqualToString("event.result.name", "Abraham");
- shouldBeEqualToString("event.result.number", "2107");
+ shouldBeEqualToString("event.target.result.name", "Abraham");
+ shouldBeEqualToString("event.target.result.number", "2107");
window.store = evalAndLog("store = trans.objectStore('PlainOldStore')");
debug("Try adding with no key to object store without auto increment.");
- result = evalAndLog("store.add({name: 'Adam'})");
- result.onsuccess = unexpectedSuccessCallback;
- result.onerror = addAdamError;
+ request = evalAndLog("store.add({name: 'Adam'})");
+ request.onsuccess = unexpectedSuccessCallback;
+ request.onerror = addAdamError;
}
function addAdamError()
{
debug("addAdamError():");
- verifyErrorEvent(event);
- shouldBe("event.code", "webkitIDBDatabaseException.DATA_ERR");
+ shouldBe("event.target.errorCode", "webkitIDBDatabaseException.DATA_ERR");
evalAndLog("event.preventDefault()");
- result = evalAndLog("store.add({name: 'Adam'}, 1)");
- result.onsuccess = addAdamSuccess;
- result.onerror = unexpectedErrorCallback;
+ request = evalAndLog("store.add({name: 'Adam'}, 1)");
+ request.onsuccess = addAdamSuccess;
+ request.onerror = unexpectedErrorCallback;
}
function addAdamSuccess()
{
debug("addAdamSuccess():");
- verifySuccessEvent(event);
- shouldBe("event.result", "1");
+ shouldBe("event.target.result", "1");
}
test();
diff --git a/LayoutTests/storage/indexeddb/objectstore-basics-expected.txt b/LayoutTests/storage/indexeddb/objectstore-basics-expected.txt
index cfbdbbf..b7bf521 100644
--- a/LayoutTests/storage/indexeddb/objectstore-basics-expected.txt
+++ b/LayoutTests/storage/indexeddb/objectstore-basics-expected.txt
@@ -3,44 +3,12 @@ Test the basics of IndexedDB's IDBObjectStore.
On success, you will see a series of "PASS" messages, followed by "TEST COMPLETE".
-webkitIndexedDB.open('name')
-PASS 'onsuccess' in result is true
-PASS 'onerror' in result is true
-PASS 'readyState' in result is true
-An event should fire shortly...
-
+webkitIndexedDB.open('objectstore-basics')
openSuccess():
-Success event fired:
-PASS 'result' in event is true
-PASS 'code' in event is false
-PASS 'message' in event is false
-PASS 'source' in event is true
-PASS event.source != null is true
-PASS 'onsuccess' in event.target is true
-PASS 'onerror' in event.target is true
-PASS 'readyState' in event.target is true
-PASS event.target.readyState is event.target.DONE
-
-db = event.result
+db = event.target.result
db.setVersion('new version')
-PASS 'onsuccess' in result is true
-PASS 'onerror' in result is true
-PASS 'readyState' in result is true
-An event should fire shortly...
-
setVersionSuccess():
-Success event fired:
-PASS 'result' in event is true
-PASS 'code' in event is false
-PASS 'message' in event is false
-PASS 'source' in event is true
-PASS event.source != null is true
-PASS 'onsuccess' in event.target is true
-PASS 'onerror' in event.target is true
-PASS 'readyState' in event.target is true
-PASS event.target.readyState is event.target.DONE
-
-trans = event.result
+trans = event.target.result
PASS trans !== null is true
Deleted all object stores.
createObjectStore():
@@ -53,6 +21,7 @@ PASS storeNames.length is 1
Ask for an index that doesn't exist:
index = store.index('asdf')
PASS Exception thrown.
+PASS code is webkitIDBDatabaseException.NOT_FOUND_ERR
createIndex():
index = store.createIndex('indexName', 'x', {unique: true})
PASS index !== null is true
@@ -62,25 +31,10 @@ PASS index !== null is true
Ask for an index that doesn't exist:
index = store.index('asdf')
PASS Exception thrown.
+PASS code is webkitIDBDatabaseException.NOT_FOUND_ERR
db.setVersion("version fail")
-PASS 'onsuccess' in result is true
-PASS 'onerror' in result is true
-PASS 'readyState' in result is true
-An event should fire shortly...
-
-Success event fired:
-PASS 'result' in event is true
-PASS 'code' in event is false
-PASS 'message' in event is false
-PASS 'source' in event is true
-PASS event.source != null is true
-PASS 'onsuccess' in event.target is true
-PASS 'onerror' in event.target is true
-PASS 'readyState' in event.target is true
-PASS event.target.readyState is event.target.DONE
-
PASS db.version is "version fail"
-setVersionTrans = event.result
+setVersionTrans = event.target.result
PASS setVersionTrans !== null is true
store = setVersionTrans.objectStore('storeName')
index = store.createIndex('indexFail', 'x')
@@ -106,138 +60,37 @@ PASS code is DOMException.NOT_SUPPORTED_ERR
Try to insert data where key path yields a Date key:
store.add({x: testDateB, y: 'value'}, 'key')
addSuccess():
-Success event fired:
-PASS 'result' in event is true
-PASS 'code' in event is false
-PASS 'message' in event is false
-PASS 'source' in event is true
-PASS event.source != null is true
-PASS 'onsuccess' in event.target is true
-PASS 'onerror' in event.target is true
-PASS 'readyState' in event.target is true
-PASS event.target.readyState is event.target.DONE
-
-PASS event.result is "key"
-event.source.add({x: 'foo'}, 'zzz')
-PASS 'onsuccess' in result is true
-PASS 'onerror' in result is true
-PASS 'readyState' in result is true
-An event should fire shortly...
-
+PASS event.target.result is "key"
+event.target.source.add({x: 'foo'}, 'zzz')
addAgainFailure():
-Error event fired:
-PASS 'result' in event is false
-PASS 'code' in event is true
-PASS 'message' in event is true
-PASS 'source' in event is true
-PASS event.source != null is true
-PASS 'onsuccess' in event.target is true
-PASS 'onerror' in event.target is true
-PASS 'readyState' in event.target is true
-PASS event.target.readyState is event.target.DONE
-
-PASS event.code is webkitIDBDatabaseException.UNKNOWN_ERR
+PASS event.target.errorCode is webkitIDBDatabaseException.UNKNOWN_ERR
event.preventDefault()
db.transaction([], webkitIDBTransaction.READ_WRITE)
store = transaction.objectStore('storeName')
store.add({x: 'othervalue'}, null)
-PASS 'onsuccess' in result is true
-PASS 'onerror' in result is true
-PASS 'readyState' in result is true
-An event should fire shortly...
-
addWithNullKeyFailre():
-Error event fired:
-PASS 'result' in event is false
-PASS 'code' in event is true
-PASS 'message' in event is true
-PASS 'source' in event is true
-PASS event.source != null is true
-PASS 'onsuccess' in event.target is true
-PASS 'onerror' in event.target is true
-PASS 'readyState' in event.target is true
-PASS event.target.readyState is event.target.DONE
-
-PASS event.code is webkitIDBDatabaseException.DATA_ERR
+PASS event.target.errorCode is webkitIDBDatabaseException.DATA_ERR
event.preventDefault()
db.transaction([], webkitIDBTransaction.READ_WRITE)
store = transaction.objectStore('storeName')
store.add({x: null}, 'validkey')
-PASS 'onsuccess' in result is true
-PASS 'onerror' in result is true
-PASS 'readyState' in result is true
-An event should fire shortly...
-
+PASS event.cancelable is true
addWithNullIndexFailure():
-Error event fired:
-PASS 'result' in event is false
-PASS 'code' in event is true
-PASS 'message' in event is true
-PASS 'source' in event is true
-PASS event.source != null is true
-PASS 'onsuccess' in event.target is true
-PASS 'onerror' in event.target is true
-PASS 'readyState' in event.target is true
-PASS event.target.readyState is event.target.DONE
-
-PASS event.code is webkitIDBDatabaseException.DATA_ERR
+PASS event.target.errorCode is webkitIDBDatabaseException.DATA_ERR
event.preventDefault()
db.transaction([], webkitIDBTransaction.READ_WRITE)
store = transaction.objectStore('storeName')
store.get('key')
-PASS 'onsuccess' in result is true
-PASS 'onerror' in result is true
-PASS 'readyState' in result is true
-An event should fire shortly...
-
getSuccess():
-Success event fired:
-PASS 'result' in event is true
-PASS 'code' in event is false
-PASS 'message' in event is false
-PASS 'source' in event is true
-PASS event.source != null is true
-PASS 'onsuccess' in event.target is true
-PASS 'onerror' in event.target is true
-PASS 'readyState' in event.target is true
-PASS event.target.readyState is event.target.DONE
-
-PASS event.result.y is "value"
-store = event.source
+PASS event.target.result.y is "value"
+store = event.target.source
store.get(testDate)
getSuccessDateKey():
-Success event fired:
-PASS 'result' in event is true
-PASS 'code' in event is false
-PASS 'message' in event is false
-PASS 'source' in event is true
-PASS event.source != null is true
-PASS 'onsuccess' in event.target is true
-PASS 'onerror' in event.target is true
-PASS 'readyState' in event.target is true
-PASS event.target.readyState is event.target.DONE
-
-PASS event.result.x is "foo"
+PASS event.target.result.x is "foo"
store.delete('key')
-PASS 'onsuccess' in result is true
-PASS 'onerror' in result is true
-PASS 'readyState' in result is true
-An event should fire shortly...
-
removeSuccess():
-Success event fired:
-PASS 'result' in event is true
-PASS 'code' in event is false
-PASS 'message' in event is false
-PASS 'source' in event is true
-PASS event.source != null is true
-PASS 'onsuccess' in event.target is true
-PASS 'onerror' in event.target is true
-PASS 'readyState' in event.target is true
-PASS event.target.readyState is event.target.DONE
-
-PASS event.result is null
-store = event.source
+PASS event.target.result is null
+store = event.target.source
Passing an invalid key into store.get().
PASS Caught exception: Error: TYPE_MISMATCH_ERR: DOM Exception 17
Passing an invalid key into store.delete().
diff --git a/LayoutTests/storage/indexeddb/objectstore-basics.html b/LayoutTests/storage/indexeddb/objectstore-basics.html
index 46b771e..7e4df75 100644
--- a/LayoutTests/storage/indexeddb/objectstore-basics.html
+++ b/LayoutTests/storage/indexeddb/objectstore-basics.html
@@ -16,37 +16,30 @@ if (window.layoutTestController)
function test()
{
- result = evalAndLog("webkitIndexedDB.open('name')");
- verifyResult(result);
- result.onsuccess = openSuccess;
- result.onerror = unexpectedErrorCallback;
+ request = evalAndLog("webkitIndexedDB.open('objectstore-basics')");
+ request.onsuccess = openSuccess;
+ request.onerror = unexpectedErrorCallback;
}
function openSuccess()
{
debug("openSuccess():");
- verifySuccessEvent(event);
- window.db = evalAndLog("db = event.result");
+ window.db = evalAndLog("db = event.target.result");
- result = evalAndLog("db.setVersion('new version')");
- verifyResult(result);
- result.onsuccess = setVersionSuccess;
- result.onerror = unexpectedErrorCallback;
+ request = evalAndLog("db.setVersion('new version')");
+ request.onsuccess = setVersionSuccess;
+ request.onerror = unexpectedErrorCallback;
}
function setVersionSuccess()
{
debug("setVersionSuccess():");
- verifySuccessEvent(event);
- window.trans = evalAndLog("trans = event.result");
+ window.trans = evalAndLog("trans = event.target.result");
shouldBeTrue("trans !== null");
trans.onabort = unexpectedAbortCallback;
- deleteAllObjectStores(db, createObjectStore);
-}
+ deleteAllObjectStores(db);
-function createObjectStore()
-{
debug("createObjectStore():");
window.store = evalAndLog("store = db.createObjectStore('storeName', null)");
var storeNames = evalAndLog("storeNames = db.objectStoreNames");
@@ -64,7 +57,8 @@ function createObjectStore()
testFailed("Asking for a store that doesn't exist should have thrown.");
} catch (err) {
testPassed("Exception thrown.");
- // FIXME: Verify the correct exception thrown.
+ code = err.code;
+ shouldBe("code", "webkitIDBDatabaseException.NOT_FOUND_ERR");
}
createIndex();
@@ -86,7 +80,8 @@ function createIndex()
testFailed("Asking for a store that doesn't exist should have thrown.");
} catch (err) {
testPassed("Exception thrown.");
- // FIXME: Verify the correct exception thrown.
+ code = err.code
+ shouldBe("code", "webkitIDBDatabaseException.NOT_FOUND_ERR");
}
commitAndContinue();
@@ -99,18 +94,16 @@ function commitAndContinue()
function testSetVersionAbort()
{
- result = evalAndLog('db.setVersion("version fail")');
- verifyResult(result);
- result.onsuccess = createAnotherIndex;
- result.onerror = unexpectedErrorCallback;
+ request = evalAndLog('db.setVersion("version fail")');
+ request.onsuccess = createAnotherIndex;
+ request.onerror = unexpectedErrorCallback;
}
function createAnotherIndex()
{
- verifySuccessEvent(event);
shouldBeEqualToString("db.version", "version fail");
- var setVersionTrans = evalAndLog("setVersionTrans = event.result");
+ var setVersionTrans = evalAndLog("setVersionTrans = event.target.result");
shouldBeTrue("setVersionTrans !== null");
setVersionTrans.oncomplete = unexpectedCompleteCallback;
setVersionTrans.onabort = checkMetadata;
@@ -146,9 +139,9 @@ function addData()
window.store = evalAndLog("store = transaction.objectStore('storeName')");
debug("Try to insert data with a Date key:");
- result = evalAndLog("store.add({x: 'foo'}, testDate)");
- result.onsuccess = addDateSuccess;
- result.onerror = unexpectedErrorCallback;
+ request = evalAndLog("store.add({x: 'foo'}, testDate)");
+ request.onsuccess = addDateSuccess;
+ request.onerror = unexpectedErrorCallback;
}
function addDateSuccess()
@@ -165,29 +158,26 @@ function addDateSuccess()
}
debug("Try to insert data where key path yields a Date key:");
- result = evalAndLog("store.add({x: testDateB, y: 'value'}, 'key')");
- result.onsuccess = addSuccess;
- result.onerror = unexpectedErrorCallback;
+ request = evalAndLog("store.add({x: testDateB, y: 'value'}, 'key')");
+ request.onsuccess = addSuccess;
+ request.onerror = unexpectedErrorCallback;
}
function addSuccess()
{
debug("addSuccess():");
- verifySuccessEvent(event);
- shouldBeEqualToString("event.result", "key");
+ shouldBeEqualToString("event.target.result", "key");
- result = evalAndLog("event.source.add({x: 'foo'}, 'zzz')");
- verifyResult(result);
- result.onsuccess = unexpectedSuccessCallback;
- result.addEventListener('error', addAgainFailure, false);
+ request = evalAndLog("event.target.source.add({x: 'foo'}, 'zzz')");
+ request.onsuccess = unexpectedSuccessCallback;
+ request.addEventListener('error', addAgainFailure, false);
}
function addAgainFailure()
{
debug("addAgainFailure():");
- verifyErrorEvent(event);
// FIXME: This error code needs to be specced.
- shouldBe("event.code", "webkitIDBDatabaseException.UNKNOWN_ERR");
+ shouldBe("event.target.errorCode", "webkitIDBDatabaseException.UNKNOWN_ERR");
evalAndLog("event.preventDefault()");
@@ -195,17 +185,15 @@ function addAgainFailure()
transaction.onabort = unexpectedErrorCallback;
var store = evalAndLog("store = transaction.objectStore('storeName')");
- result = evalAndLog("store.add({x: 'othervalue'}, null)");
- verifyResult(result);
- result.onsuccess = unexpectedSuccessCallback;
- result.addEventListener('error', addWithNullKeyFailure, true);
+ request = evalAndLog("store.add({x: 'othervalue'}, null)");
+ request.onsuccess = unexpectedSuccessCallback;
+ request.addEventListener('error', addWithNullKeyFailure, true);
}
function addWithNullKeyFailure()
{
debug("addWithNullKeyFailre():");
- verifyErrorEvent(event);
- shouldBe("event.code", "webkitIDBDatabaseException.DATA_ERR");
+ shouldBe("event.target.errorCode", "webkitIDBDatabaseException.DATA_ERR");
evalAndLog("event.preventDefault()");
@@ -213,17 +201,16 @@ function addWithNullKeyFailure()
transaction.onabort = unexpectedErrorCallback;
var store = evalAndLog("store = transaction.objectStore('storeName')");
- result = evalAndLog("store.add({x: null}, 'validkey')");
- verifyResult(result);
- result.onsuccess = unexpectedSuccessCallback;
- result.onerror = addWithNullIndexFailure;
+ request = evalAndLog("store.add({x: null}, 'validkey')");
+ request.onsuccess = unexpectedSuccessCallback;
+ request.onerror = addWithNullIndexFailure;
}
function addWithNullIndexFailure()
{
+ shouldBeTrue("event.cancelable");
debug("addWithNullIndexFailure():");
- verifyErrorEvent(event);
- shouldBe("event.code", "webkitIDBDatabaseException.DATA_ERR");
+ shouldBe("event.target.errorCode", "webkitIDBDatabaseException.DATA_ERR");
evalAndLog("event.preventDefault()");
@@ -231,42 +218,37 @@ function addWithNullIndexFailure()
transaction.onabort = unexpectedErrorCallback;
var store = evalAndLog("store = transaction.objectStore('storeName')");
- result = evalAndLog("store.get('key')");
- verifyResult(result);
- result.addEventListener('success', getSuccess, true);
- result.onerror = unexpectedErrorCallback;
+ request = evalAndLog("store.get('key')");
+ request.addEventListener('success', getSuccess, true);
+ request.onerror = unexpectedErrorCallback;
}
function getSuccess()
{
debug("getSuccess():");
- verifySuccessEvent(event);
- shouldBeEqualToString("event.result.y", "value");
+ shouldBeEqualToString("event.target.result.y", "value");
- var store = evalAndLog("store = event.source");
- result = evalAndLog("store.get(testDate)");
- result.addEventListener('success', getSuccessDateKey, false);
- result.onerror = unexpectedErrorCallback;
+ var store = evalAndLog("store = event.target.source");
+ request = evalAndLog("store.get(testDate)");
+ request.addEventListener('success', getSuccessDateKey, false);
+ request.onerror = unexpectedErrorCallback;
}
function getSuccessDateKey()
{
debug("getSuccessDateKey():");
- verifySuccessEvent(event);
- shouldBeEqualToString("event.result.x", "foo");
+ shouldBeEqualToString("event.target.result.x", "foo");
- result = evalAndLog("store.delete('key')");
- verifyResult(result);
- result.onsuccess = removeSuccess;
- result.onerror = unexpectedErrorCallback;
+ request = evalAndLog("store.delete('key')");
+ request.onsuccess = removeSuccess;
+ request.onerror = unexpectedErrorCallback;
}
function removeSuccess()
{
debug("removeSuccess():");
- verifySuccessEvent(event);
- shouldBeNull("event.result");
- var store = evalAndLog("store = event.source");
+ shouldBeNull("event.target.result");
+ var store = evalAndLog("store = event.target.source");
try {
debug("Passing an invalid key into store.get().");
diff --git a/LayoutTests/storage/indexeddb/objectstore-clear-expected.txt b/LayoutTests/storage/indexeddb/objectstore-clear-expected.txt
index 5d99fcb..2875fd6 100644
--- a/LayoutTests/storage/indexeddb/objectstore-clear-expected.txt
+++ b/LayoutTests/storage/indexeddb/objectstore-clear-expected.txt
@@ -3,148 +3,30 @@ Test IndexedDB's webkitIDBObjectStore.clear().
On success, you will see a series of "PASS" messages, followed by "TEST COMPLETE".
-webkitIndexedDB.open('name')
-PASS 'onsuccess' in result is true
-PASS 'onerror' in result is true
-PASS 'readyState' in result is true
-An event should fire shortly...
-
-Success event fired:
-PASS 'result' in event is true
-PASS 'code' in event is false
-PASS 'message' in event is false
-PASS 'source' in event is true
-PASS event.source != null is true
-PASS 'onsuccess' in event.target is true
-PASS 'onerror' in event.target is true
-PASS 'readyState' in event.target is true
-PASS event.target.readyState is event.target.DONE
-
-db = event.result
+webkitIndexedDB.open('objectstore-clear')
+db = event.target.result
db.setVersion('new version')
-PASS 'onsuccess' in result is true
-PASS 'onerror' in result is true
-PASS 'readyState' in result is true
-An event should fire shortly...
-
-Success event fired:
-PASS 'result' in event is true
-PASS 'code' in event is false
-PASS 'message' in event is false
-PASS 'source' in event is true
-PASS event.source != null is true
-PASS 'onsuccess' in event.target is true
-PASS 'onerror' in event.target is true
-PASS 'readyState' in event.target is true
-PASS event.target.readyState is event.target.DONE
-
-trans = event.result
+trans = event.target.result
PASS trans !== null is true
Deleted all object stores.
store = db.createObjectStore('storeName', null)
store.createIndex('indexName', '')
PASS store.indexNames.contains('indexName') is true
store.add('value', 'key')
-PASS 'onsuccess' in result is true
-PASS 'onerror' in result is true
-PASS 'readyState' in result is true
-An event should fire shortly...
-
-Success event fired:
-PASS 'result' in event is true
-PASS 'code' in event is false
-PASS 'message' in event is false
-PASS 'source' in event is true
-PASS event.source != null is true
-PASS 'onsuccess' in event.target is true
-PASS 'onerror' in event.target is true
-PASS 'readyState' in event.target is true
-PASS event.target.readyState is event.target.DONE
-
otherStore = db.createObjectStore('otherStoreName', null)
otherStore.add('value', 'key')
-PASS 'onsuccess' in result is true
-PASS 'onerror' in result is true
-PASS 'readyState' in result is true
-An event should fire shortly...
-
-Success event fired:
-PASS 'result' in event is true
-PASS 'code' in event is false
-PASS 'message' in event is false
-PASS 'source' in event is true
-PASS event.source != null is true
-PASS 'onsuccess' in event.target is true
-PASS 'onerror' in event.target is true
-PASS 'readyState' in event.target is true
-PASS event.target.readyState is event.target.DONE
-
store.clear()
-PASS 'onsuccess' in result is true
-PASS 'onerror' in result is true
-PASS 'readyState' in result is true
-An event should fire shortly...
-
-Success event fired:
-PASS 'result' in event is true
-PASS 'code' in event is false
-PASS 'message' in event is false
-PASS 'source' in event is true
-PASS event.source != null is true
-PASS 'onsuccess' in event.target is true
-PASS 'onerror' in event.target is true
-PASS 'readyState' in event.target is true
-PASS event.target.readyState is event.target.DONE
-
-PASS event.result is undefined.
+PASS event.target.result is undefined.
store.openCursor()
-Success event fired:
-PASS 'result' in event is true
-PASS 'code' in event is false
-PASS 'message' in event is false
-PASS 'source' in event is true
-PASS event.source != null is true
-PASS 'onsuccess' in event.target is true
-PASS 'onerror' in event.target is true
-PASS 'readyState' in event.target is true
-PASS event.target.readyState is event.target.DONE
-
-PASS event.result is null
+PASS event.target.result is null
index = store.index('indexName')
index.openKeyCursor()
openKeyCursorSuccess():
-Success event fired:
-PASS 'result' in event is true
-PASS 'code' in event is false
-PASS 'message' in event is false
-PASS 'source' in event is true
-PASS event.source != null is true
-PASS 'onsuccess' in event.target is true
-PASS 'onerror' in event.target is true
-PASS 'readyState' in event.target is true
-PASS event.target.readyState is event.target.DONE
-
-PASS event.result is null
+PASS event.target.result is null
db.transaction({mode: webkitIDBTransaction.READ_WRITE})
otherStore = transaction.objectStore('otherStoreName')
otherStore.get('key')
-PASS 'onsuccess' in result is true
-PASS 'onerror' in result is true
-PASS 'readyState' in result is true
-An event should fire shortly...
-
-Success event fired:
-PASS 'result' in event is true
-PASS 'code' in event is false
-PASS 'message' in event is false
-PASS 'source' in event is true
-PASS event.source != null is true
-PASS 'onsuccess' in event.target is true
-PASS 'onerror' in event.target is true
-PASS 'readyState' in event.target is true
-PASS event.target.readyState is event.target.DONE
-
-PASS event.result is "value"
+PASS event.target.result is "value"
PASS successfullyParsed is true
TEST COMPLETE
diff --git a/LayoutTests/storage/indexeddb/objectstore-clear.html b/LayoutTests/storage/indexeddb/objectstore-clear.html
index 7f4034f..f18848b 100644
--- a/LayoutTests/storage/indexeddb/objectstore-clear.html
+++ b/LayoutTests/storage/indexeddb/objectstore-clear.html
@@ -16,108 +16,89 @@ if (window.layoutTestController)
function test()
{
- result = evalAndLog("webkitIndexedDB.open('name')");
- verifyResult(result);
- result.onsuccess = startSetVersion;
- result.onerror = unexpectedErrorCallback;
+ request = evalAndLog("webkitIndexedDB.open('objectstore-clear')");
+ request.onsuccess = startSetVersion;
+ request.onerror = unexpectedErrorCallback;
}
function startSetVersion()
{
- verifySuccessEvent(event);
- db = evalAndLog("db = event.result");
+ db = evalAndLog("db = event.target.result");
- result = evalAndLog("db.setVersion('new version')");
- verifyResult(result);
- result.onsuccess = deleteExisting;
- result.onerror = unexpectedErrorCallback;
+ request = evalAndLog("db.setVersion('new version')");
+ request.onsuccess = deleteExisting;
+ request.onerror = unexpectedErrorCallback;
}
function deleteExisting()
{
- verifySuccessEvent(event);
- window.trans = evalAndLog("trans = event.result");
+ window.trans = evalAndLog("trans = event.target.result");
shouldBeTrue("trans !== null");
- deleteAllObjectStores(db, createObjectStoreAndAddValue);
-}
+ deleteAllObjectStores(db);
-function createObjectStoreAndAddValue()
-{
store = evalAndLog("store = db.createObjectStore('storeName', null)");
window.index = evalAndLog("store.createIndex('indexName', '')");
shouldBeTrue("store.indexNames.contains('indexName')");
- result = evalAndLog("store.add('value', 'key')");
- verifyResult(result);
- result.onsuccess = createSecondObjectStoreAndAddValue;
- result.onerror = unexpectedErrorCallback;
+ request = evalAndLog("store.add('value', 'key')");
+ request.onsuccess = createSecondObjectStoreAndAddValue;
+ request.onerror = unexpectedErrorCallback;
}
function createSecondObjectStoreAndAddValue()
{
- verifySuccessEvent(event);
-
otherStore = evalAndLog("otherStore = db.createObjectStore('otherStoreName', null)");
- result = evalAndLog("otherStore.add('value', 'key')");
- verifyResult(result);
- result.onsuccess = clearObjectStore;
- result.onerror = unexpectedErrorCallback;
+ request = evalAndLog("otherStore.add('value', 'key')");
+ request.onsuccess = clearObjectStore;
+ request.onerror = unexpectedErrorCallback;
}
function clearObjectStore()
{
- verifySuccessEvent(event);
-
- result = evalAndLog("store.clear()");
- verifyResult(result);
- result.onsuccess = clearSuccess;
- result.onerror = unexpectedErrorCallback;
+ request = evalAndLog("store.clear()");
+ request.onsuccess = clearSuccess;
+ request.onerror = unexpectedErrorCallback;
}
function clearSuccess()
{
- verifySuccessEvent(event);
- shouldBeUndefined("event.result");
+ shouldBeUndefined("event.target.result");
- result = evalAndLog("store.openCursor()");
- result.onsuccess = openCursorSuccess;
- result.onerror = unexpectedErrorCallback;
+ request = evalAndLog("store.openCursor()");
+ request.onsuccess = openCursorSuccess;
+ request.onerror = unexpectedErrorCallback;
}
function openCursorSuccess()
{
- verifySuccessEvent(event);
- shouldBeNull("event.result");
+ shouldBeNull("event.target.result");
index = evalAndLog("index = store.index('indexName')");
- result = evalAndLog("index.openKeyCursor()");
- result.onsuccess = openKeyCursorSuccess;
- result.onerror = unexpectedErrorCallback;
+ request = evalAndLog("index.openKeyCursor()");
+ request.onsuccess = openKeyCursorSuccess;
+ request.onerror = unexpectedErrorCallback;
}
function openKeyCursorSuccess()
{
debug("openKeyCursorSuccess():");
- verifySuccessEvent(event);
- shouldBeNull("event.result");
+ shouldBeNull("event.target.result");
transaction = evalAndLog("db.transaction({mode: webkitIDBTransaction.READ_WRITE})");
transaction.onabort = unexpectedErrorCallback;
var otherStore = evalAndLog("otherStore = transaction.objectStore('otherStoreName')");
- result = evalAndLog("otherStore.get('key')");
- verifyResult(result);
- result.onsuccess = getSuccess;
- result.onerror = unexpectedErrorCallback;
+ request = evalAndLog("otherStore.get('key')");
+ request.onsuccess = getSuccess;
+ request.onerror = unexpectedErrorCallback;
}
function getSuccess()
{
- verifySuccessEvent(event);
- shouldBeEqualToString("event.result", "value");
+ shouldBeEqualToString("event.target.result", "value");
done();
}
diff --git a/LayoutTests/storage/indexeddb/objectstore-cursor-expected.txt b/LayoutTests/storage/indexeddb/objectstore-cursor-expected.txt
index ea789fa..22dedc4 100644
--- a/LayoutTests/storage/indexeddb/objectstore-cursor-expected.txt
+++ b/LayoutTests/storage/indexeddb/objectstore-cursor-expected.txt
@@ -3,877 +3,744 @@ Test IndexedDB's objectStore.openCursor + the cursor it produces in depth.
On success, you will see a series of "PASS" messages, followed by "TEST COMPLETE".
-webkitIndexedDB.open('someDB')
-PASS 'onsuccess' in result is true
-PASS 'onerror' in result is true
-PASS 'readyState' in result is true
-An event should fire shortly...
-
-Success event fired:
-PASS 'result' in event is true
-PASS 'code' in event is false
-PASS 'message' in event is false
-PASS 'source' in event is true
-PASS event.source != null is true
-PASS 'onsuccess' in event.target is true
-PASS 'onerror' in event.target is true
-PASS 'readyState' in event.target is true
-PASS event.target.readyState is event.target.DONE
-
-db = event.result
+webkitIndexedDB.open('objectstore-cursor')
+db = event.target.result
db.setVersion('new version')
-PASS 'onsuccess' in result is true
-PASS 'onerror' in result is true
-PASS 'readyState' in result is true
-An event should fire shortly...
-
-Success event fired:
-PASS 'result' in event is true
-PASS 'code' in event is false
-PASS 'message' in event is false
-PASS 'source' in event is true
-PASS event.source != null is true
-PASS 'onsuccess' in event.target is true
-PASS 'onerror' in event.target is true
-PASS 'readyState' in event.target is true
-PASS event.target.readyState is event.target.DONE
-
-trans = event.result
+trans = event.target.result
PASS trans !== null is true
Deleted all object stores.
db.createObjectStore('someObjectStore')
objectStore.add('', testData[nextToAdd])
-PASS 'onsuccess' in result is true
-PASS 'onerror' in result is true
-PASS 'readyState' in result is true
-An event should fire shortly...
-
-Success event fired:
-PASS 'result' in event is true
-PASS 'code' in event is false
-PASS 'message' in event is false
-PASS 'source' in event is true
-PASS event.source != null is true
-PASS 'onsuccess' in event.target is true
-PASS 'onerror' in event.target is true
-PASS 'readyState' in event.target is true
-PASS event.target.readyState is event.target.DONE
-
objectStore.add('', testData[nextToAdd])
-PASS 'onsuccess' in result is true
-PASS 'onerror' in result is true
-PASS 'readyState' in result is true
-An event should fire shortly...
-
-Success event fired:
-PASS 'result' in event is true
-PASS 'code' in event is false
-PASS 'message' in event is false
-PASS 'source' in event is true
-PASS event.source != null is true
-PASS 'onsuccess' in event.target is true
-PASS 'onerror' in event.target is true
-PASS 'readyState' in event.target is true
-PASS event.target.readyState is event.target.DONE
-
objectStore.add('', testData[nextToAdd])
-PASS 'onsuccess' in result is true
-PASS 'onerror' in result is true
-PASS 'readyState' in result is true
-An event should fire shortly...
-
-Success event fired:
-PASS 'result' in event is true
-PASS 'code' in event is false
-PASS 'message' in event is false
-PASS 'source' in event is true
-PASS event.source != null is true
-PASS 'onsuccess' in event.target is true
-PASS 'onerror' in event.target is true
-PASS 'readyState' in event.target is true
-PASS event.target.readyState is event.target.DONE
-
objectStore.add('', testData[nextToAdd])
-PASS 'onsuccess' in result is true
-PASS 'onerror' in result is true
-PASS 'readyState' in result is true
-An event should fire shortly...
-
-Success event fired:
-PASS 'result' in event is true
-PASS 'code' in event is false
-PASS 'message' in event is false
-PASS 'source' in event is true
-PASS event.source != null is true
-PASS 'onsuccess' in event.target is true
-PASS 'onerror' in event.target is true
-PASS 'readyState' in event.target is true
-PASS event.target.readyState is event.target.DONE
-
objectStore.add('', testData[nextToAdd])
-PASS 'onsuccess' in result is true
-PASS 'onerror' in result is true
-PASS 'readyState' in result is true
-An event should fire shortly...
-
-Success event fired:
-PASS 'result' in event is true
-PASS 'code' in event is false
-PASS 'message' in event is false
-PASS 'source' in event is true
-PASS event.source != null is true
-PASS 'onsuccess' in event.target is true
-PASS 'onerror' in event.target is true
-PASS 'readyState' in event.target is true
-PASS event.target.readyState is event.target.DONE
-
objectStore.add('', testData[nextToAdd])
-PASS 'onsuccess' in result is true
-PASS 'onerror' in result is true
-PASS 'readyState' in result is true
-An event should fire shortly...
-
-Success event fired:
-PASS 'result' in event is true
-PASS 'code' in event is false
-PASS 'message' in event is false
-PASS 'source' in event is true
-PASS event.source != null is true
-PASS 'onsuccess' in event.target is true
-PASS 'onerror' in event.target is true
-PASS 'readyState' in event.target is true
-PASS event.target.readyState is event.target.DONE
-
objectStore.add('', testData[nextToAdd])
-PASS 'onsuccess' in result is true
-PASS 'onerror' in result is true
-PASS 'readyState' in result is true
-An event should fire shortly...
-
Scheduling tests...
Running tests...
Next test: lower open bound is 0; sorted ascending.
-PASS event.result.key is testData[1]
-PASS event.result.key is testData[2]
-PASS event.result.key is testData[3]
-PASS event.result.key is testData[4]
-PASS event.result.key is testData[5]
-PASS event.result.key is testData[6]
-PASS event.result is null
+PASS event.target.result.key is testData[1]
+PASS event.target.result.key is testData[2]
+PASS event.target.result.key is testData[3]
+PASS event.target.result.key is testData[4]
+PASS event.target.result.key is testData[5]
+PASS event.target.result.key is testData[6]
+PASS event.target.result is null
Next test: lower bound is 0; sorted ascending.
-PASS event.result.key is testData[0]
-PASS event.result.key is testData[1]
-PASS event.result.key is testData[2]
-PASS event.result.key is testData[3]
-PASS event.result.key is testData[4]
-PASS event.result.key is testData[5]
-PASS event.result.key is testData[6]
-PASS event.result is null
+PASS event.target.result.key is testData[0]
+PASS event.target.result.key is testData[1]
+PASS event.target.result.key is testData[2]
+PASS event.target.result.key is testData[3]
+PASS event.target.result.key is testData[4]
+PASS event.target.result.key is testData[5]
+PASS event.target.result.key is testData[6]
+PASS event.target.result is null
Next test: upper open bound is 0; sorted ascending.
-PASS event.result is null
+PASS event.target.result is null
Next test: upper bound is 0; sorted ascending.
-PASS event.result.key is testData[0]
-PASS event.result is null
+PASS event.target.result.key is testData[0]
+PASS event.target.result is null
Next test: lower open bound is 0; sorted descending.
-PASS event.result.key is testData[6]
-PASS event.result.key is testData[5]
-PASS event.result.key is testData[4]
-PASS event.result.key is testData[3]
-PASS event.result.key is testData[2]
-PASS event.result.key is testData[1]
-PASS event.result is null
+PASS event.target.result.key is testData[6]
+PASS event.target.result.key is testData[5]
+PASS event.target.result.key is testData[4]
+PASS event.target.result.key is testData[3]
+PASS event.target.result.key is testData[2]
+PASS event.target.result.key is testData[1]
+PASS event.target.result is null
Next test: lower bound is 0; sorted descending.
-PASS event.result.key is testData[6]
-PASS event.result.key is testData[5]
-PASS event.result.key is testData[4]
-PASS event.result.key is testData[3]
-PASS event.result.key is testData[2]
-PASS event.result.key is testData[1]
-PASS event.result.key is testData[0]
-PASS event.result is null
+PASS event.target.result.key is testData[6]
+PASS event.target.result.key is testData[5]
+PASS event.target.result.key is testData[4]
+PASS event.target.result.key is testData[3]
+PASS event.target.result.key is testData[2]
+PASS event.target.result.key is testData[1]
+PASS event.target.result.key is testData[0]
+PASS event.target.result is null
Next test: upper open bound is 0; sorted descending.
-PASS event.result is null
+PASS event.target.result is null
Next test: upper bound is 0; sorted descending.
-PASS event.result.key is testData[0]
-PASS event.result is null
+PASS event.target.result.key is testData[0]
+PASS event.target.result is null
Next test: lower open bound is 0; upper open bound is 6; sorted ascending.
-PASS event.result.key is testData[1]
-PASS event.result.key is testData[2]
-PASS event.result.key is testData[3]
-PASS event.result.key is testData[4]
-PASS event.result.key is testData[5]
-PASS event.result is null
+PASS event.target.result.key is testData[1]
+PASS event.target.result.key is testData[2]
+PASS event.target.result.key is testData[3]
+PASS event.target.result.key is testData[4]
+PASS event.target.result.key is testData[5]
+PASS event.target.result is null
Next test: lower open bound is 0; upper bound is 6; sorted ascending.
-PASS event.result.key is testData[1]
-PASS event.result.key is testData[2]
-PASS event.result.key is testData[3]
-PASS event.result.key is testData[4]
-PASS event.result.key is testData[5]
-PASS event.result.key is testData[6]
-PASS event.result is null
+PASS event.target.result.key is testData[1]
+PASS event.target.result.key is testData[2]
+PASS event.target.result.key is testData[3]
+PASS event.target.result.key is testData[4]
+PASS event.target.result.key is testData[5]
+PASS event.target.result.key is testData[6]
+PASS event.target.result is null
Next test: lower bound is 0; upper open bound is 6; sorted ascending.
-PASS event.result.key is testData[0]
-PASS event.result.key is testData[1]
-PASS event.result.key is testData[2]
-PASS event.result.key is testData[3]
-PASS event.result.key is testData[4]
-PASS event.result.key is testData[5]
-PASS event.result is null
+PASS event.target.result.key is testData[0]
+PASS event.target.result.key is testData[1]
+PASS event.target.result.key is testData[2]
+PASS event.target.result.key is testData[3]
+PASS event.target.result.key is testData[4]
+PASS event.target.result.key is testData[5]
+PASS event.target.result is null
Next test: lower bound is 0; upper bound is 6; sorted ascending.
-PASS event.result.key is testData[0]
-PASS event.result.key is testData[1]
-PASS event.result.key is testData[2]
-PASS event.result.key is testData[3]
-PASS event.result.key is testData[4]
-PASS event.result.key is testData[5]
-PASS event.result.key is testData[6]
-PASS event.result is null
+PASS event.target.result.key is testData[0]
+PASS event.target.result.key is testData[1]
+PASS event.target.result.key is testData[2]
+PASS event.target.result.key is testData[3]
+PASS event.target.result.key is testData[4]
+PASS event.target.result.key is testData[5]
+PASS event.target.result.key is testData[6]
+PASS event.target.result is null
Next test: lower open bound is 0; upper open bound is 6; sorted descending.
-PASS event.result.key is testData[5]
-PASS event.result.key is testData[4]
-PASS event.result.key is testData[3]
-PASS event.result.key is testData[2]
-PASS event.result.key is testData[1]
-PASS event.result is null
+PASS event.target.result.key is testData[5]
+PASS event.target.result.key is testData[4]
+PASS event.target.result.key is testData[3]
+PASS event.target.result.key is testData[2]
+PASS event.target.result.key is testData[1]
+PASS event.target.result is null
Next test: lower open bound is 0; upper bound is 6; sorted descending.
-PASS event.result.key is testData[6]
-PASS event.result.key is testData[5]
-PASS event.result.key is testData[4]
-PASS event.result.key is testData[3]
-PASS event.result.key is testData[2]
-PASS event.result.key is testData[1]
-PASS event.result is null
+PASS event.target.result.key is testData[6]
+PASS event.target.result.key is testData[5]
+PASS event.target.result.key is testData[4]
+PASS event.target.result.key is testData[3]
+PASS event.target.result.key is testData[2]
+PASS event.target.result.key is testData[1]
+PASS event.target.result is null
Next test: lower bound is 0; upper open bound is 6; sorted descending.
-PASS event.result.key is testData[5]
-PASS event.result.key is testData[4]
-PASS event.result.key is testData[3]
-PASS event.result.key is testData[2]
-PASS event.result.key is testData[1]
-PASS event.result.key is testData[0]
-PASS event.result is null
+PASS event.target.result.key is testData[5]
+PASS event.target.result.key is testData[4]
+PASS event.target.result.key is testData[3]
+PASS event.target.result.key is testData[2]
+PASS event.target.result.key is testData[1]
+PASS event.target.result.key is testData[0]
+PASS event.target.result is null
Next test: lower bound is 0; upper bound is 6; sorted descending.
-PASS event.result.key is testData[6]
-PASS event.result.key is testData[5]
-PASS event.result.key is testData[4]
-PASS event.result.key is testData[3]
-PASS event.result.key is testData[2]
-PASS event.result.key is testData[1]
-PASS event.result.key is testData[0]
-PASS event.result is null
+PASS event.target.result.key is testData[6]
+PASS event.target.result.key is testData[5]
+PASS event.target.result.key is testData[4]
+PASS event.target.result.key is testData[3]
+PASS event.target.result.key is testData[2]
+PASS event.target.result.key is testData[1]
+PASS event.target.result.key is testData[0]
+PASS event.target.result is null
Next test: lower open bound is 1; sorted ascending.
-PASS event.result.key is testData[2]
-PASS event.result.key is testData[3]
-PASS event.result.key is testData[4]
-PASS event.result.key is testData[5]
-PASS event.result.key is testData[6]
-PASS event.result is null
+PASS event.target.result.key is testData[2]
+PASS event.target.result.key is testData[3]
+PASS event.target.result.key is testData[4]
+PASS event.target.result.key is testData[5]
+PASS event.target.result.key is testData[6]
+PASS event.target.result is null
Next test: lower bound is 1; sorted ascending.
-PASS event.result.key is testData[1]
-PASS event.result.key is testData[2]
-PASS event.result.key is testData[3]
-PASS event.result.key is testData[4]
-PASS event.result.key is testData[5]
-PASS event.result.key is testData[6]
-PASS event.result is null
+PASS event.target.result.key is testData[1]
+PASS event.target.result.key is testData[2]
+PASS event.target.result.key is testData[3]
+PASS event.target.result.key is testData[4]
+PASS event.target.result.key is testData[5]
+PASS event.target.result.key is testData[6]
+PASS event.target.result is null
Next test: upper open bound is 1; sorted ascending.
-PASS event.result.key is testData[0]
-PASS event.result is null
+PASS event.target.result.key is testData[0]
+PASS event.target.result is null
Next test: upper bound is 1; sorted ascending.
-PASS event.result.key is testData[0]
-PASS event.result.key is testData[1]
-PASS event.result is null
+PASS event.target.result.key is testData[0]
+PASS event.target.result.key is testData[1]
+PASS event.target.result is null
Next test: lower open bound is 1; sorted descending.
-PASS event.result.key is testData[6]
-PASS event.result.key is testData[5]
-PASS event.result.key is testData[4]
-PASS event.result.key is testData[3]
-PASS event.result.key is testData[2]
-PASS event.result is null
+PASS event.target.result.key is testData[6]
+PASS event.target.result.key is testData[5]
+PASS event.target.result.key is testData[4]
+PASS event.target.result.key is testData[3]
+PASS event.target.result.key is testData[2]
+PASS event.target.result is null
Next test: lower bound is 1; sorted descending.
-PASS event.result.key is testData[6]
-PASS event.result.key is testData[5]
-PASS event.result.key is testData[4]
-PASS event.result.key is testData[3]
-PASS event.result.key is testData[2]
-PASS event.result.key is testData[1]
-PASS event.result is null
+PASS event.target.result.key is testData[6]
+PASS event.target.result.key is testData[5]
+PASS event.target.result.key is testData[4]
+PASS event.target.result.key is testData[3]
+PASS event.target.result.key is testData[2]
+PASS event.target.result.key is testData[1]
+PASS event.target.result is null
Next test: upper open bound is 1; sorted descending.
-PASS event.result.key is testData[0]
-PASS event.result is null
+PASS event.target.result.key is testData[0]
+PASS event.target.result is null
Next test: upper bound is 1; sorted descending.
-PASS event.result.key is testData[1]
-PASS event.result.key is testData[0]
-PASS event.result is null
+PASS event.target.result.key is testData[1]
+PASS event.target.result.key is testData[0]
+PASS event.target.result is null
Next test: lower open bound is 1; upper open bound is 6; sorted ascending.
-PASS event.result.key is testData[2]
-PASS event.result.key is testData[3]
-PASS event.result.key is testData[4]
-PASS event.result.key is testData[5]
-PASS event.result is null
+PASS event.target.result.key is testData[2]
+PASS event.target.result.key is testData[3]
+PASS event.target.result.key is testData[4]
+PASS event.target.result.key is testData[5]
+PASS event.target.result is null
Next test: lower open bound is 1; upper bound is 6; sorted ascending.
-PASS event.result.key is testData[2]
-PASS event.result.key is testData[3]
-PASS event.result.key is testData[4]
-PASS event.result.key is testData[5]
-PASS event.result.key is testData[6]
-PASS event.result is null
+PASS event.target.result.key is testData[2]
+PASS event.target.result.key is testData[3]
+PASS event.target.result.key is testData[4]
+PASS event.target.result.key is testData[5]
+PASS event.target.result.key is testData[6]
+PASS event.target.result is null
Next test: lower bound is 1; upper open bound is 6; sorted ascending.
-PASS event.result.key is testData[1]
-PASS event.result.key is testData[2]
-PASS event.result.key is testData[3]
-PASS event.result.key is testData[4]
-PASS event.result.key is testData[5]
-PASS event.result is null
+PASS event.target.result.key is testData[1]
+PASS event.target.result.key is testData[2]
+PASS event.target.result.key is testData[3]
+PASS event.target.result.key is testData[4]
+PASS event.target.result.key is testData[5]
+PASS event.target.result is null
Next test: lower bound is 1; upper bound is 6; sorted ascending.
-PASS event.result.key is testData[1]
-PASS event.result.key is testData[2]
-PASS event.result.key is testData[3]
-PASS event.result.key is testData[4]
-PASS event.result.key is testData[5]
-PASS event.result.key is testData[6]
-PASS event.result is null
+PASS event.target.result.key is testData[1]
+PASS event.target.result.key is testData[2]
+PASS event.target.result.key is testData[3]
+PASS event.target.result.key is testData[4]
+PASS event.target.result.key is testData[5]
+PASS event.target.result.key is testData[6]
+PASS event.target.result is null
Next test: lower open bound is 1; upper open bound is 6; sorted descending.
-PASS event.result.key is testData[5]
-PASS event.result.key is testData[4]
-PASS event.result.key is testData[3]
-PASS event.result.key is testData[2]
-PASS event.result is null
+PASS event.target.result.key is testData[5]
+PASS event.target.result.key is testData[4]
+PASS event.target.result.key is testData[3]
+PASS event.target.result.key is testData[2]
+PASS event.target.result is null
Next test: lower open bound is 1; upper bound is 6; sorted descending.
-PASS event.result.key is testData[6]
-PASS event.result.key is testData[5]
-PASS event.result.key is testData[4]
-PASS event.result.key is testData[3]
-PASS event.result.key is testData[2]
-PASS event.result is null
+PASS event.target.result.key is testData[6]
+PASS event.target.result.key is testData[5]
+PASS event.target.result.key is testData[4]
+PASS event.target.result.key is testData[3]
+PASS event.target.result.key is testData[2]
+PASS event.target.result is null
Next test: lower bound is 1; upper open bound is 6; sorted descending.
-PASS event.result.key is testData[5]
-PASS event.result.key is testData[4]
-PASS event.result.key is testData[3]
-PASS event.result.key is testData[2]
-PASS event.result.key is testData[1]
-PASS event.result is null
+PASS event.target.result.key is testData[5]
+PASS event.target.result.key is testData[4]
+PASS event.target.result.key is testData[3]
+PASS event.target.result.key is testData[2]
+PASS event.target.result.key is testData[1]
+PASS event.target.result is null
Next test: lower bound is 1; upper bound is 6; sorted descending.
-PASS event.result.key is testData[6]
-PASS event.result.key is testData[5]
-PASS event.result.key is testData[4]
-PASS event.result.key is testData[3]
-PASS event.result.key is testData[2]
-PASS event.result.key is testData[1]
-PASS event.result is null
+PASS event.target.result.key is testData[6]
+PASS event.target.result.key is testData[5]
+PASS event.target.result.key is testData[4]
+PASS event.target.result.key is testData[3]
+PASS event.target.result.key is testData[2]
+PASS event.target.result.key is testData[1]
+PASS event.target.result is null
Next test: lower open bound is 2; sorted ascending.
-PASS event.result.key is testData[3]
-PASS event.result.key is testData[4]
-PASS event.result.key is testData[5]
-PASS event.result.key is testData[6]
-PASS event.result is null
+PASS event.target.result.key is testData[3]
+PASS event.target.result.key is testData[4]
+PASS event.target.result.key is testData[5]
+PASS event.target.result.key is testData[6]
+PASS event.target.result is null
Next test: lower bound is 2; sorted ascending.
-PASS event.result.key is testData[2]
-PASS event.result.key is testData[3]
-PASS event.result.key is testData[4]
-PASS event.result.key is testData[5]
-PASS event.result.key is testData[6]
-PASS event.result is null
+PASS event.target.result.key is testData[2]
+PASS event.target.result.key is testData[3]
+PASS event.target.result.key is testData[4]
+PASS event.target.result.key is testData[5]
+PASS event.target.result.key is testData[6]
+PASS event.target.result is null
Next test: upper open bound is 2; sorted ascending.
-PASS event.result.key is testData[0]
-PASS event.result.key is testData[1]
-PASS event.result is null
+PASS event.target.result.key is testData[0]
+PASS event.target.result.key is testData[1]
+PASS event.target.result is null
Next test: upper bound is 2; sorted ascending.
-PASS event.result.key is testData[0]
-PASS event.result.key is testData[1]
-PASS event.result.key is testData[2]
-PASS event.result is null
+PASS event.target.result.key is testData[0]
+PASS event.target.result.key is testData[1]
+PASS event.target.result.key is testData[2]
+PASS event.target.result is null
Next test: lower open bound is 2; sorted descending.
-PASS event.result.key is testData[6]
-PASS event.result.key is testData[5]
-PASS event.result.key is testData[4]
-PASS event.result.key is testData[3]
-PASS event.result is null
+PASS event.target.result.key is testData[6]
+PASS event.target.result.key is testData[5]
+PASS event.target.result.key is testData[4]
+PASS event.target.result.key is testData[3]
+PASS event.target.result is null
Next test: lower bound is 2; sorted descending.
-PASS event.result.key is testData[6]
-PASS event.result.key is testData[5]
-PASS event.result.key is testData[4]
-PASS event.result.key is testData[3]
-PASS event.result.key is testData[2]
-PASS event.result is null
+PASS event.target.result.key is testData[6]
+PASS event.target.result.key is testData[5]
+PASS event.target.result.key is testData[4]
+PASS event.target.result.key is testData[3]
+PASS event.target.result.key is testData[2]
+PASS event.target.result is null
Next test: upper open bound is 2; sorted descending.
-PASS event.result.key is testData[1]
-PASS event.result.key is testData[0]
-PASS event.result is null
+PASS event.target.result.key is testData[1]
+PASS event.target.result.key is testData[0]
+PASS event.target.result is null
Next test: upper bound is 2; sorted descending.
-PASS event.result.key is testData[2]
-PASS event.result.key is testData[1]
-PASS event.result.key is testData[0]
-PASS event.result is null
+PASS event.target.result.key is testData[2]
+PASS event.target.result.key is testData[1]
+PASS event.target.result.key is testData[0]
+PASS event.target.result is null
Next test: lower open bound is 2; upper open bound is 6; sorted ascending.
-PASS event.result.key is testData[3]
-PASS event.result.key is testData[4]
-PASS event.result.key is testData[5]
-PASS event.result is null
+PASS event.target.result.key is testData[3]
+PASS event.target.result.key is testData[4]
+PASS event.target.result.key is testData[5]
+PASS event.target.result is null
Next test: lower open bound is 2; upper bound is 6; sorted ascending.
-PASS event.result.key is testData[3]
-PASS event.result.key is testData[4]
-PASS event.result.key is testData[5]
-PASS event.result.key is testData[6]
-PASS event.result is null
+PASS event.target.result.key is testData[3]
+PASS event.target.result.key is testData[4]
+PASS event.target.result.key is testData[5]
+PASS event.target.result.key is testData[6]
+PASS event.target.result is null
Next test: lower bound is 2; upper open bound is 6; sorted ascending.
-PASS event.result.key is testData[2]
-PASS event.result.key is testData[3]
-PASS event.result.key is testData[4]
-PASS event.result.key is testData[5]
-PASS event.result is null
+PASS event.target.result.key is testData[2]
+PASS event.target.result.key is testData[3]
+PASS event.target.result.key is testData[4]
+PASS event.target.result.key is testData[5]
+PASS event.target.result is null
Next test: lower bound is 2; upper bound is 6; sorted ascending.
-PASS event.result.key is testData[2]
-PASS event.result.key is testData[3]
-PASS event.result.key is testData[4]
-PASS event.result.key is testData[5]
-PASS event.result.key is testData[6]
-PASS event.result is null
+PASS event.target.result.key is testData[2]
+PASS event.target.result.key is testData[3]
+PASS event.target.result.key is testData[4]
+PASS event.target.result.key is testData[5]
+PASS event.target.result.key is testData[6]
+PASS event.target.result is null
Next test: lower open bound is 2; upper open bound is 6; sorted descending.
-PASS event.result.key is testData[5]
-PASS event.result.key is testData[4]
-PASS event.result.key is testData[3]
-PASS event.result is null
+PASS event.target.result.key is testData[5]
+PASS event.target.result.key is testData[4]
+PASS event.target.result.key is testData[3]
+PASS event.target.result is null
Next test: lower open bound is 2; upper bound is 6; sorted descending.
-PASS event.result.key is testData[6]
-PASS event.result.key is testData[5]
-PASS event.result.key is testData[4]
-PASS event.result.key is testData[3]
-PASS event.result is null
+PASS event.target.result.key is testData[6]
+PASS event.target.result.key is testData[5]
+PASS event.target.result.key is testData[4]
+PASS event.target.result.key is testData[3]
+PASS event.target.result is null
Next test: lower bound is 2; upper open bound is 6; sorted descending.
-PASS event.result.key is testData[5]
-PASS event.result.key is testData[4]
-PASS event.result.key is testData[3]
-PASS event.result.key is testData[2]
-PASS event.result is null
+PASS event.target.result.key is testData[5]
+PASS event.target.result.key is testData[4]
+PASS event.target.result.key is testData[3]
+PASS event.target.result.key is testData[2]
+PASS event.target.result is null
Next test: lower bound is 2; upper bound is 6; sorted descending.
-PASS event.result.key is testData[6]
-PASS event.result.key is testData[5]
-PASS event.result.key is testData[4]
-PASS event.result.key is testData[3]
-PASS event.result.key is testData[2]
-PASS event.result is null
+PASS event.target.result.key is testData[6]
+PASS event.target.result.key is testData[5]
+PASS event.target.result.key is testData[4]
+PASS event.target.result.key is testData[3]
+PASS event.target.result.key is testData[2]
+PASS event.target.result is null
Next test: lower open bound is 3; sorted ascending.
-PASS event.result.key is testData[4]
-PASS event.result.key is testData[5]
-PASS event.result.key is testData[6]
-PASS event.result is null
+PASS event.target.result.key is testData[4]
+PASS event.target.result.key is testData[5]
+PASS event.target.result.key is testData[6]
+PASS event.target.result is null
Next test: lower bound is 3; sorted ascending.
-PASS event.result.key is testData[3]
-PASS event.result.key is testData[4]
-PASS event.result.key is testData[5]
-PASS event.result.key is testData[6]
-PASS event.result is null
+PASS event.target.result.key is testData[3]
+PASS event.target.result.key is testData[4]
+PASS event.target.result.key is testData[5]
+PASS event.target.result.key is testData[6]
+PASS event.target.result is null
Next test: upper open bound is 3; sorted ascending.
-PASS event.result.key is testData[0]
-PASS event.result.key is testData[1]
-PASS event.result.key is testData[2]
-PASS event.result is null
+PASS event.target.result.key is testData[0]
+PASS event.target.result.key is testData[1]
+PASS event.target.result.key is testData[2]
+PASS event.target.result is null
Next test: upper bound is 3; sorted ascending.
-PASS event.result.key is testData[0]
-PASS event.result.key is testData[1]
-PASS event.result.key is testData[2]
-PASS event.result.key is testData[3]
-PASS event.result is null
+PASS event.target.result.key is testData[0]
+PASS event.target.result.key is testData[1]
+PASS event.target.result.key is testData[2]
+PASS event.target.result.key is testData[3]
+PASS event.target.result is null
Next test: lower open bound is 3; sorted descending.
-PASS event.result.key is testData[6]
-PASS event.result.key is testData[5]
-PASS event.result.key is testData[4]
-PASS event.result is null
+PASS event.target.result.key is testData[6]
+PASS event.target.result.key is testData[5]
+PASS event.target.result.key is testData[4]
+PASS event.target.result is null
Next test: lower bound is 3; sorted descending.
-PASS event.result.key is testData[6]
-PASS event.result.key is testData[5]
-PASS event.result.key is testData[4]
-PASS event.result.key is testData[3]
-PASS event.result is null
+PASS event.target.result.key is testData[6]
+PASS event.target.result.key is testData[5]
+PASS event.target.result.key is testData[4]
+PASS event.target.result.key is testData[3]
+PASS event.target.result is null
Next test: upper open bound is 3; sorted descending.
-PASS event.result.key is testData[2]
-PASS event.result.key is testData[1]
-PASS event.result.key is testData[0]
-PASS event.result is null
+PASS event.target.result.key is testData[2]
+PASS event.target.result.key is testData[1]
+PASS event.target.result.key is testData[0]
+PASS event.target.result is null
Next test: upper bound is 3; sorted descending.
-PASS event.result.key is testData[3]
-PASS event.result.key is testData[2]
-PASS event.result.key is testData[1]
-PASS event.result.key is testData[0]
-PASS event.result is null
+PASS event.target.result.key is testData[3]
+PASS event.target.result.key is testData[2]
+PASS event.target.result.key is testData[1]
+PASS event.target.result.key is testData[0]
+PASS event.target.result is null
Next test: lower open bound is 3; upper open bound is 6; sorted ascending.
-PASS event.result.key is testData[4]
-PASS event.result.key is testData[5]
-PASS event.result is null
+PASS event.target.result.key is testData[4]
+PASS event.target.result.key is testData[5]
+PASS event.target.result is null
Next test: lower open bound is 3; upper bound is 6; sorted ascending.
-PASS event.result.key is testData[4]
-PASS event.result.key is testData[5]
-PASS event.result.key is testData[6]
-PASS event.result is null
+PASS event.target.result.key is testData[4]
+PASS event.target.result.key is testData[5]
+PASS event.target.result.key is testData[6]
+PASS event.target.result is null
Next test: lower bound is 3; upper open bound is 6; sorted ascending.
-PASS event.result.key is testData[3]
-PASS event.result.key is testData[4]
-PASS event.result.key is testData[5]
-PASS event.result is null
+PASS event.target.result.key is testData[3]
+PASS event.target.result.key is testData[4]
+PASS event.target.result.key is testData[5]
+PASS event.target.result is null
Next test: lower bound is 3; upper bound is 6; sorted ascending.
-PASS event.result.key is testData[3]
-PASS event.result.key is testData[4]
-PASS event.result.key is testData[5]
-PASS event.result.key is testData[6]
-PASS event.result is null
+PASS event.target.result.key is testData[3]
+PASS event.target.result.key is testData[4]
+PASS event.target.result.key is testData[5]
+PASS event.target.result.key is testData[6]
+PASS event.target.result is null
Next test: lower open bound is 3; upper open bound is 6; sorted descending.
-PASS event.result.key is testData[5]
-PASS event.result.key is testData[4]
-PASS event.result is null
+PASS event.target.result.key is testData[5]
+PASS event.target.result.key is testData[4]
+PASS event.target.result is null
Next test: lower open bound is 3; upper bound is 6; sorted descending.
-PASS event.result.key is testData[6]
-PASS event.result.key is testData[5]
-PASS event.result.key is testData[4]
-PASS event.result is null
+PASS event.target.result.key is testData[6]
+PASS event.target.result.key is testData[5]
+PASS event.target.result.key is testData[4]
+PASS event.target.result is null
Next test: lower bound is 3; upper open bound is 6; sorted descending.
-PASS event.result.key is testData[5]
-PASS event.result.key is testData[4]
-PASS event.result.key is testData[3]
-PASS event.result is null
+PASS event.target.result.key is testData[5]
+PASS event.target.result.key is testData[4]
+PASS event.target.result.key is testData[3]
+PASS event.target.result is null
Next test: lower bound is 3; upper bound is 6; sorted descending.
-PASS event.result.key is testData[6]
-PASS event.result.key is testData[5]
-PASS event.result.key is testData[4]
-PASS event.result.key is testData[3]
-PASS event.result is null
+PASS event.target.result.key is testData[6]
+PASS event.target.result.key is testData[5]
+PASS event.target.result.key is testData[4]
+PASS event.target.result.key is testData[3]
+PASS event.target.result is null
Next test: lower open bound is 4; sorted ascending.
-PASS event.result.key is testData[5]
-PASS event.result.key is testData[6]
-PASS event.result is null
+PASS event.target.result.key is testData[5]
+PASS event.target.result.key is testData[6]
+PASS event.target.result is null
Next test: lower bound is 4; sorted ascending.
-PASS event.result.key is testData[4]
-PASS event.result.key is testData[5]
-PASS event.result.key is testData[6]
-PASS event.result is null
+PASS event.target.result.key is testData[4]
+PASS event.target.result.key is testData[5]
+PASS event.target.result.key is testData[6]
+PASS event.target.result is null
Next test: upper open bound is 4; sorted ascending.
-PASS event.result.key is testData[0]
-PASS event.result.key is testData[1]
-PASS event.result.key is testData[2]
-PASS event.result.key is testData[3]
-PASS event.result is null
+PASS event.target.result.key is testData[0]
+PASS event.target.result.key is testData[1]
+PASS event.target.result.key is testData[2]
+PASS event.target.result.key is testData[3]
+PASS event.target.result is null
Next test: upper bound is 4; sorted ascending.
-PASS event.result.key is testData[0]
-PASS event.result.key is testData[1]
-PASS event.result.key is testData[2]
-PASS event.result.key is testData[3]
-PASS event.result.key is testData[4]
-PASS event.result is null
+PASS event.target.result.key is testData[0]
+PASS event.target.result.key is testData[1]
+PASS event.target.result.key is testData[2]
+PASS event.target.result.key is testData[3]
+PASS event.target.result.key is testData[4]
+PASS event.target.result is null
Next test: lower open bound is 4; sorted descending.
-PASS event.result.key is testData[6]
-PASS event.result.key is testData[5]
-PASS event.result is null
+PASS event.target.result.key is testData[6]
+PASS event.target.result.key is testData[5]
+PASS event.target.result is null
Next test: lower bound is 4; sorted descending.
-PASS event.result.key is testData[6]
-PASS event.result.key is testData[5]
-PASS event.result.key is testData[4]
-PASS event.result is null
+PASS event.target.result.key is testData[6]
+PASS event.target.result.key is testData[5]
+PASS event.target.result.key is testData[4]
+PASS event.target.result is null
Next test: upper open bound is 4; sorted descending.
-PASS event.result.key is testData[3]
-PASS event.result.key is testData[2]
-PASS event.result.key is testData[1]
-PASS event.result.key is testData[0]
-PASS event.result is null
+PASS event.target.result.key is testData[3]
+PASS event.target.result.key is testData[2]
+PASS event.target.result.key is testData[1]
+PASS event.target.result.key is testData[0]
+PASS event.target.result is null
Next test: upper bound is 4; sorted descending.
-PASS event.result.key is testData[4]
-PASS event.result.key is testData[3]
-PASS event.result.key is testData[2]
-PASS event.result.key is testData[1]
-PASS event.result.key is testData[0]
-PASS event.result is null
+PASS event.target.result.key is testData[4]
+PASS event.target.result.key is testData[3]
+PASS event.target.result.key is testData[2]
+PASS event.target.result.key is testData[1]
+PASS event.target.result.key is testData[0]
+PASS event.target.result is null
Next test: lower open bound is 4; upper open bound is 6; sorted ascending.
-PASS event.result.key is testData[5]
-PASS event.result is null
+PASS event.target.result.key is testData[5]
+PASS event.target.result is null
Next test: lower open bound is 4; upper bound is 6; sorted ascending.
-PASS event.result.key is testData[5]
-PASS event.result.key is testData[6]
-PASS event.result is null
+PASS event.target.result.key is testData[5]
+PASS event.target.result.key is testData[6]
+PASS event.target.result is null
Next test: lower bound is 4; upper open bound is 6; sorted ascending.
-PASS event.result.key is testData[4]
-PASS event.result.key is testData[5]
-PASS event.result is null
+PASS event.target.result.key is testData[4]
+PASS event.target.result.key is testData[5]
+PASS event.target.result is null
Next test: lower bound is 4; upper bound is 6; sorted ascending.
-PASS event.result.key is testData[4]
-PASS event.result.key is testData[5]
-PASS event.result.key is testData[6]
-PASS event.result is null
+PASS event.target.result.key is testData[4]
+PASS event.target.result.key is testData[5]
+PASS event.target.result.key is testData[6]
+PASS event.target.result is null
Next test: lower open bound is 4; upper open bound is 6; sorted descending.
-PASS event.result.key is testData[5]
-PASS event.result is null
+PASS event.target.result.key is testData[5]
+PASS event.target.result is null
Next test: lower open bound is 4; upper bound is 6; sorted descending.
-PASS event.result.key is testData[6]
-PASS event.result.key is testData[5]
-PASS event.result is null
+PASS event.target.result.key is testData[6]
+PASS event.target.result.key is testData[5]
+PASS event.target.result is null
Next test: lower bound is 4; upper open bound is 6; sorted descending.
-PASS event.result.key is testData[5]
-PASS event.result.key is testData[4]
-PASS event.result is null
+PASS event.target.result.key is testData[5]
+PASS event.target.result.key is testData[4]
+PASS event.target.result is null
Next test: lower bound is 4; upper bound is 6; sorted descending.
-PASS event.result.key is testData[6]
-PASS event.result.key is testData[5]
-PASS event.result.key is testData[4]
-PASS event.result is null
+PASS event.target.result.key is testData[6]
+PASS event.target.result.key is testData[5]
+PASS event.target.result.key is testData[4]
+PASS event.target.result is null
Next test: lower open bound is 5; sorted ascending.
-PASS event.result.key is testData[6]
-PASS event.result is null
+PASS event.target.result.key is testData[6]
+PASS event.target.result is null
Next test: lower bound is 5; sorted ascending.
-PASS event.result.key is testData[5]
-PASS event.result.key is testData[6]
-PASS event.result is null
+PASS event.target.result.key is testData[5]
+PASS event.target.result.key is testData[6]
+PASS event.target.result is null
Next test: upper open bound is 5; sorted ascending.
-PASS event.result.key is testData[0]
-PASS event.result.key is testData[1]
-PASS event.result.key is testData[2]
-PASS event.result.key is testData[3]
-PASS event.result.key is testData[4]
-PASS event.result is null
+PASS event.target.result.key is testData[0]
+PASS event.target.result.key is testData[1]
+PASS event.target.result.key is testData[2]
+PASS event.target.result.key is testData[3]
+PASS event.target.result.key is testData[4]
+PASS event.target.result is null
Next test: upper bound is 5; sorted ascending.
-PASS event.result.key is testData[0]
-PASS event.result.key is testData[1]
-PASS event.result.key is testData[2]
-PASS event.result.key is testData[3]
-PASS event.result.key is testData[4]
-PASS event.result.key is testData[5]
-PASS event.result is null
+PASS event.target.result.key is testData[0]
+PASS event.target.result.key is testData[1]
+PASS event.target.result.key is testData[2]
+PASS event.target.result.key is testData[3]
+PASS event.target.result.key is testData[4]
+PASS event.target.result.key is testData[5]
+PASS event.target.result is null
Next test: lower open bound is 5; sorted descending.
-PASS event.result.key is testData[6]
-PASS event.result is null
+PASS event.target.result.key is testData[6]
+PASS event.target.result is null
Next test: lower bound is 5; sorted descending.
-PASS event.result.key is testData[6]
-PASS event.result.key is testData[5]
-PASS event.result is null
+PASS event.target.result.key is testData[6]
+PASS event.target.result.key is testData[5]
+PASS event.target.result is null
Next test: upper open bound is 5; sorted descending.
-PASS event.result.key is testData[4]
-PASS event.result.key is testData[3]
-PASS event.result.key is testData[2]
-PASS event.result.key is testData[1]
-PASS event.result.key is testData[0]
-PASS event.result is null
+PASS event.target.result.key is testData[4]
+PASS event.target.result.key is testData[3]
+PASS event.target.result.key is testData[2]
+PASS event.target.result.key is testData[1]
+PASS event.target.result.key is testData[0]
+PASS event.target.result is null
Next test: upper bound is 5; sorted descending.
-PASS event.result.key is testData[5]
-PASS event.result.key is testData[4]
-PASS event.result.key is testData[3]
-PASS event.result.key is testData[2]
-PASS event.result.key is testData[1]
-PASS event.result.key is testData[0]
-PASS event.result is null
+PASS event.target.result.key is testData[5]
+PASS event.target.result.key is testData[4]
+PASS event.target.result.key is testData[3]
+PASS event.target.result.key is testData[2]
+PASS event.target.result.key is testData[1]
+PASS event.target.result.key is testData[0]
+PASS event.target.result is null
Next test: lower open bound is 5; upper open bound is 6; sorted ascending.
-PASS event.result is null
+PASS event.target.result is null
Next test: lower open bound is 5; upper bound is 6; sorted ascending.
-PASS event.result.key is testData[6]
-PASS event.result is null
+PASS event.target.result.key is testData[6]
+PASS event.target.result is null
Next test: lower bound is 5; upper open bound is 6; sorted ascending.
-PASS event.result.key is testData[5]
-PASS event.result is null
+PASS event.target.result.key is testData[5]
+PASS event.target.result is null
Next test: lower bound is 5; upper bound is 6; sorted ascending.
-PASS event.result.key is testData[5]
-PASS event.result.key is testData[6]
-PASS event.result is null
+PASS event.target.result.key is testData[5]
+PASS event.target.result.key is testData[6]
+PASS event.target.result is null
Next test: lower open bound is 5; upper open bound is 6; sorted descending.
-PASS event.result is null
+PASS event.target.result is null
Next test: lower open bound is 5; upper bound is 6; sorted descending.
-PASS event.result.key is testData[6]
-PASS event.result is null
+PASS event.target.result.key is testData[6]
+PASS event.target.result is null
Next test: lower bound is 5; upper open bound is 6; sorted descending.
-PASS event.result.key is testData[5]
-PASS event.result is null
+PASS event.target.result.key is testData[5]
+PASS event.target.result is null
Next test: lower bound is 5; upper bound is 6; sorted descending.
-PASS event.result.key is testData[6]
-PASS event.result.key is testData[5]
-PASS event.result is null
+PASS event.target.result.key is testData[6]
+PASS event.target.result.key is testData[5]
+PASS event.target.result is null
Next test: lower open bound is 6; sorted ascending.
-PASS event.result is null
+PASS event.target.result is null
Next test: lower bound is 6; sorted ascending.
-PASS event.result.key is testData[6]
-PASS event.result is null
+PASS event.target.result.key is testData[6]
+PASS event.target.result is null
Next test: upper open bound is 6; sorted ascending.
-PASS event.result.key is testData[0]
-PASS event.result.key is testData[1]
-PASS event.result.key is testData[2]
-PASS event.result.key is testData[3]
-PASS event.result.key is testData[4]
-PASS event.result.key is testData[5]
-PASS event.result is null
+PASS event.target.result.key is testData[0]
+PASS event.target.result.key is testData[1]
+PASS event.target.result.key is testData[2]
+PASS event.target.result.key is testData[3]
+PASS event.target.result.key is testData[4]
+PASS event.target.result.key is testData[5]
+PASS event.target.result is null
Next test: upper bound is 6; sorted ascending.
-PASS event.result.key is testData[0]
-PASS event.result.key is testData[1]
-PASS event.result.key is testData[2]
-PASS event.result.key is testData[3]
-PASS event.result.key is testData[4]
-PASS event.result.key is testData[5]
-PASS event.result.key is testData[6]
-PASS event.result is null
+PASS event.target.result.key is testData[0]
+PASS event.target.result.key is testData[1]
+PASS event.target.result.key is testData[2]
+PASS event.target.result.key is testData[3]
+PASS event.target.result.key is testData[4]
+PASS event.target.result.key is testData[5]
+PASS event.target.result.key is testData[6]
+PASS event.target.result is null
Next test: lower open bound is 6; sorted descending.
-PASS event.result is null
+PASS event.target.result is null
Next test: lower bound is 6; sorted descending.
-PASS event.result.key is testData[6]
-PASS event.result is null
+PASS event.target.result.key is testData[6]
+PASS event.target.result is null
Next test: upper open bound is 6; sorted descending.
-PASS event.result.key is testData[5]
-PASS event.result.key is testData[4]
-PASS event.result.key is testData[3]
-PASS event.result.key is testData[2]
-PASS event.result.key is testData[1]
-PASS event.result.key is testData[0]
-PASS event.result is null
+PASS event.target.result.key is testData[5]
+PASS event.target.result.key is testData[4]
+PASS event.target.result.key is testData[3]
+PASS event.target.result.key is testData[2]
+PASS event.target.result.key is testData[1]
+PASS event.target.result.key is testData[0]
+PASS event.target.result is null
Next test: upper bound is 6; sorted descending.
-PASS event.result.key is testData[6]
-PASS event.result.key is testData[5]
-PASS event.result.key is testData[4]
-PASS event.result.key is testData[3]
-PASS event.result.key is testData[2]
-PASS event.result.key is testData[1]
-PASS event.result.key is testData[0]
-PASS event.result is null
+PASS event.target.result.key is testData[6]
+PASS event.target.result.key is testData[5]
+PASS event.target.result.key is testData[4]
+PASS event.target.result.key is testData[3]
+PASS event.target.result.key is testData[2]
+PASS event.target.result.key is testData[1]
+PASS event.target.result.key is testData[0]
+PASS event.target.result is null
Next test: lower open bound is 6; upper open bound is 6; sorted ascending.
-PASS event.result is null
+PASS event.target.result is null
Next test: lower open bound is 6; upper bound is 6; sorted ascending.
-PASS event.result is null
+PASS event.target.result is null
Next test: lower bound is 6; upper open bound is 6; sorted ascending.
-PASS event.result is null
+PASS event.target.result is null
Next test: lower bound is 6; upper bound is 6; sorted ascending.
-PASS event.result.key is testData[6]
-PASS event.result is null
+PASS event.target.result.key is testData[6]
+PASS event.target.result is null
Next test: lower open bound is 6; upper open bound is 6; sorted descending.
-PASS event.result is null
+PASS event.target.result is null
Next test: lower open bound is 6; upper bound is 6; sorted descending.
-PASS event.result is null
+PASS event.target.result is null
Next test: lower bound is 6; upper open bound is 6; sorted descending.
-PASS event.result is null
+PASS event.target.result is null
Next test: lower bound is 6; upper bound is 6; sorted descending.
-PASS event.result.key is testData[6]
-PASS event.result is null
+PASS event.target.result.key is testData[6]
+PASS event.target.result is null
Next test: null key path sorted ascending.
-PASS event.result.key is testData[0]
-PASS event.result.key is testData[1]
-PASS event.result.key is testData[2]
-PASS event.result.key is testData[3]
-PASS event.result.key is testData[4]
-PASS event.result.key is testData[5]
-PASS event.result.key is testData[6]
-PASS event.result is null
+PASS event.target.result.key is testData[0]
+PASS event.target.result.key is testData[1]
+PASS event.target.result.key is testData[2]
+PASS event.target.result.key is testData[3]
+PASS event.target.result.key is testData[4]
+PASS event.target.result.key is testData[5]
+PASS event.target.result.key is testData[6]
+PASS event.target.result is null
Next test: null key path sorted descending.
-PASS event.result.key is testData[6]
-PASS event.result.key is testData[5]
-PASS event.result.key is testData[4]
-PASS event.result.key is testData[3]
-PASS event.result.key is testData[2]
-PASS event.result.key is testData[1]
-PASS event.result.key is testData[0]
-PASS event.result is null
+PASS event.target.result.key is testData[6]
+PASS event.target.result.key is testData[5]
+PASS event.target.result.key is testData[4]
+PASS event.target.result.key is testData[3]
+PASS event.target.result.key is testData[2]
+PASS event.target.result.key is testData[1]
+PASS event.target.result.key is testData[0]
+PASS event.target.result is null
PASS successfullyParsed is true
TEST COMPLETE
diff --git a/LayoutTests/storage/indexeddb/objectstore-cursor.html b/LayoutTests/storage/indexeddb/objectstore-cursor.html
index bb7b65b..4f9e66f 100644
--- a/LayoutTests/storage/indexeddb/objectstore-cursor.html
+++ b/LayoutTests/storage/indexeddb/objectstore-cursor.html
@@ -28,35 +28,28 @@ window.testData = [
function openDatabase()
{
- result = evalAndLog("webkitIndexedDB.open('someDB')");
- verifyResult(result);
- result.onsuccess = setVersion;
- result.onerror = unexpectedErrorCallback;
+ request = evalAndLog("webkitIndexedDB.open('objectstore-cursor')");
+ request.onsuccess = setVersion;
+ request.onerror = unexpectedErrorCallback;
}
function setVersion()
{
- verifySuccessEvent(event);
- window.db = evalAndLog("db = event.result");
+ window.db = evalAndLog("db = event.target.result");
- result = evalAndLog("db.setVersion('new version')");
- verifyResult(result);
- result.onsuccess = deleteExisting;
- result.onerror = unexpectedErrorCallback;
+ request = evalAndLog("db.setVersion('new version')");
+ request.onsuccess = deleteExisting;
+ request.onerror = unexpectedErrorCallback;
}
function deleteExisting()
{
- verifySuccessEvent(event);
- window.trans = evalAndLog("trans = event.result");
+ window.trans = evalAndLog("trans = event.target.result");
shouldBeTrue("trans !== null");
trans.onabort = unexpectedAbortCallback;
- deleteAllObjectStores(db, startAddingData);
-}
-
-function startAddingData()
-{
+ deleteAllObjectStores(db);
+
window.objectStore = evalAndLog("db.createObjectStore('someObjectStore')");
window.nextToAdd = 0;
addData();
@@ -64,13 +57,9 @@ function startAddingData()
function addData()
{
- if (window.nextToAdd > 0)
- verifySuccessEvent(event);
-
- result = evalAndLog("objectStore.add('', testData[nextToAdd])");
- verifyResult(result);
- result.onsuccess = ++window.nextToAdd < testData.length ? addData : scheduleTests;
- result.onerror = unexpectedErrorCallback;
+ request = evalAndLog("objectStore.add('', testData[nextToAdd])");
+ request.onsuccess = ++window.nextToAdd < testData.length ? addData : scheduleTests;
+ request.onerror = unexpectedErrorCallback;
}
function scheduleTests()
@@ -159,7 +148,7 @@ function runNextTest()
var keyRange;
if (lower !== null && upper !== null)
- keyRange = webkitIDBKeyRange.bound(testData[lower], testData[upper], {lowerOpen: lowerIsOpen, upperOpen: upperIsOpen});
+ keyRange = webkitIDBKeyRange.bound(testData[lower], testData[upper], lowerIsOpen, upperIsOpen);
else if (lower !== null)
keyRange = webkitIDBKeyRange.lowerBound(testData[lower], lowerIsOpen);
else
@@ -187,21 +176,21 @@ function testWithinBounds()
function cursorIteration()
{
if (expectedIndex === null) {
- shouldBeNull("event.result");
+ shouldBeNull("event.target.result");
runNextTest();
return;
}
- if (event.result === null) {
- testFailed("Event.result should not be null.");
+ if (event.target.result === null) {
+ testFailed("event.target.result should not be null.");
runNextTest();
return;
}
- shouldBe("event.result.key", "testData[" + expectedIndex + "]");
+ shouldBe("event.target.result.key", "testData[" + expectedIndex + "]");
window.expectedIndex = ascending ? expectedIndex+1 : expectedIndex-1;
testWithinBounds();
- event.result.continue();
+ event.target.result.continue();
}
window.nullKeyRangeStep = 0;
diff --git a/LayoutTests/storage/indexeddb/objectstore-removeobjectstore-expected.txt b/LayoutTests/storage/indexeddb/objectstore-removeobjectstore-expected.txt
index 45f0708..77ed01f 100644
--- a/LayoutTests/storage/indexeddb/objectstore-removeobjectstore-expected.txt
+++ b/LayoutTests/storage/indexeddb/objectstore-removeobjectstore-expected.txt
@@ -3,126 +3,30 @@ Test IndexedDB's webkitIDBObjectStore.deleteObjectStore().
On success, you will see a series of "PASS" messages, followed by "TEST COMPLETE".
-webkitIndexedDB.open('name')
-PASS 'onsuccess' in result is true
-PASS 'onerror' in result is true
-PASS 'readyState' in result is true
-An event should fire shortly...
-
-Success event fired:
-PASS 'result' in event is true
-PASS 'code' in event is false
-PASS 'message' in event is false
-PASS 'source' in event is true
-PASS event.source != null is true
-PASS 'onsuccess' in event.target is true
-PASS 'onerror' in event.target is true
-PASS 'readyState' in event.target is true
-PASS event.target.readyState is event.target.DONE
-
-db = event.result
+webkitIndexedDB.open('objectstore-removeobjectstore')
+db = event.target.result
db.setVersion('new version')
-PASS 'onsuccess' in result is true
-PASS 'onerror' in result is true
-PASS 'readyState' in result is true
-An event should fire shortly...
-
-Success event fired:
-PASS 'result' in event is true
-PASS 'code' in event is false
-PASS 'message' in event is false
-PASS 'source' in event is true
-PASS event.source != null is true
-PASS 'onsuccess' in event.target is true
-PASS 'onerror' in event.target is true
-PASS 'readyState' in event.target is true
-PASS event.target.readyState is event.target.DONE
-
-trans = event.result
+trans = event.target.result
PASS trans !== null is true
Deleted all object stores.
store = db.createObjectStore('storeName', null)
store.createIndex('indexName', '')
PASS store.indexNames.contains('indexName') is true
store.add('value', 'key')
-PASS 'onsuccess' in result is true
-PASS 'onerror' in result is true
-PASS 'readyState' in result is true
-An event should fire shortly...
-
-Success event fired:
-PASS 'result' in event is true
-PASS 'code' in event is false
-PASS 'message' in event is false
-PASS 'source' in event is true
-PASS event.source != null is true
-PASS 'onsuccess' in event.target is true
-PASS 'onerror' in event.target is true
-PASS 'readyState' in event.target is true
-PASS event.target.readyState is event.target.DONE
-
db.transaction({mode: webkitIDBTransaction.READ_WRITE})
store = transaction.objectStore('storeName')
store.get('key')
-PASS 'onsuccess' in result is true
-PASS 'onerror' in result is true
-PASS 'readyState' in result is true
-An event should fire shortly...
-
-Success event fired:
-PASS 'result' in event is true
-PASS 'code' in event is false
-PASS 'message' in event is false
-PASS 'source' in event is true
-PASS event.source != null is true
-PASS 'onsuccess' in event.target is true
-PASS 'onerror' in event.target is true
-PASS 'readyState' in event.target is true
-PASS event.target.readyState is event.target.DONE
-
-PASS event.result is "value"
+PASS event.target.result is "value"
db.setVersion('new version')
-PASS 'onsuccess' in result is true
-PASS 'onerror' in result is true
-PASS 'readyState' in result is true
-An event should fire shortly...
-
-Success event fired:
-PASS 'result' in event is true
-PASS 'code' in event is false
-PASS 'message' in event is false
-PASS 'source' in event is true
-PASS event.source != null is true
-PASS 'onsuccess' in event.target is true
-PASS 'onerror' in event.target is true
-PASS 'readyState' in event.target is true
-PASS event.target.readyState is event.target.DONE
-
-trans = event.result
+trans = event.target.result
PASS trans !== null is true
db.deleteObjectStore('storeName')
db.createObjectStore('storeName', null)
db.transaction({mode: webkitIDBTransaction.READ_WRITE})
store = transaction.objectStore('storeName')
store.get('key')
-PASS 'onsuccess' in result is true
-PASS 'onerror' in result is true
-PASS 'readyState' in result is true
-An event should fire shortly...
-
-Success event fired:
-PASS 'result' in event is true
-PASS 'code' in event is false
-PASS 'message' in event is false
-PASS 'source' in event is true
-PASS event.source != null is true
-PASS 'onsuccess' in event.target is true
-PASS 'onerror' in event.target is true
-PASS 'readyState' in event.target is true
-PASS event.target.readyState is event.target.DONE
-
-PASS event.result is undefined
-PASS event.source.indexNames.contains('indexName') is false
+PASS event.target.result is undefined
+PASS event.target.source.indexNames.contains('indexName') is false
PASS successfullyParsed is true
TEST COMPLETE
diff --git a/LayoutTests/storage/indexeddb/objectstore-removeobjectstore.html b/LayoutTests/storage/indexeddb/objectstore-removeobjectstore.html
index f9b1e78..f44b27e 100644
--- a/LayoutTests/storage/indexeddb/objectstore-removeobjectstore.html
+++ b/LayoutTests/storage/indexeddb/objectstore-removeobjectstore.html
@@ -16,74 +16,60 @@ if (window.layoutTestController)
function test()
{
- result = evalAndLog("webkitIndexedDB.open('name')");
- verifyResult(result);
- result.onsuccess = startSetVersion;
- result.onerror = unexpectedErrorCallback;
+ request = evalAndLog("webkitIndexedDB.open('objectstore-removeobjectstore')");
+ request.onsuccess = startSetVersion;
+ request.onerror = unexpectedErrorCallback;
}
function startSetVersion()
{
- verifySuccessEvent(event);
- db = evalAndLog("db = event.result");
+ db = evalAndLog("db = event.target.result");
- result = evalAndLog("db.setVersion('new version')");
- verifyResult(result);
- result.onsuccess = deleteExisting;
- result.onerror = unexpectedErrorCallback;
+ request = evalAndLog("db.setVersion('new version')");
+ request.onsuccess = deleteExisting;
+ request.onerror = unexpectedErrorCallback;
}
function deleteExisting()
{
- verifySuccessEvent(event);
- window.trans = evalAndLog("trans = event.result");
+ window.trans = evalAndLog("trans = event.target.result");
shouldBeTrue("trans !== null");
- deleteAllObjectStores(db, createObjectStoreAndAddValue);
-}
+ deleteAllObjectStores(db);
-function createObjectStoreAndAddValue()
-{
store = evalAndLog("store = db.createObjectStore('storeName', null)");
window.index = evalAndLog("store.createIndex('indexName', '')");
shouldBeTrue("store.indexNames.contains('indexName')");
- result = evalAndLog("store.add('value', 'key')");
- verifyResult(result);
- result.onsuccess = getValue;
- result.onerror = unexpectedErrorCallback;
+ request = evalAndLog("store.add('value', 'key')");
+ request.onsuccess = getValue;
+ request.onerror = unexpectedErrorCallback;
}
function getValue()
{
- verifySuccessEvent(event);
-
transaction = evalAndLog("db.transaction({mode: webkitIDBTransaction.READ_WRITE})");
transaction.onabort = unexpectedErrorCallback;
var store = evalAndLog("store = transaction.objectStore('storeName')");
- result = evalAndLog("store.get('key')");
- verifyResult(result);
- result.onsuccess = addIndex;
- result.onerror = unexpectedErrorCallback;
+ request = evalAndLog("store.get('key')");
+ request.onsuccess = addIndex;
+ request.onerror = unexpectedErrorCallback;
}
function addIndex()
{
- verifySuccessEvent(event);
- shouldBeEqualToString("event.result", "value");
+ shouldBeEqualToString("event.target.result", "value");
- result = evalAndLog("db.setVersion('new version')");
- verifyResult(result);
- result.onsuccess = deleteObjectStore;
- result.onerror = unexpectedErrorCallback;
+ request = evalAndLog("db.setVersion('new version')");
+ request.onsuccess = deleteObjectStore;
+ request.onerror = unexpectedErrorCallback;
}
function deleteObjectStore()
{
- verifySuccessEvent(event);
- window.trans = evalAndLog("trans = event.result");
+ window.trans = evalAndLog("trans = event.target.result");
shouldBeTrue("trans !== null");
trans.onabort = unexpectedAbortCallback;
@@ -103,17 +89,15 @@ function getValueAgain()
transaction.onabort = unexpectedErrorCallback;
var store = evalAndLog("store = transaction.objectStore('storeName')");
- result = evalAndLog("store.get('key')");
- verifyResult(result);
- result.onsuccess = verifyNotFound;
- result.onerror = unexpectedErrorCallback;
+ request = evalAndLog("store.get('key')");
+ request.onsuccess = verifyNotFound;
+ request.onerror = unexpectedErrorCallback;
}
function verifyNotFound()
{
- verifySuccessEvent(event);
- shouldBe("event.result", "undefined");
- shouldBeFalse("event.source.indexNames.contains('indexName')");
+ shouldBe("event.target.result", "undefined");
+ shouldBeFalse("event.target.source.indexNames.contains('indexName')");
done();
}
diff --git a/LayoutTests/storage/indexeddb/open-cursor-expected.txt b/LayoutTests/storage/indexeddb/open-cursor-expected.txt
index ddaa51a..c7d3052 100644
--- a/LayoutTests/storage/indexeddb/open-cursor-expected.txt
+++ b/LayoutTests/storage/indexeddb/open-cursor-expected.txt
@@ -3,97 +3,28 @@ Test IndexedDB's openCursor.
On success, you will see a series of "PASS" messages, followed by "TEST COMPLETE".
-webkitIndexedDB.open('name')
-PASS 'onsuccess' in result is true
-PASS 'onerror' in result is true
-PASS 'readyState' in result is true
-An event should fire shortly...
-
-Success event fired:
-PASS 'result' in event is true
-PASS 'code' in event is false
-PASS 'message' in event is false
-PASS 'source' in event is true
-PASS event.source != null is true
-PASS 'onsuccess' in event.target is true
-PASS 'onerror' in event.target is true
-PASS 'readyState' in event.target is true
-PASS event.target.readyState is event.target.DONE
-
-db = event.result
+webkitIndexedDB.open('open-cursor')
+db = event.target.result
db.setVersion('new version')
-PASS 'onsuccess' in result is true
-PASS 'onerror' in result is true
-PASS 'readyState' in result is true
-An event should fire shortly...
-
setVersionSuccess():
-Success event fired:
-PASS 'result' in event is true
-PASS 'code' in event is false
-PASS 'message' in event is false
-PASS 'source' in event is true
-PASS event.source != null is true
-PASS 'onsuccess' in event.target is true
-PASS 'onerror' in event.target is true
-PASS 'readyState' in event.target is true
-PASS event.target.readyState is event.target.DONE
-
-trans = event.result
+trans = event.target.result
PASS trans !== null is true
Deleted all object stores.
objectStore = db.createObjectStore('test')
objectStore.add('myValue', 'myKey')
-PASS 'onsuccess' in result is true
-PASS 'onerror' in result is true
-PASS 'readyState' in result is true
-An event should fire shortly...
-
Opening cursor
-event.source.openCursor(keyRange)
-PASS 'onsuccess' in result is true
-PASS 'onerror' in result is true
-PASS 'readyState' in result is true
-An event should fire shortly...
-
+event.target.source.openCursor(keyRange)
Cursor opened successfully.
-Success event fired:
-PASS 'result' in event is true
-PASS 'code' in event is false
-PASS 'message' in event is false
-PASS 'source' in event is true
-PASS event.source != null is true
-PASS 'onsuccess' in event.target is true
-PASS 'onerror' in event.target is true
-PASS 'readyState' in event.target is true
-PASS event.target.readyState is event.target.DONE
-
-PASS event.result.direction is 0
-PASS event.result.key is 'myKey'
-PASS event.result.value is 'myValue'
+PASS event.target.result.direction is 0
+PASS event.target.result.key is 'myKey'
+PASS event.target.result.value is 'myValue'
Passing an invalid key into .continue().
PASS Caught exception: Error: TYPE_MISMATCH_ERR: DOM Exception 17
Opening an empty cursor.
objectStore.openCursor(keyRange)
-PASS 'onsuccess' in result is true
-PASS 'onerror' in result is true
-PASS 'readyState' in result is true
-An event should fire shortly...
-
Empty cursor opened successfully.
-Success event fired:
-PASS 'result' in event is true
-PASS 'code' in event is false
-PASS 'message' in event is false
-PASS 'source' in event is true
-PASS event.source != null is true
-PASS 'onsuccess' in event.target is true
-PASS 'onerror' in event.target is true
-PASS 'readyState' in event.target is true
-PASS event.target.readyState is event.target.DONE
-
PASS successfullyParsed is true
TEST COMPLETE
diff --git a/LayoutTests/storage/indexeddb/open-cursor.html b/LayoutTests/storage/indexeddb/open-cursor.html
index 17ed9ab..7231280 100644
--- a/LayoutTests/storage/indexeddb/open-cursor.html
+++ b/LayoutTests/storage/indexeddb/open-cursor.html
@@ -17,7 +17,6 @@ if (window.layoutTestController)
function emptyCursorSuccess()
{
debug("Empty cursor opened successfully.")
- verifySuccessEvent(event);
// FIXME: check that we can iterate the cursor.
done();
}
@@ -26,24 +25,22 @@ function openEmptyCursor()
{
debug("Opening an empty cursor.");
keyRange = webkitIDBKeyRange.lowerBound("InexistentKey");
- result = evalAndLog("objectStore.openCursor(keyRange)");
- verifyResult(result);
- result.onsuccess = emptyCursorSuccess;
- result.onerror = unexpectedErrorCallback;
+ request = evalAndLog("objectStore.openCursor(keyRange)");
+ request.onsuccess = emptyCursorSuccess;
+ request.onerror = unexpectedErrorCallback;
}
function cursorSuccess()
{
debug("Cursor opened successfully.")
- verifySuccessEvent(event);
// FIXME: check that we can iterate the cursor.
- shouldBe("event.result.direction", "0");
- shouldBe("event.result.key", "'myKey'");
- shouldBe("event.result.value", "'myValue'");
+ shouldBe("event.target.result.direction", "0");
+ shouldBe("event.target.result.key", "'myKey'");
+ shouldBe("event.target.result.value", "'myValue'");
debug("");
try {
debug("Passing an invalid key into .continue().");
- event.result.continue([]);
+ event.target.result.continue([]);
testFailed("No exception thrown");
} catch (e) {
testPassed("Caught exception: " + e.toString());
@@ -56,49 +53,40 @@ function openCursor()
{
debug("Opening cursor");
keyRange = webkitIDBKeyRange.lowerBound("myKey");
- result = evalAndLog("event.source.openCursor(keyRange)");
- verifyResult(result);
- result.onsuccess = cursorSuccess;
- result.onerror = unexpectedErrorCallback;
-}
-
-function createAndPopulateObjectStore()
-{
- var objectStore = evalAndLog("objectStore = db.createObjectStore('test')");
- result = evalAndLog("objectStore.add('myValue', 'myKey')");
- verifyResult(result);
- result.onsuccess = openCursor;
- result.onerror = unexpectedErrorCallback;
+ request = evalAndLog("event.target.source.openCursor(keyRange)");
+ request.onsuccess = cursorSuccess;
+ request.onerror = unexpectedErrorCallback;
}
function setVersionSuccess()
{
debug("setVersionSuccess():");
- verifySuccessEvent(event);
- window.trans = evalAndLog("trans = event.result");
+ window.trans = evalAndLog("trans = event.target.result");
shouldBeTrue("trans !== null");
trans.onabort = unexpectedAbortCallback;
- deleteAllObjectStores(db, createAndPopulateObjectStore);
-}
+ deleteAllObjectStores(db);
+ var objectStore = evalAndLog("objectStore = db.createObjectStore('test')");
+ request = evalAndLog("objectStore.add('myValue', 'myKey')");
+ request.onsuccess = openCursor;
+ request.onerror = unexpectedErrorCallback;
+}
+
function openSuccess()
{
- verifySuccessEvent(event);
- var db = evalAndLog("db = event.result");
-
- result = evalAndLog("db.setVersion('new version')");
- verifyResult(result);
- result.onsuccess = setVersionSuccess;
- result.onerror = unexpectedErrorCallback;
+ var db = evalAndLog("db = event.target.result");
+
+ request = evalAndLog("db.setVersion('new version')");
+ request.onsuccess = setVersionSuccess;
+ request.onerror = unexpectedErrorCallback;
}
-
+
function test()
{
- result = evalAndLog("webkitIndexedDB.open('name')");
- verifyResult(result);
- result.onsuccess = openSuccess;
- result.onerror = unexpectedErrorCallback;
+ request = evalAndLog("webkitIndexedDB.open('open-cursor')");
+ request.onsuccess = openSuccess;
+ request.onerror = unexpectedErrorCallback;
}
test();
diff --git a/LayoutTests/storage/indexeddb/queued-commands-expected.txt b/LayoutTests/storage/indexeddb/queued-commands-expected.txt
index 76c1074..916b588 100644
--- a/LayoutTests/storage/indexeddb/queued-commands-expected.txt
+++ b/LayoutTests/storage/indexeddb/queued-commands-expected.txt
@@ -3,100 +3,20 @@ Verify that queuing up several commands works (and they all fire).
On success, you will see a series of "PASS" messages, followed by "TEST COMPLETE".
-webkitIndexedDB.open('name')
-PASS 'onsuccess' in result is true
-PASS 'onerror' in result is true
-PASS 'readyState' in result is true
-An event should fire shortly...
-
-Success event fired:
-PASS 'result' in event is true
-PASS 'code' in event is false
-PASS 'message' in event is false
-PASS 'source' in event is true
-PASS event.source != null is true
-PASS 'onsuccess' in event.target is true
-PASS 'onerror' in event.target is true
-PASS 'readyState' in event.target is true
-PASS event.target.readyState is event.target.DONE
-
-db = event.result
+webkitIndexedDB.open('queued-commands')
+db = event.target.result
db.setVersion('new version')
-PASS 'onsuccess' in result is true
-PASS 'onerror' in result is true
-PASS 'readyState' in result is true
-An event should fire shortly...
-
setVersionSuccess():
-Success event fired:
-PASS 'result' in event is true
-PASS 'code' in event is false
-PASS 'message' in event is false
-PASS 'source' in event is true
-PASS event.source != null is true
-PASS 'onsuccess' in event.target is true
-PASS 'onerror' in event.target is true
-PASS 'readyState' in event.target is true
-PASS event.target.readyState is event.target.DONE
-
-trans = event.result
+trans = event.target.result
PASS trans !== null is true
Deleted all object stores.
-db.createObjectStore('storeName', null)
+db.createObjectStore('storeName')
store.createIndex('indexName', 'x')
store.add({x: 'value', y: 'zzz'}, 'key')
-PASS 'onsuccess' in result is true
-PASS 'onerror' in result is true
-PASS 'readyState' in result is true
-An event should fire shortly...
-
store.add({x: 'value2', y: 'zzz2'}, 'key2')
-PASS 'onsuccess' in result is true
-PASS 'onerror' in result is true
-PASS 'readyState' in result is true
-An event should fire shortly...
-
store.put({x: 'valu2', y: 'zz2'}, 'ky2')
-PASS 'onsuccess' in result is true
-PASS 'onerror' in result is true
-PASS 'readyState' in result is true
-An event should fire shortly...
-
-Success event fired:
-PASS 'result' in event is true
-PASS 'code' in event is false
-PASS 'message' in event is false
-PASS 'source' in event is true
-PASS event.source != null is true
-PASS 'onsuccess' in event.target is true
-PASS 'onerror' in event.target is true
-PASS 'readyState' in event.target is true
-PASS event.target.readyState is event.target.DONE
-
PASS 0 is 0
-Success event fired:
-PASS 'result' in event is true
-PASS 'code' in event is false
-PASS 'message' in event is false
-PASS 'source' in event is true
-PASS event.source != null is true
-PASS 'onsuccess' in event.target is true
-PASS 'onerror' in event.target is true
-PASS 'readyState' in event.target is true
-PASS event.target.readyState is event.target.DONE
-
PASS 1 is 1
-Success event fired:
-PASS 'result' in event is true
-PASS 'code' in event is false
-PASS 'message' in event is false
-PASS 'source' in event is true
-PASS event.source != null is true
-PASS 'onsuccess' in event.target is true
-PASS 'onerror' in event.target is true
-PASS 'readyState' in event.target is true
-PASS event.target.readyState is event.target.DONE
-
PASS 2 is 2
PASS successfullyParsed is true
diff --git a/LayoutTests/storage/indexeddb/queued-commands.html b/LayoutTests/storage/indexeddb/queued-commands.html
index d48cb52..6c85c38 100644
--- a/LayoutTests/storage/indexeddb/queued-commands.html
+++ b/LayoutTests/storage/indexeddb/queued-commands.html
@@ -16,60 +16,49 @@ if (window.layoutTestController)
function test()
{
- result = evalAndLog("webkitIndexedDB.open('name')");
- verifyResult(result);
- result.onsuccess = setVersion;
- result.onerror = unexpectedErrorCallback;
+ request = evalAndLog("webkitIndexedDB.open('queued-commands')");
+ request.onsuccess = setVersion;
+ request.onerror = unexpectedErrorCallback;
}
function setVersion()
{
- verifySuccessEvent(event);
- db = evalAndLog("db = event.result");
+ db = evalAndLog("db = event.target.result");
- result = evalAndLog("db.setVersion('new version')");
- verifyResult(result);
- result.onsuccess = deleteExisting;
- result.onerror = unexpectedErrorCallback;
+ request = evalAndLog("db.setVersion('new version')");
+ request.onsuccess = deleteExisting;
+ request.onerror = unexpectedErrorCallback;
}
function deleteExisting()
{
debug("setVersionSuccess():");
- verifySuccessEvent(event);
- window.trans = evalAndLog("trans = event.result");
+ window.trans = evalAndLog("trans = event.target.result");
shouldBeTrue("trans !== null");
trans.onabort = unexpectedAbortCallback;
- deleteAllObjectStores(db, createIndex);
-}
+ deleteAllObjectStores(db);
-function createIndex()
-{
- window.store = evalAndLog("db.createObjectStore('storeName', null)");
+ window.store = evalAndLog("db.createObjectStore('storeName')");
window.indexObject = evalAndLog("store.createIndex('indexName', 'x')");
- result = evalAndLog("store.add({x: 'value', y: 'zzz'}, 'key')");
- verifyResult(result);
- result.onsuccess = function() { verifyAdd(0); };
- result.onerror = unexpectedErrorCallback;
+ request = evalAndLog("store.add({x: 'value', y: 'zzz'}, 'key')");
+ request.onsuccess = function() { verifyAdd(0); };
+ request.onerror = unexpectedErrorCallback;
- result = evalAndLog("store.add({x: 'value2', y: 'zzz2'}, 'key2')");
- verifyResult(result);
- result.onsuccess = function() { verifyAdd(1); };
- result.onerror = unexpectedErrorCallback;
+ request = evalAndLog("store.add({x: 'value2', y: 'zzz2'}, 'key2')");
+ request.onsuccess = function() { verifyAdd(1); };
+ request.onerror = unexpectedErrorCallback;
- result = evalAndLog("store.put({x: 'valu2', y: 'zz2'}, 'ky2')");
- verifyResult(result);
- result.onsuccess = function() { verifyAdd(2); };
- result.onerror = unexpectedErrorCallback;
+ request = evalAndLog("store.put({x: 'valu2', y: 'zz2'}, 'ky2')");
+ request.onsuccess = function() { verifyAdd(2); };
+ request.onerror = unexpectedErrorCallback;
window.addCount = 0;
}
function verifyAdd(expected)
{
- verifySuccessEvent(event);
shouldBe("" + addCount++, "" + expected);
if (addCount == 3)
diff --git a/LayoutTests/storage/indexeddb/request-event-propagation-expected.txt b/LayoutTests/storage/indexeddb/request-event-propagation-expected.txt
index deda6a7..f71f781 100644
--- a/LayoutTests/storage/indexeddb/request-event-propagation-expected.txt
+++ b/LayoutTests/storage/indexeddb/request-event-propagation-expected.txt
@@ -3,43 +3,11 @@ Test event propogation on IDBRequest.
On success, you will see a series of "PASS" messages, followed by "TEST COMPLETE".
-webkitIndexedDB.open('name')
-PASS 'onsuccess' in result is true
-PASS 'onerror' in result is true
-PASS 'readyState' in result is true
-An event should fire shortly...
-
-Success event fired:
-PASS 'result' in event is true
-PASS 'code' in event is false
-PASS 'message' in event is false
-PASS 'source' in event is true
-PASS event.source != null is true
-PASS 'onsuccess' in event.target is true
-PASS 'onerror' in event.target is true
-PASS 'readyState' in event.target is true
-PASS event.target.readyState is event.target.DONE
-
-db = event.result
+webkitIndexedDB.open('request-event-propagation')
+db = event.target.result
db.setVersion('new version')
-PASS 'onsuccess' in result is true
-PASS 'onerror' in result is true
-PASS 'readyState' in result is true
-An event should fire shortly...
-
setVersionSuccess():
-Success event fired:
-PASS 'result' in event is true
-PASS 'code' in event is false
-PASS 'message' in event is false
-PASS 'source' in event is true
-PASS event.source != null is true
-PASS 'onsuccess' in event.target is true
-PASS 'onerror' in event.target is true
-PASS 'readyState' in event.target is true
-PASS event.target.readyState is event.target.DONE
-
-trans = event.result
+trans = event.target.result
PASS trans !== null is true
trans.oncomplete = startTest
Deleted all object stores.
@@ -77,6 +45,8 @@ PASS captureFired is false
PASS requestFired is false
PASS bubbleFired is false
PASS dbBubbleFired is false
+PASS event.target is request
+PASS event.currentTarget is db
In IDBTransaction error capture
PASS dbCaptureFired is true
@@ -84,6 +54,8 @@ PASS captureFired is false
PASS requestFired is false
PASS bubbleFired is false
PASS dbBubbleFired is false
+PASS event.target is request
+PASS event.currentTarget is trans
In IDBRequest handler
PASS dbCaptureFired is true
@@ -91,6 +63,8 @@ PASS captureFired is true
PASS requestFired is false
PASS bubbleFired is false
PASS dbBubbleFired is false
+PASS event.target is request
+PASS event.currentTarget is request
In IDBTransaction error bubble
PASS dbCaptureFired is true
@@ -98,6 +72,8 @@ PASS captureFired is true
PASS requestFired is true
PASS bubbleFired is false
PASS dbBubbleFired is false
+PASS event.target is request
+PASS event.currentTarget is trans
In IDBDatabase error bubble
PASS dbCaptureFired is true
@@ -105,6 +81,8 @@ PASS captureFired is true
PASS requestFired is true
PASS bubbleFired is true
PASS dbBubbleFired is false
+PASS event.target is request
+PASS event.currentTarget is db
Transaction aborted
PASS dbCaptureFired is true
@@ -138,6 +116,8 @@ PASS captureFired is false
PASS requestFired is false
PASS bubbleFired is false
PASS dbBubbleFired is false
+PASS event.target is request
+PASS event.currentTarget is db
In IDBTransaction success capture
PASS dbCaptureFired is true
@@ -145,6 +125,8 @@ PASS captureFired is false
PASS requestFired is false
PASS bubbleFired is false
PASS dbBubbleFired is false
+PASS event.target is request
+PASS event.currentTarget is trans
In IDBRequest handler
PASS dbCaptureFired is true
@@ -152,6 +134,8 @@ PASS captureFired is true
PASS requestFired is false
PASS bubbleFired is false
PASS dbBubbleFired is false
+PASS event.target is request
+PASS event.currentTarget is request
Transaction completed
PASS dbCaptureFired is true
diff --git a/LayoutTests/storage/indexeddb/request-event-propagation.html b/LayoutTests/storage/indexeddb/request-event-propagation.html
index 87f6a2d..3b1da3b 100644
--- a/LayoutTests/storage/indexeddb/request-event-propagation.html
+++ b/LayoutTests/storage/indexeddb/request-event-propagation.html
@@ -16,40 +16,33 @@ if (window.layoutTestController)
function test()
{
- result = evalAndLog("webkitIndexedDB.open('name')");
- verifyResult(result);
- result.onsuccess = setVersion;
- result.onerror = unexpectedErrorCallback;
+ request = evalAndLog("webkitIndexedDB.open('request-event-propagation')");
+ request.onsuccess = setVersion;
+ request.onerror = unexpectedErrorCallback;
}
function setVersion()
{
- verifySuccessEvent(event);
- db = evalAndLog("db = event.result");
+ db = evalAndLog("db = event.target.result");
- result = evalAndLog("db.setVersion('new version')");
- verifyResult(result);
- result.onsuccess = deleteExisting;
- result.onerror = unexpectedErrorCallback;
+ request = evalAndLog("db.setVersion('new version')");
+ request.onsuccess = deleteExisting;
+ request.onerror = unexpectedErrorCallback;
}
function deleteExisting()
{
debug("setVersionSuccess():");
- verifySuccessEvent(event);
- window.trans = evalAndLog("trans = event.result");
+ window.trans = evalAndLog("trans = event.target.result");
shouldBeTrue("trans !== null");
trans.onabort = unexpectedAbortCallback;
evalAndLog("trans.oncomplete = startTest");
- deleteAllObjectStores(db, createObjectStore);
-}
+ deleteAllObjectStores(db);
-function createObjectStore()
-{
store = evalAndLog("store = db.createObjectStore('storeName', null)");
- result = evalAndLog("store.add({x: 'value', y: 'zzz'}, 'key')");
- result.onerror = unexpectedErrorCallback;
+ request = evalAndLog("store.add({x: 'value', y: 'zzz'}, 'key')");
+ request.onerror = unexpectedErrorCallback;
}
function startTest()
@@ -60,8 +53,8 @@ function startTest()
evalAndLog("trans.oncomplete = unexpectedCompleteCallback");
evalAndLog("trans.onerror = allowDefault");
store = evalAndLog("store = trans.objectStore('storeName')");
- result = evalAndLog("store.add({x: 'value', y: 'zzz'}, 'key')");
- result.onsuccess = unexpectedSuccessCallback;
+ request = evalAndLog("store.add({x: 'value', y: 'zzz'}, 'key')");
+ request.onsuccess = unexpectedSuccessCallback;
handlerFired = false;
}
@@ -89,9 +82,9 @@ function transactionAborted()
evalAndLog("db.addEventListener('success', unexpectedSuccessCallback, true)");
evalAndLog("db.addEventListener('success', unexpectedSuccessCallback, false)");
store = evalAndLog("store = trans.objectStore('storeName')");
- result = evalAndLog("store.add({x: 'value', y: 'zzz'}, 'key')");
- result.onsuccess = unexpectedSuccessCallback;
- result.onerror = errorFiredCallback;
+ request = evalAndLog("store.add({x: 'value', y: 'zzz'}, 'key')");
+ request.onsuccess = unexpectedSuccessCallback;
+ request.onerror = errorFiredCallback;
dbCaptureFired = false;
captureFired = false;
requestFired = false;
@@ -108,6 +101,8 @@ function dbErrorCaptureCallback()
shouldBeFalse("requestFired");
shouldBeFalse("bubbleFired");
shouldBeFalse("dbBubbleFired");
+ shouldBe("event.target", "request");
+ shouldBe("event.currentTarget", "db");
dbCaptureFired = true;
}
@@ -120,6 +115,8 @@ function errorCaptureCallback()
shouldBeFalse("requestFired");
shouldBeFalse("bubbleFired");
shouldBeFalse("dbBubbleFired");
+ shouldBe("event.target", "request");
+ shouldBe("event.currentTarget", "trans");
captureFired = true;
}
@@ -132,6 +129,8 @@ function errorFiredCallback()
shouldBeFalse("requestFired");
shouldBeFalse("bubbleFired");
shouldBeFalse("dbBubbleFired");
+ shouldBe("event.target", "request");
+ shouldBe("event.currentTarget", "request");
requestFired = true;
}
@@ -144,6 +143,8 @@ function errorBubbleCallback()
shouldBeTrue("requestFired");
shouldBeFalse("bubbleFired");
shouldBeFalse("dbBubbleFired");
+ shouldBe("event.target", "request");
+ shouldBe("event.currentTarget", "trans");
bubbleFired = true;
}
@@ -156,6 +157,8 @@ function dbErrorBubbleCallback()
shouldBeTrue("requestFired");
shouldBeTrue("bubbleFired");
shouldBeFalse("dbBubbleFired");
+ shouldBe("event.target", "request");
+ shouldBe("event.currentTarget", "db");
dbBubbleFired = true;
}
@@ -186,9 +189,9 @@ function transactionAborted2()
evalAndLog("db.addEventListener('error', unexpectedErrorCallback, true)");
evalAndLog("db.addEventListener('error', unexpectedErrorCallback, false)");
store = evalAndLog("store = trans.objectStore('storeName')");
- result = evalAndLog("store.add({x: 'value', y: 'zzz'}, 'key2')");
- result.onerror = unexpectedErrorCallback;
- result.onsuccess = successFiredCallback;
+ request = evalAndLog("store.add({x: 'value', y: 'zzz'}, 'key2')");
+ request.onerror = unexpectedErrorCallback;
+ request.onsuccess = successFiredCallback;
dbCaptureFired = false;
captureFired = false;
requestFired = false;
@@ -205,6 +208,8 @@ function dbSuccessCaptureCallback()
shouldBeFalse("requestFired");
shouldBeFalse("bubbleFired");
shouldBeFalse("dbBubbleFired");
+ shouldBe("event.target", "request");
+ shouldBe("event.currentTarget", "db");
dbCaptureFired = true;
}
@@ -217,6 +222,8 @@ function successCaptureCallback()
shouldBeFalse("requestFired");
shouldBeFalse("bubbleFired");
shouldBeFalse("dbBubbleFired");
+ shouldBe("event.target", "request");
+ shouldBe("event.currentTarget", "trans");
captureFired = true;
}
@@ -229,6 +236,8 @@ function successFiredCallback()
shouldBeFalse("requestFired");
shouldBeFalse("bubbleFired");
shouldBeFalse("dbBubbleFired");
+ shouldBe("event.target", "request");
+ shouldBe("event.currentTarget", "request");
requestFired = true;
}
diff --git a/LayoutTests/storage/indexeddb/resources/shared.js b/LayoutTests/storage/indexeddb/resources/shared.js
index 8c56832..9b23cb8 100644
--- a/LayoutTests/storage/indexeddb/resources/shared.js
+++ b/LayoutTests/storage/indexeddb/resources/shared.js
@@ -5,86 +5,29 @@ function done()
layoutTestController.notifyDone()
}
-function verifyEventCommon(event)
-{
- shouldBeTrue("'source' in event");
- shouldBeTrue("event.source != null");
- shouldBeTrue("'onsuccess' in event.target");
- shouldBeTrue("'onerror' in event.target");
- shouldBeTrue("'readyState' in event.target");
- shouldBe("event.target.readyState", "event.target.DONE");
- debug("");
-}
-
-function verifyErrorEvent(event)
-{
- debug("Error event fired:");
- shouldBeFalse("'result' in event");
- shouldBeTrue("'code' in event");
- shouldBeTrue("'message' in event");
- verifyEventCommon(event);
-}
-
-function verifySuccessEvent(event)
-{
- debug("Success event fired:");
- shouldBeTrue("'result' in event");
- shouldBeFalse("'code' in event");
- shouldBeFalse("'message' in event");
- verifyEventCommon(event);
-}
-
-function verifyAbortEvent(event)
-{
- debug("Abort event fired:");
- shouldBeEqualToString("event.type", "abort");
-}
-
-function verifyCompleteEvent(event)
-{
- debug("Complete event fired:");
- shouldBeEqualToString("event.type", "complete");
-}
-
-function verifyResult(result)
-{
- shouldBeTrue("'onsuccess' in result");
- shouldBeTrue("'onerror' in result");
- shouldBeTrue("'readyState' in result");
- debug("An event should fire shortly...");
- debug("");
-}
-
function unexpectedSuccessCallback()
{
testFailed("Success function called unexpectedly.");
- debug("");
- verifySuccessEvent(event);
- done();
}
function unexpectedErrorCallback()
{
- testFailed("Error function called unexpectedly: (" + event.code + ") " + event.message);
- debug("");
- verifyErrorEvent(event);
- done();
+ testFailed("Error function called unexpectedly: (" + event.target.errorCode + ") " + event.target.webkitErrorMessage);
}
function unexpectedAbortCallback()
{
testFailed("Abort function called unexpectedly!");
- debug("");
- verifyAbortEvent(event);
- done();
}
function unexpectedCompleteCallback()
{
testFailed("oncomplete function called unexpectedly!");
- debug("");
- verifyCompleteEvent(event);
- done();
+}
+
+function unexpectedBlockedCallback()
+{
+ testFailed("onblocked called unexpectedly");
}
function evalAndExpectException(cmd, expected)
@@ -95,16 +38,14 @@ function evalAndExpectException(cmd, expected)
testFailed("No exception thrown! Should have been " + expected);
} catch (e) {
code = e.code;
+ testPassed("Exception was thrown.");
shouldBe("code", expected);
}
}
-// FIXME: remove the onfinished parameter.
-function deleteAllObjectStores(db, onfinished)
+function deleteAllObjectStores(db)
{
while (db.objectStoreNames.length)
db.deleteObjectStore(db.objectStoreNames.item(0));
-
debug("Deleted all object stores.");
- onfinished();
}
diff --git a/LayoutTests/storage/indexeddb/set_version_blocked-expected.txt b/LayoutTests/storage/indexeddb/set_version_blocked-expected.txt
new file mode 100644
index 0000000..e2736c9
--- /dev/null
+++ b/LayoutTests/storage/indexeddb/set_version_blocked-expected.txt
@@ -0,0 +1,20 @@
+An open connection blocks a separate connection's setVersion call
+
+On success, you will see a series of "PASS" messages, followed by "TEST COMPLETE".
+
+
+PASS IndexedDB == null is false
+IndexedDB.open('set-version-blocked')
+IndexedDB.open('set-version-blocked')
+connections[0].setVersion('version 1')
+seen_blocked_event = true
+PASS blocked_event.version is "version 1"
+PASS blocked_event.target.readyState is 1
+connections[1].close()
+in setVersion.onsuccess
+PASS seen_blocked_event is true
+Deleted all object stores.
+PASS successfullyParsed is true
+
+TEST COMPLETE
+
diff --git a/LayoutTests/storage/indexeddb/set_version_blocked.html b/LayoutTests/storage/indexeddb/set_version_blocked.html
new file mode 100644
index 0000000..dae1a18
--- /dev/null
+++ b/LayoutTests/storage/indexeddb/set_version_blocked.html
@@ -0,0 +1,74 @@
+<html>
+<head>
+<link rel="stylesheet" href="../../fast/js/resources/js-test-style.css">
+<script src="../../fast/js/resources/js-test-pre.js"></script>
+<script src="../../fast/js/resources/js-test-post-function.js"></script>
+<script src="resources/shared.js"></script>
+</head>
+<body>
+<p id="description"></p>
+<div id="console"></div>
+<script>
+
+description("An open connection blocks a separate connection's setVersion call");
+if (window.layoutTestController)
+ layoutTestController.waitUntilDone();
+
+connections = []
+function test()
+{
+ if ('webkitIndexedDB' in window)
+ IndexedDB = webkitIndexedDB;
+ else if ('mozIndexedDB' in window)
+ IndexedDB = mozIndexedDB;
+ shouldBeFalse("IndexedDB == null");
+ openDBConnection();
+}
+
+function openDBConnection()
+{
+ request = evalAndLog("IndexedDB.open('set-version-blocked')");
+ request.onsuccess = openSuccess;
+ request.onerror = unexpectedErrorCallback;
+}
+
+function openSuccess()
+{
+ connection = event.target.result;
+ connections.push(connection);
+ original_version = connection.version;
+ if (connections.length < 2)
+ openDBConnection();
+ else {
+ var versionChangeRequest = evalAndLog("connections[0].setVersion('version 1')");
+ versionChangeRequest.onerror = unexpectedErrorCallback;
+ versionChangeRequest.onsuccess = inSetVersion;
+ versionChangeRequest.onblocked = blocked;
+ }
+}
+
+seen_blocked_event = false;
+function blocked()
+{
+ evalAndLog("seen_blocked_event = true");
+ blocked_event = event;
+ shouldBeEqualToString("blocked_event.version", "version 1");
+ shouldEvaluateTo("blocked_event.target.readyState", 1);
+ evalAndLog("connections[1].close()");
+}
+
+function inSetVersion()
+{
+ debug("in setVersion.onsuccess");
+ shouldBeTrue("seen_blocked_event");
+ deleteAllObjectStores(connections[0]);
+ done();
+}
+
+var successfullyParsed = true;
+
+test();
+
+</script>
+</body>
+</html>
diff --git a/LayoutTests/storage/indexeddb/set_version_queue-expected.txt b/LayoutTests/storage/indexeddb/set_version_queue-expected.txt
new file mode 100644
index 0000000..4130bf2
--- /dev/null
+++ b/LayoutTests/storage/indexeddb/set_version_queue-expected.txt
@@ -0,0 +1,73 @@
+4 open connections try to setVersion at the same time. 3 connections eventually close, allowing 1 setVersion call to proceed.
+
+On success, you will see a series of "PASS" messages, followed by "TEST COMPLETE".
+
+
+PASS IndexedDB == null is false
+IndexedDB.open('set-version-queue')
+IndexedDB.open('set-version-queue')
+IndexedDB.open('set-version-queue')
+IndexedDB.open('set-version-queue')
+connections[0].setVersion('version 0')
+connections[1].setVersion('version 1')
+connections[2].setVersion('version 2')
+connections[3].setVersion('version 3')
+
+PASS event.version.length > 0 is true
+connection[1] received versionChangeEvent: version 0
+PASS event.version.length > 0 is true
+connection[2] received versionChangeEvent: version 0
+PASS event.version.length > 0 is true
+connection[3] received versionChangeEvent: version 0
+
+PASS connection[0] got blocked event
+PASS event.version is "version 0"
+Close the connection that received the block event:
+connections[0].close()
+Close another connection as well, to test 4.7.4-note:
+connections[3].close()
+blocked0fired = true
+
+PASS event.version.length > 0 is true
+connection[2] received versionChangeEvent: version 1
+
+PASS connection[1] got blocked event
+Ensure that this blocked event is in order:
+PASS blocked0fired is true
+PASS blocked2fired is false
+
+PASS event.version.length > 0 is true
+connection[1] received versionChangeEvent: version 2
+
+PASS connection[2] got blocked event
+PASS event.version is "version 2"
+connections[2].close()
+blocked2fired = true
+
+PASS event.version.length > 0 is true
+connection[1] received versionChangeEvent: version 3
+
+PASS connection[3] got blocked event
+Note: This means that a connection can receive a blocked event after its close() method has been called. Spec is silent on the issue and this is easiest to implement.
+PASS event.version is "version 3"
+
+PASS connection[0] got error event
+PASS event.target.errorCode is 13
+PASS event.target.webkitErrorMessage.length > 0 is true
+Connection was closed before set version transaction was created
+
+PASS connection[2] got error event
+PASS event.target.errorCode is 13
+PASS event.target.webkitErrorMessage.length > 0 is true
+Connection was closed before set version transaction was created
+
+PASS connection[3] got error event
+PASS event.target.errorCode is 13
+PASS event.target.webkitErrorMessage.length > 0 is true
+Connection was closed before set version transaction was created
+
+PASS connection[1] got into SetVersion
+PASS successfullyParsed is true
+
+TEST COMPLETE
+
diff --git a/LayoutTests/storage/indexeddb/set_version_queue.html b/LayoutTests/storage/indexeddb/set_version_queue.html
new file mode 100644
index 0000000..b00a69a
--- /dev/null
+++ b/LayoutTests/storage/indexeddb/set_version_queue.html
@@ -0,0 +1,140 @@
+<html>
+<head>
+<link rel="stylesheet" href="../../fast/js/resources/js-test-style.css">
+<script src="../../fast/js/resources/js-test-pre.js"></script>
+<script src="../../fast/js/resources/js-test-post-function.js"></script>
+<script src="resources/shared.js"></script>
+</head>
+<body>
+<p id="description"></p>
+<div id="console"></div>
+<script>
+
+description("4 open connections try to setVersion at the same time. 3 connections eventually close, allowing 1 setVersion call to proceed.");
+if (window.layoutTestController)
+ layoutTestController.waitUntilDone();
+
+connections = []
+function test()
+{
+ if ('webkitIndexedDB' in window)
+ IndexedDB = webkitIndexedDB;
+ else if ('mozIndexedDB' in window)
+ IndexedDB = mozIndexedDB;
+ shouldBeFalse("IndexedDB == null");
+ openDBConnection();
+}
+
+function openDBConnection()
+{
+ result = evalAndLog("IndexedDB.open('set-version-queue')");
+ result.onsuccess = openSuccess;
+ result.onerror = unexpectedErrorCallback;
+}
+
+function openSuccess()
+{
+ connection = event.target.result;
+ connection.onversionchange = generateVersionChangeHandler();
+ connections.push(connection);
+ if (connections.length < 4)
+ openDBConnection();
+ else {
+ request = evalAndLog("connections[0].setVersion('version 0')");
+ request.onerror = function(event){ connectionError(event, 0) };
+ request.onsuccess = unexpectedSuccessCallback;
+ request.onblocked = blocked0;
+ request1 = evalAndLog("connections[1].setVersion('version 1')");
+ request1.onerror = unexpectedErrorCallback;
+ request1.onsuccess = inSetVersion1;
+ request1.onblocked = blocked1;
+ request2 = evalAndLog("connections[2].setVersion('version 2')");
+ request2.onerror = function(event){ connectionError(event, 2) };
+ request2.onsuccess = unexpectedSuccessCallback;
+ request2.onblocked = blocked2;
+ request3 = evalAndLog("connections[3].setVersion('version 3')");
+ request3.onerror = function(event){ connectionError(event, 3) };
+ request3.onsuccess = unexpectedSuccessCallback;
+ request3.onblocked = blocked3;
+ debug("");
+ }
+}
+
+function generateVersionChangeHandler()
+{
+ var connectionNum = connections.length;
+ return function(event)
+ {
+ shouldBeTrue("event.version.length > 0");
+ debug("connection[" + connectionNum + "] received versionChangeEvent: " + event.version);
+ }
+}
+
+blocked0fired = false;
+blocked2fired = false;
+function blocked0(event)
+{
+ debug("");
+ testPassed("connection[0] got blocked event");
+ shouldBeEqualToString("event.version", "version 0");
+ debug("Close the connection that received the block event:");
+ evalAndLog("connections[0].close()");
+ debug("Close another connection as well, to test 4.7.4-note:");
+ evalAndLog("connections[3].close()");
+ evalAndLog("blocked0fired = true");
+ debug("");
+}
+
+function blocked1(event)
+{
+ debug("")
+ testPassed("connection[1] got blocked event");
+ debug("Ensure that this blocked event is in order:");
+ shouldBeTrue("blocked0fired");
+ shouldBeFalse("blocked2fired");
+ debug("")
+}
+
+function blocked2(event)
+{
+ debug("")
+ testPassed("connection[2] got blocked event");
+ shouldBeEqualToString("event.version", "version 2");
+ evalAndLog("connections[2].close()");
+ evalAndLog("blocked2fired = true");
+ debug("")
+}
+
+function blocked3(event)
+{
+ debug("")
+ testPassed("connection[3] got blocked event");
+ debug("Note: This means that a connection can receive a blocked event after its close() method has been called. Spec is silent on the issue and this is easiest to implement.");
+ shouldBeEqualToString("event.version", "version 3");
+}
+
+function connectionError(event, connectionId)
+{
+ debug("")
+ testPassed("connection[" + connectionId + "] got error event");
+ shouldBe("event.target.errorCode", "13")
+ if ('webkitIndexedDB' in window) {
+ shouldBe("event.target.webkitErrorMessage.length > 0", "true");
+ debug(event.target.webkitErrorMessage);
+ }
+}
+
+function inSetVersion1(event)
+{
+ debug("")
+ testPassed("connection[1] got into SetVersion");
+ done();
+}
+
+var successfullyParsed = true;
+
+test();
+
+</script>
+</body>
+</html>
diff --git a/LayoutTests/storage/indexeddb/transaction-abort-expected.txt b/LayoutTests/storage/indexeddb/transaction-abort-expected.txt
new file mode 100644
index 0000000..c3bcb70
--- /dev/null
+++ b/LayoutTests/storage/indexeddb/transaction-abort-expected.txt
@@ -0,0 +1,42 @@
+Test transaction aborts send the proper onabort messages..
+
+On success, you will see a series of "PASS" messages, followed by "TEST COMPLETE".
+
+
+webkitIndexedDB.open('name')
+db = event.target.result
+db.setVersion('new version')
+setVersionSuccess():
+trans = event.target.result
+PASS trans !== null is true
+trans.oncomplete = startTest
+Deleted all object stores.
+store = db.createObjectStore('storeName', null)
+store.add({x: 'value', y: 'zzz'}, 'key')
+trans = db.transaction([], webkitIDBTransaction.READ_WRITE)
+trans.onabort = transactionAborted
+trans.oncomplete = unexpectedCompleteCallback
+store = trans.objectStore('storeName')
+store.add({x: 'value2', y: 'zzz2'}, 'key2')
+store.add({x: 'value3', y: 'zzz3'}, 'key3')
+PASS event.target.errorCode is webkitIDBDatabaseException.ABORT_ERR
+PASS firstError is false
+PASS secondError is false
+PASS abortFired is false
+Expecting exception from store.add({x: 'value4', y: 'zzz4'}, 'key4')
+PASS Exception was thrown.
+PASS code is webkitIDBDatabaseException.NOT_ALLOWED_ERR
+PASS event.target.errorCode is webkitIDBDatabaseException.ABORT_ERR
+PASS firstError is true
+PASS secondError is false
+PASS abortFired is false
+PASS firstError is true
+PASS secondError is true
+PASS abortFired is false
+Expecting exception from store.add({x: 'value5', y: 'zzz5'}, 'key5')
+PASS Exception was thrown.
+PASS code is webkitIDBDatabaseException.NOT_ALLOWED_ERR
+PASS successfullyParsed is true
+
+TEST COMPLETE
+
diff --git a/LayoutTests/storage/indexeddb/transaction-abort.html b/LayoutTests/storage/indexeddb/transaction-abort.html
new file mode 100644
index 0000000..6bd0c00
--- /dev/null
+++ b/LayoutTests/storage/indexeddb/transaction-abort.html
@@ -0,0 +1,103 @@
+<html>
+<head>
+<link rel="stylesheet" href="../../fast/js/resources/js-test-style.css">
+<script src="../../fast/js/resources/js-test-pre.js"></script>
+<script src="../../fast/js/resources/js-test-post-function.js"></script>
+<script src="resources/shared.js"></script>
+</head>
+<body>
+<p id="description"></p>
+<div id="console"></div>
+<script>
+
+description("Test transaction aborts send the proper onabort messages..");
+if (window.layoutTestController)
+ layoutTestController.waitUntilDone();
+
+function test()
+{
+ request = evalAndLog("webkitIndexedDB.open('name')");
+ request.onsuccess = setVersion;
+ request.onerror = unexpectedErrorCallback;
+}
+
+function setVersion()
+{
+ db = evalAndLog("db = event.target.result");
+
+ request = evalAndLog("db.setVersion('new version')");
+ request.onsuccess = deleteExisting;
+ request.onerror = unexpectedErrorCallback;
+}
+
+function deleteExisting()
+{
+ debug("setVersionSuccess():");
+ window.trans = evalAndLog("trans = event.target.result");
+ shouldBeTrue("trans !== null");
+ trans.onabort = unexpectedAbortCallback;
+ evalAndLog("trans.oncomplete = startTest");
+
+ deleteAllObjectStores(db);
+
+ store = evalAndLog("store = db.createObjectStore('storeName', null)");
+ request = evalAndLog("store.add({x: 'value', y: 'zzz'}, 'key')");
+ request.onerror = unexpectedErrorCallback;
+}
+
+function startTest()
+{
+ trans = evalAndLog("trans = db.transaction([], webkitIDBTransaction.READ_WRITE)");
+ evalAndLog("trans.onabort = transactionAborted");
+ evalAndLog("trans.oncomplete = unexpectedCompleteCallback");
+ store = evalAndLog("store = trans.objectStore('storeName')");
+ request = evalAndLog("store.add({x: 'value2', y: 'zzz2'}, 'key2')");
+ request.onerror = firstAdd;
+ request.onsuccess = unexpectedSuccessCallback;
+ request = evalAndLog("store.add({x: 'value3', y: 'zzz3'}, 'key3')");
+ request.onerror = secondAdd;
+ trans.abort();
+
+ firstError = false;
+ secondError = false;
+ abortFired = false;
+}
+
+function firstAdd()
+{
+ shouldBe("event.target.errorCode", "webkitIDBDatabaseException.ABORT_ERR");
+ shouldBeFalse("firstError");
+ shouldBeFalse("secondError");
+ shouldBeFalse("abortFired");
+ firstError = true;
+
+ evalAndExpectException("store.add({x: 'value4', y: 'zzz4'}, 'key4')", "webkitIDBDatabaseException.NOT_ALLOWED_ERR");
+}
+
+function secondAdd()
+{
+ shouldBe("event.target.errorCode", "webkitIDBDatabaseException.ABORT_ERR");
+ shouldBeTrue("firstError");
+ shouldBeFalse("secondError");
+ shouldBeFalse("abortFired");
+ secondError = true;
+}
+
+function transactionAborted()
+{
+ shouldBeTrue("firstError");
+ shouldBeTrue("secondError");
+ shouldBeFalse("abortFired");
+ abortFired = true;
+
+ evalAndExpectException("store.add({x: 'value5', y: 'zzz5'}, 'key5')", "webkitIDBDatabaseException.NOT_ALLOWED_ERR");
+ done();
+}
+
+test();
+
+var successfullyParsed = true;
+
+</script>
+</body>
+</html>
diff --git a/LayoutTests/storage/indexeddb/transaction-after-close-expected.txt b/LayoutTests/storage/indexeddb/transaction-after-close-expected.txt
index 653bd87..6be5795 100644
--- a/LayoutTests/storage/indexeddb/transaction-after-close-expected.txt
+++ b/LayoutTests/storage/indexeddb/transaction-after-close-expected.txt
@@ -5,90 +5,28 @@ On success, you will see a series of "PASS" messages, followed by "TEST COMPLETE
PASS 'webkitIndexedDB' in window is true
PASS webkitIndexedDB == null is false
-webkitIndexedDB.open('some db name')
-PASS 'onsuccess' in result is true
-PASS 'onerror' in result is true
-PASS 'readyState' in result is true
-An event should fire shortly...
-
+webkitIndexedDB.open('transaction-after-close')
openSuccess():
-Success event fired:
-PASS 'result' in event is true
-PASS 'code' in event is false
-PASS 'message' in event is false
-PASS 'source' in event is true
-PASS event.source != null is true
-PASS 'onsuccess' in event.target is true
-PASS 'onerror' in event.target is true
-PASS 'readyState' in event.target is true
-PASS event.target.readyState is event.target.DONE
-
-db = event.result
-result = db.setVersion('version 1')
-Success event fired:
-PASS 'result' in event is true
-PASS 'code' in event is false
-PASS 'message' in event is false
-PASS 'source' in event is true
-PASS event.source != null is true
-PASS 'onsuccess' in event.target is true
-PASS 'onerror' in event.target is true
-PASS 'readyState' in event.target is true
-PASS event.target.readyState is event.target.DONE
-
+db = event.target.result
+request = db.setVersion('version 1')
Deleted all object stores.
store = db.createObjectStore('store')
request = store.put('x', 'y')
-Success event fired:
-PASS 'result' in event is true
-PASS 'code' in event is false
-PASS 'message' in event is false
-PASS 'source' in event is true
-PASS event.source != null is true
-PASS 'onsuccess' in event.target is true
-PASS 'onerror' in event.target is true
-PASS 'readyState' in event.target is true
-PASS event.target.readyState is event.target.DONE
-
+PASS Put success
running first transaction
currentTransaction = db.transaction([], webkitIDBTransaction.READ_WRITE)
objectStore.put('a', 'b')
db.close()
Expecting exception from db.transaction([], webkitIDBTransaction.READ_WRITE)
+PASS Exception was thrown.
PASS code is webkitIDBDatabaseException.NOT_ALLOWED_ERR
verify that we can reopen the db after calling close
-webkitIndexedDB.open('some db name')
-PASS 'onsuccess' in result is true
-PASS 'onerror' in result is true
-PASS 'readyState' in result is true
-An event should fire shortly...
-
-Success event fired:
-PASS 'result' in event is true
-PASS 'code' in event is false
-PASS 'message' in event is false
-PASS 'source' in event is true
-PASS event.source != null is true
-PASS 'onsuccess' in event.target is true
-PASS 'onerror' in event.target is true
-PASS 'readyState' in event.target is true
-PASS event.target.readyState is event.target.DONE
-
-second_db = event.result
+webkitIndexedDB.open('transaction-after-close')
+second_db = event.target.result
currentTransaction = second_db.transaction([], webkitIDBTransaction.READ_WRITE)
request = store.put('1', '2')
-Success event fired:
-PASS 'result' in event is true
-PASS 'code' in event is false
-PASS 'message' in event is false
-PASS 'source' in event is true
-PASS event.source != null is true
-PASS 'onsuccess' in event.target is true
-PASS 'onerror' in event.target is true
-PASS 'readyState' in event.target is true
-PASS event.target.readyState is event.target.DONE
-
+PASS final put success
PASS successfullyParsed is true
TEST COMPLETE
diff --git a/LayoutTests/storage/indexeddb/transaction-after-close.html b/LayoutTests/storage/indexeddb/transaction-after-close.html
index 718c05a..13aee60 100644
--- a/LayoutTests/storage/indexeddb/transaction-after-close.html
+++ b/LayoutTests/storage/indexeddb/transaction-after-close.html
@@ -19,32 +19,26 @@ function test()
shouldBeTrue("'webkitIndexedDB' in window");
shouldBeFalse("webkitIndexedDB == null");
- result = evalAndLog("webkitIndexedDB.open('some db name')");
- verifyResult(result);
- result.onsuccess = openSuccess;
- result.onerror = unexpectedErrorCallback;
+ request = evalAndLog("webkitIndexedDB.open('transaction-after-close')");
+ request.onsuccess = openSuccess;
+ request.onerror = unexpectedErrorCallback;
}
function openSuccess()
{
debug("openSuccess():");
- verifySuccessEvent(event);
- window.db = evalAndLog("db = event.result");
- result = evalAndLog("result = db.setVersion('version 1')");
- result.onsuccess = inSetVersion;
- result.onerror = unexpectedErrorCallback;
+ window.db = evalAndLog("db = event.target.result");
+ request = evalAndLog("request = db.setVersion('version 1')");
+ request.onsuccess = inSetVersion;
+ request.onerror = unexpectedErrorCallback;
}
function inSetVersion()
{
- verifySuccessEvent(event);
- deleteAllObjectStores(db, doSetVersionStuff);
-}
+ deleteAllObjectStores(db);
-function doSetVersionStuff()
-{
- event.result.oncomplete = runFirstRegularTransaction;
- event.result.onabort = unexpectedAbortCallback;
+ event.target.result.oncomplete = runFirstRegularTransaction;
+ event.target.result.onabort = unexpectedAbortCallback;
store = evalAndLog("store = db.createObjectStore('store')");
request = evalAndLog("request = store.put('x', 'y')");
request.onsuccess = onPutSuccess;
@@ -53,7 +47,7 @@ function doSetVersionStuff()
function onPutSuccess()
{
- verifySuccessEvent(event);
+ testPassed("Put success")
}
function runFirstRegularTransaction()
@@ -63,8 +57,8 @@ function runFirstRegularTransaction()
currentTransaction.onabort = unexpectedAbortCallback;
currentTransaction.oncomplete = firstTransactionComplete;
objectStore = currentTransaction.objectStore('store');
- result = evalAndLog("objectStore.put('a', 'b')");
- result.onerror = unexpectedErrorCallback;
+ request = evalAndLog("objectStore.put('a', 'b')");
+ request.onerror = unexpectedErrorCallback;
}
function firstTransactionComplete()
@@ -74,15 +68,13 @@ function firstTransactionComplete()
debug("")
debug("verify that we can reopen the db after calling close")
- result = evalAndLog("webkitIndexedDB.open('some db name')");
- verifyResult(result);
- result.onsuccess = onSecondOpen
- result.onerror = unexpectedErrorCallback;
+ request = evalAndLog("webkitIndexedDB.open('transaction-after-close')");
+ request.onsuccess = onSecondOpen
+ request.onerror = unexpectedErrorCallback;
}
function onSecondOpen() {
- verifySuccessEvent(event);
- second_db = evalAndLog("second_db = event.result");
+ second_db = evalAndLog("second_db = event.target.result");
currentTransaction = evalAndLog("currentTransaction = second_db.transaction([], webkitIDBTransaction.READ_WRITE)");
store = currentTransaction.objectStore('store');
request = evalAndLog("request = store.put('1', '2')");
@@ -93,7 +85,7 @@ function onSecondOpen() {
}
function onFinalPutSuccess() {
- verifySuccessEvent(event);
+ testPassed("final put success");
}
var successfullyParsed = true;
diff --git a/LayoutTests/storage/indexeddb/transaction-and-objectstore-calls-expected.txt b/LayoutTests/storage/indexeddb/transaction-and-objectstore-calls-expected.txt
index 36ca01e..3a9d2ed 100644
--- a/LayoutTests/storage/indexeddb/transaction-and-objectstore-calls-expected.txt
+++ b/LayoutTests/storage/indexeddb/transaction-and-objectstore-calls-expected.txt
@@ -5,15 +5,10 @@ On success, you will see a series of "PASS" messages, followed by "TEST COMPLETE
PASS 'webkitIndexedDB' in window is true
PASS webkitIndexedDB == null is false
-webkitIndexedDB.open('name', 'description')
-PASS 'onsuccess' in result is true
-PASS 'onerror' in result is true
-PASS 'readyState' in result is true
-An event should fire shortly...
-
-db = event.result
+webkitIndexedDB.open('transaction-and-objectstore-calls', 'description')
+db = event.target.result
result = db.setVersion('version 1')
-trans = event.result
+trans = event.target.result
Deleted all object stores.
db.createObjectStore('a')
db.createObjectStore('b')
@@ -22,57 +17,72 @@ trans.addEventListener('complete', created, true)
trans = db.transaction(['a'])
trans.objectStore('a')
Expecting exception from trans.objectStore('b')
+PASS Exception was thrown.
PASS code is webkitIDBDatabaseException.NOT_FOUND_ERR
Expecting exception from trans.objectStore('x')
+PASS Exception was thrown.
PASS code is webkitIDBDatabaseException.NOT_FOUND_ERR
trans = db.transaction(['a'])
trans.objectStore('a')
Expecting exception from trans.objectStore('b')
+PASS Exception was thrown.
PASS code is webkitIDBDatabaseException.NOT_FOUND_ERR
Expecting exception from trans.objectStore('x')
+PASS Exception was thrown.
PASS code is webkitIDBDatabaseException.NOT_FOUND_ERR
trans = db.transaction(['b'])
trans.objectStore('b')
Expecting exception from trans.objectStore('a')
+PASS Exception was thrown.
PASS code is webkitIDBDatabaseException.NOT_FOUND_ERR
Expecting exception from trans.objectStore('x')
+PASS Exception was thrown.
PASS code is webkitIDBDatabaseException.NOT_FOUND_ERR
trans = db.transaction(['a', 'b'])
trans.objectStore('a')
trans.objectStore('b')
Expecting exception from trans.objectStore('x')
+PASS Exception was thrown.
PASS code is webkitIDBDatabaseException.NOT_FOUND_ERR
trans = db.transaction(['b', 'a'])
trans.objectStore('a')
trans.objectStore('b')
Expecting exception from trans.objectStore('x')
+PASS Exception was thrown.
PASS code is webkitIDBDatabaseException.NOT_FOUND_ERR
trans = db.transaction([])
trans.objectStore('a')
trans.objectStore('b')
Expecting exception from trans.objectStore('x')
+PASS Exception was thrown.
PASS code is webkitIDBDatabaseException.NOT_FOUND_ERR
trans = db.transaction()
trans.objectStore('a')
trans.objectStore('b')
Expecting exception from trans.objectStore('x')
+PASS Exception was thrown.
PASS code is webkitIDBDatabaseException.NOT_FOUND_ERR
Expecting exception from db.transaction(['x'])
+PASS Exception was thrown.
PASS code is webkitIDBDatabaseException.NOT_FOUND_ERR
Expecting exception from db.transaction(['x'])
+PASS Exception was thrown.
PASS code is webkitIDBDatabaseException.NOT_FOUND_ERR
Expecting exception from db.transaction(['a', 'x'])
+PASS Exception was thrown.
PASS code is webkitIDBDatabaseException.NOT_FOUND_ERR
Expecting exception from db.transaction(['x', 'x'])
+PASS Exception was thrown.
PASS code is webkitIDBDatabaseException.NOT_FOUND_ERR
Expecting exception from db.transaction(['a', 'x', 'b'])
+PASS Exception was thrown.
PASS code is webkitIDBDatabaseException.NOT_FOUND_ERR
PASS successfullyParsed is true
diff --git a/LayoutTests/storage/indexeddb/transaction-and-objectstore-calls.html b/LayoutTests/storage/indexeddb/transaction-and-objectstore-calls.html
index 144df4f..e9a3b8e 100644
--- a/LayoutTests/storage/indexeddb/transaction-and-objectstore-calls.html
+++ b/LayoutTests/storage/indexeddb/transaction-and-objectstore-calls.html
@@ -19,28 +19,24 @@ function test()
shouldBeTrue("'webkitIndexedDB' in window");
shouldBeFalse("webkitIndexedDB == null");
- result = evalAndLog("webkitIndexedDB.open('name', 'description')");
- verifyResult(result);
- result.onsuccess = openSuccess;
- result.onerror = unexpectedErrorCallback;
+ request = evalAndLog("webkitIndexedDB.open('transaction-and-objectstore-calls', 'description')");
+ request.onsuccess = openSuccess;
+ request.onerror = unexpectedErrorCallback;
}
function openSuccess()
{
- window.db = evalAndLog("db = event.result");
- result = evalAndLog("result = db.setVersion('version 1')");
- result.onsuccess = cleanDatabase;
- result.onerror = unexpectedErrorCallback;
+ window.db = evalAndLog("db = event.target.result");
+ request = evalAndLog("result = db.setVersion('version 1')");
+ request.onsuccess = cleanDatabase;
+ request.onerror = unexpectedErrorCallback;
}
function cleanDatabase()
{
- trans = evalAndLog("trans = event.result");
- deleteAllObjectStores(db, cleaned);
-}
+ trans = evalAndLog("trans = event.target.result");
+ deleteAllObjectStores(db);
-function cleaned()
-{
evalAndLog("db.createObjectStore('a')");
evalAndLog("db.createObjectStore('b')");
evalAndLog("trans.addEventListener('complete', created, true)");
diff --git a/LayoutTests/storage/indexeddb/transaction-basics-expected.txt b/LayoutTests/storage/indexeddb/transaction-basics-expected.txt
index f026154..527c553 100644
--- a/LayoutTests/storage/indexeddb/transaction-basics-expected.txt
+++ b/LayoutTests/storage/indexeddb/transaction-basics-expected.txt
@@ -5,63 +5,17 @@ On success, you will see a series of "PASS" messages, followed by "TEST COMPLETE
PASS 'webkitIndexedDB' in window is true
PASS webkitIndexedDB == null is false
-webkitIndexedDB.open('name')
-PASS 'onsuccess' in result is true
-PASS 'onerror' in result is true
-PASS 'readyState' in result is true
-An event should fire shortly...
-
+webkitIndexedDB.open('transaction-basics')
openSuccess():
-Success event fired:
-PASS 'result' in event is true
-PASS 'code' in event is false
-PASS 'message' in event is false
-PASS 'source' in event is true
-PASS event.source != null is true
-PASS 'onsuccess' in event.target is true
-PASS 'onerror' in event.target is true
-PASS 'readyState' in event.target is true
-PASS event.target.readyState is event.target.DONE
-
-db = event.result
-result = db.setVersion('version 1')
-Success event fired:
-PASS 'result' in event is true
-PASS 'code' in event is false
-PASS 'message' in event is false
-PASS 'source' in event is true
-PASS event.source != null is true
-PASS 'onsuccess' in event.target is true
-PASS 'onerror' in event.target is true
-PASS 'readyState' in event.target is true
-PASS event.target.readyState is event.target.DONE
-
+db = event.target.result
+request = db.setVersion('version 1')
Deleted all object stores.
PASS window.db.objectStoreNames is []
PASS window.db.objectStoreNames.length is 0
PASS window.db.objectStoreNames.contains('storeFail') is false
-PASS window.db.objectStoreNames is []
-PASS window.db.objectStoreNames.length is 0
-PASS window.db.objectStoreNames.contains('storeFail') is false
-result = startSetVersion('version fail')
-PASS 'onsuccess' in result is true
-PASS 'onerror' in result is true
-PASS 'readyState' in result is true
-An event should fire shortly...
-
+request = startSetVersion('version fail')
addRemoveIDBObjects():
-Success event fired:
-PASS 'result' in event is true
-PASS 'code' in event is false
-PASS 'message' in event is false
-PASS 'source' in event is true
-PASS event.source != null is true
-PASS 'onsuccess' in event.target is true
-PASS 'onerror' in event.target is true
-PASS 'readyState' in event.target is true
-PASS event.target.readyState is event.target.DONE
-
-trans = event.result
+trans = event.target.result
PASS trans !== null is true
store = db.createObjectStore('storeFail', null)
index = store.createIndex('indexFail', 'x', false)
@@ -70,25 +24,9 @@ store.deleteIndex('indexFail')
PASS window.db.objectStoreNames is []
PASS window.db.objectStoreNames.length is 0
PASS window.db.objectStoreNames.contains('storeFail') is false
-result = startSetVersion('version fail')
-PASS 'onsuccess' in result is true
-PASS 'onerror' in result is true
-PASS 'readyState' in result is true
-An event should fire shortly...
-
+request = startSetVersion('version fail')
addRemoveAddIDBObjects():
-Success event fired:
-PASS 'result' in event is true
-PASS 'code' in event is false
-PASS 'message' in event is false
-PASS 'source' in event is true
-PASS event.source != null is true
-PASS 'onsuccess' in event.target is true
-PASS 'onerror' in event.target is true
-PASS 'readyState' in event.target is true
-PASS event.target.readyState is event.target.DONE
-
-trans = event.result
+trans = event.target.result
PASS trans !== null is true
store = db.createObjectStore('storeFail', null)
index = store.createIndex('indexFail', 'x', false)
@@ -96,53 +34,22 @@ db.deleteObjectStore('storeFail')
store.deleteIndex('indexFail')
store = db.createObjectStore('storeFail', null)
index = store.createIndex('indexFail', 'x', false)
+PASS event.cancelable is false
PASS window.db.objectStoreNames is []
PASS window.db.objectStoreNames.length is 0
PASS window.db.objectStoreNames.contains('storeFail') is false
-result = startSetVersion('version fail')
-PASS 'onsuccess' in result is true
-PASS 'onerror' in result is true
-PASS 'readyState' in result is true
-An event should fire shortly...
-
+request = startSetVersion('version fail')
addIDBObjects():
-Success event fired:
-PASS 'result' in event is true
-PASS 'code' in event is false
-PASS 'message' in event is false
-PASS 'source' in event is true
-PASS event.source != null is true
-PASS 'onsuccess' in event.target is true
-PASS 'onerror' in event.target is true
-PASS 'readyState' in event.target is true
-PASS event.target.readyState is event.target.DONE
-
-trans = event.result
+trans = event.target.result
PASS trans !== null is true
store = db.createObjectStore('storeFail', null)
index = store.createIndex('indexFail', 'x', false)
PASS db.objectStoreNames is ['storeFail']
PASS db.objectStoreNames.length is 1
PASS db.objectStoreNames.contains('storeFail') is true
-result = startSetVersion('version fail')
-PASS 'onsuccess' in result is true
-PASS 'onerror' in result is true
-PASS 'readyState' in result is true
-An event should fire shortly...
-
+request = startSetVersion('version fail')
removeIDBObjects():
-Success event fired:
-PASS 'result' in event is true
-PASS 'code' in event is false
-PASS 'message' in event is false
-PASS 'source' in event is true
-PASS event.source != null is true
-PASS 'onsuccess' in event.target is true
-PASS 'onerror' in event.target is true
-PASS 'readyState' in event.target is true
-PASS event.target.readyState is event.target.DONE
-
-trans = event.result
+trans = event.target.result
PASS trans !== null is true
store = trans.objectStore('storeFail')
store.deleteIndex('indexFail')
@@ -151,34 +58,17 @@ PASS db.objectStoreNames is ['storeFail']
PASS db.objectStoreNames.length is 1
PASS db.objectStoreNames.contains('storeFail') is true
db.setVersion('new version')
-PASS 'onsuccess' in result is true
-PASS 'onerror' in result is true
-PASS 'readyState' in result is true
-An event should fire shortly...
-
setVersionSuccess():
-Success event fired:
-PASS 'result' in event is true
-PASS 'code' in event is false
-PASS 'message' in event is false
-PASS 'source' in event is true
-PASS event.source != null is true
-PASS 'onsuccess' in event.target is true
-PASS 'onerror' in event.target is true
-PASS 'readyState' in event.target is true
-PASS event.target.readyState is event.target.DONE
-
-trans = event.result
+trans = event.target.result
PASS trans !== null is true
Deleted all object stores.
db.createObjectStore('storeName', null)
db.transaction({mode: webkitIDBTransaction.READ_WRITE})
store = transaction.objectStore('storeName')
PASS store.name is "storeName"
-Abort event fired:
-PASS event.type is "abort"
-Complete event fired:
-PASS event.type is "complete"
+PASS complete event fired
+PASS event.cancelable is false
+PASS complete event fired
PASS oncomplete event had fired
PASS successfullyParsed is true
diff --git a/LayoutTests/storage/indexeddb/transaction-basics.html b/LayoutTests/storage/indexeddb/transaction-basics.html
index 9626129..0e49da1 100644
--- a/LayoutTests/storage/indexeddb/transaction-basics.html
+++ b/LayoutTests/storage/indexeddb/transaction-basics.html
@@ -19,25 +19,22 @@ function test()
shouldBeTrue("'webkitIndexedDB' in window");
shouldBeFalse("webkitIndexedDB == null");
- result = evalAndLog("webkitIndexedDB.open('name')");
- verifyResult(result);
- result.onsuccess = openSuccess;
- result.onerror = unexpectedErrorCallback;
+ request = evalAndLog("webkitIndexedDB.open('transaction-basics')");
+ request.onsuccess = openSuccess;
+ request.onerror = unexpectedErrorCallback;
}
function openSuccess()
{
debug("openSuccess():");
- verifySuccessEvent(event);
- window.db = evalAndLog("db = event.result");
- result = evalAndLog("result = db.setVersion('version 1')");
- result.onsuccess = cleanDatabase;
- result.onerror = unexpectedErrorCallback;
+ window.db = evalAndLog("db = event.target.result");
+ request = evalAndLog("request = db.setVersion('version 1')");
+ request.onsuccess = cleanDatabase;
+ request.onerror = unexpectedErrorCallback;
}
function cleanDatabase()
{
- verifySuccessEvent(event);
deleteAllObjectStores(db, checkMetadataEmpty);
commitAndContinue(testSetVersionAbort1);
}
@@ -45,15 +42,14 @@ function cleanDatabase()
function testSetVersionAbort1()
{
checkMetadataEmpty();
- result = evalAndLog("result = startSetVersion('version fail')");
- result.onsuccess = addRemoveIDBObjects;
+ request = evalAndLog("request = startSetVersion('version fail')");
+ request.onsuccess = addRemoveIDBObjects;
}
function addRemoveIDBObjects()
{
debug("addRemoveIDBObjects():");
- verifySuccessEvent(event);
- var trans = evalAndLog("trans = event.result");
+ var trans = evalAndLog("trans = event.target.result");
shouldBeTrue("trans !== null");
trans.addEventListener('abort', testSetVersionAbort2, true);
trans.oncomplete = unexpectedCompleteCallback;
@@ -70,15 +66,14 @@ function addRemoveIDBObjects()
function testSetVersionAbort2()
{
checkMetadataEmpty();
- result = evalAndLog("result = startSetVersion('version fail')");
- result.onsuccess = addRemoveAddIDBObjects;
+ request = evalAndLog("request = startSetVersion('version fail')");
+ request.onsuccess = addRemoveAddIDBObjects;
}
function addRemoveAddIDBObjects()
{
debug("addRemoveAddIDBObjects():");
- verifySuccessEvent(event);
- var trans = evalAndLog("trans = event.result");
+ var trans = evalAndLog("trans = event.target.result");
shouldBeTrue("trans !== null");
trans.addEventListener('abort', testSetVersionAbort3, false);
trans.oncomplete = unexpectedCompleteCallback;
@@ -97,16 +92,17 @@ function addRemoveAddIDBObjects()
function testSetVersionAbort3()
{
+ shouldBeFalse("event.cancelable");
checkMetadataEmpty();
- result = evalAndLog("result = startSetVersion('version fail')");
- result.onsuccess = addIDBObjects;
+ request = evalAndLog("request = startSetVersion('version fail')");
+ request.onsuccess = addIDBObjects;
}
function addIDBObjects()
{
+ shouldBeFalse("event.cancelable");
debug("addIDBObjects():");
- verifySuccessEvent(event);
- var trans = evalAndLog("trans = event.result");
+ var trans = evalAndLog("trans = event.target.result");
shouldBeTrue("trans !== null");
trans.onabort = testSetVersionAbort4;
trans.oncomplete = unexpectedCompleteCallback;
@@ -120,15 +116,14 @@ function addIDBObjects()
function testSetVersionAbort4()
{
checkMetadataEmpty();
- result = evalAndLog("result = startSetVersion('version fail')");
- result.onsuccess = addIDBObjectsAndCommit;
+ request = evalAndLog("request = startSetVersion('version fail')");
+ request.onsuccess = addIDBObjectsAndCommit;
}
function addIDBObjects()
{
debug("addIDBObjects():");
- verifySuccessEvent(event);
- var trans = evalAndLog("trans = event.result");
+ var trans = evalAndLog("trans = event.target.result");
shouldBeTrue("trans !== null");
trans.onabort = unexpectedAbortCallback;
@@ -146,15 +141,14 @@ function commitAndContinue(continueFunction)
function testSetVersionAbort5()
{
checkMetadataExistingObjectStore();
- result = evalAndLog("result = startSetVersion('version fail')");
- result.onsuccess = removeIDBObjects;
+ request = evalAndLog("request = startSetVersion('version fail')");
+ request.onsuccess = removeIDBObjects;
}
function removeIDBObjects()
{
debug("removeIDBObjects():");
- verifySuccessEvent(event);
- var trans = evalAndLog("trans = event.result");
+ var trans = evalAndLog("trans = event.target.result");
shouldBeTrue("trans !== null");
trans.onabort = testSetVersionAbort6;
trans.oncomplete = unexpectedCompleteCallback;
@@ -174,10 +168,9 @@ function testSetVersionAbort6()
function startSetVersion(versionName)
{
- result = db.setVersion(versionName);
- verifyResult(result);
- result.onerror = unexpectedErrorCallback;
- return result;
+ request = db.setVersion(versionName);
+ request.onerror = unexpectedErrorCallback;
+ return request;
}
function checkMetadataEmpty()
@@ -196,27 +189,22 @@ function checkMetadataExistingObjectStore()
function setNewVersion()
{
- result = evalAndLog("db.setVersion('new version')");
- verifyResult(result);
- result.onsuccess = setVersionSuccess;
- result.onerror = unexpectedErrorCallback;
+ request = evalAndLog("db.setVersion('new version')");
+ request.onsuccess = setVersionSuccess;
+ request.onerror = unexpectedErrorCallback;
}
function setVersionSuccess()
{
debug("setVersionSuccess():");
- verifySuccessEvent(event);
- window.trans = evalAndLog("trans = event.result");
+ window.trans = evalAndLog("trans = event.target.result");
shouldBeTrue("trans !== null");
trans.onabort = unexpectedAbortCallback;
trans.addEventListener('complete', completeCallback, false);
window.completeEventFired = false;
- deleteAllObjectStores(db, createObjectStoreAndStartTransaction);
-}
+ deleteAllObjectStores(db);
-function createObjectStoreAndStartTransaction()
-{
evalAndLog("db.createObjectStore('storeName', null)");
transaction = evalAndLog("db.transaction({mode: webkitIDBTransaction.READ_WRITE})");
transaction.onabort = abortCallback;
@@ -226,13 +214,14 @@ function createObjectStoreAndStartTransaction()
function completeCallback()
{
- verifyCompleteEvent(event);
+ shouldBeFalse("event.cancelable");
+ testPassed("complete event fired");
window.completeEventFired = true;
}
function abortCallback()
{
- verifyAbortEvent(event);
+ testPassed("complete event fired");
checkForCompleteEvent();
}
diff --git a/LayoutTests/storage/indexeddb/transaction-crash-on-abort-expected.txt b/LayoutTests/storage/indexeddb/transaction-crash-on-abort-expected.txt
index 139189e..4f72614 100644
--- a/LayoutTests/storage/indexeddb/transaction-crash-on-abort-expected.txt
+++ b/LayoutTests/storage/indexeddb/transaction-crash-on-abort-expected.txt
@@ -5,25 +5,9 @@ On success, you will see a series of "PASS" messages, followed by "TEST COMPLETE
PASS 'webkitIndexedDB' in window is true
PASS webkitIndexedDB == null is false
-webkitIndexedDB.open('name')
-PASS 'onsuccess' in result is true
-PASS 'onerror' in result is true
-PASS 'readyState' in result is true
-An event should fire shortly...
-
+webkitIndexedDB.open('transaction-crash-on-abort')
openSuccess():
-Success event fired:
-PASS 'result' in event is true
-PASS 'code' in event is false
-PASS 'message' in event is false
-PASS 'source' in event is true
-PASS event.source != null is true
-PASS 'onsuccess' in event.target is true
-PASS 'onerror' in event.target is true
-PASS 'readyState' in event.target is true
-PASS event.target.readyState is event.target.DONE
-
-db = event.result
+db = event.target.result
db.transaction()
window.gc()
PASS successfullyParsed is true
diff --git a/LayoutTests/storage/indexeddb/transaction-crash-on-abort.html b/LayoutTests/storage/indexeddb/transaction-crash-on-abort.html
index 92aeb31..8fa3514 100644
--- a/LayoutTests/storage/indexeddb/transaction-crash-on-abort.html
+++ b/LayoutTests/storage/indexeddb/transaction-crash-on-abort.html
@@ -19,17 +19,15 @@ function test()
shouldBeTrue("'webkitIndexedDB' in window");
shouldBeFalse("webkitIndexedDB == null");
- result = evalAndLog("webkitIndexedDB.open('name')");
- verifyResult(result);
- result.onsuccess = openSuccess;
- result.onerror = unexpectedErrorCallback;
+ request = evalAndLog("webkitIndexedDB.open('transaction-crash-on-abort')");
+ request.onsuccess = openSuccess;
+ request.onerror = unexpectedErrorCallback;
}
function openSuccess()
{
debug("openSuccess():");
- verifySuccessEvent(event);
- db = evalAndLog("db = event.result");
+ db = evalAndLog("db = event.target.result");
evalAndLog("db.transaction()");
evalAndLog("window.gc()");
done();
diff --git a/LayoutTests/storage/indexeddb/transaction-event-propagation-expected.txt b/LayoutTests/storage/indexeddb/transaction-event-propagation-expected.txt
index 9d04b0a..5f85c81 100644
--- a/LayoutTests/storage/indexeddb/transaction-event-propagation-expected.txt
+++ b/LayoutTests/storage/indexeddb/transaction-event-propagation-expected.txt
@@ -3,20 +3,10 @@ Test event propogation on IDBTransaction.
On success, you will see a series of "PASS" messages, followed by "TEST COMPLETE".
-webkitIndexedDB.open('name')
-PASS 'onsuccess' in result is true
-PASS 'onerror' in result is true
-PASS 'readyState' in result is true
-An event should fire shortly...
-
-db = event.result
+webkitIndexedDB.open('transaction-event-propagation')
+db = event.target.result
db.setVersion('new version')
-PASS 'onsuccess' in result is true
-PASS 'onerror' in result is true
-PASS 'readyState' in result is true
-An event should fire shortly...
-
-trans = event.result
+trans = event.target.result
PASS trans !== null is true
trans.oncomplete = startTest
Deleted all object stores.
@@ -37,16 +27,22 @@ In IDBDatabase abort capture
PASS dbCaptureFired is false
PASS abortFired is false
PASS dbBubbleFired1 is false
+PASS event.target is trans
+PASS event.currentTarget is db
In abort handler
PASS dbCaptureFired is true
PASS abortFired is false
PASS dbBubbleFired1 is false
+PASS event.target is trans
+PASS event.currentTarget is trans
In IDBDatabase error bubble
PASS dbCaptureFired is true
PASS abortFired is true
PASS dbBubbleFired1 is false
+PASS event.target is trans
+PASS event.currentTarget is db
Verifing success.
trans = db.transaction([], webkitIDBTransaction.READ_WRITE)
@@ -67,11 +63,15 @@ In IDBDatabase complete capture
PASS dbCaptureFired is false
PASS completeFired is false
PASS dbBubbleFired2 is false
+PASS event.target is trans
+PASS event.currentTarget is db
In IDBRequest handler
PASS dbCaptureFired is true
PASS completeFired is false
PASS dbBubbleFired2 is false
+PASS event.target is trans
+PASS event.currentTarget is trans
PASS successfullyParsed is true
diff --git a/LayoutTests/storage/indexeddb/transaction-event-propagation.html b/LayoutTests/storage/indexeddb/transaction-event-propagation.html
index c31646a..15c275c 100644
--- a/LayoutTests/storage/indexeddb/transaction-event-propagation.html
+++ b/LayoutTests/storage/indexeddb/transaction-event-propagation.html
@@ -16,37 +16,32 @@ if (window.layoutTestController)
function test()
{
- result = evalAndLog("webkitIndexedDB.open('name')");
- verifyResult(result);
- result.onsuccess = setVersion;
- result.onerror = unexpectedErrorCallback;
+ request = evalAndLog("webkitIndexedDB.open('transaction-event-propagation')");
+ request.onsuccess = setVersion;
+ request.onerror = unexpectedErrorCallback;
}
function setVersion()
{
- db = evalAndLog("db = event.result");
+ db = evalAndLog("db = event.target.result");
- result = evalAndLog("db.setVersion('new version')");
- verifyResult(result);
- result.onsuccess = deleteExisting;
- result.onerror = unexpectedErrorCallback;
+ request = evalAndLog("db.setVersion('new version')");
+ request.onsuccess = deleteExisting;
+ request.onerror = unexpectedErrorCallback;
}
function deleteExisting()
{
- window.trans = evalAndLog("trans = event.result");
+ window.trans = evalAndLog("trans = event.target.result");
shouldBeTrue("trans !== null");
trans.onabort = unexpectedAbortCallback;
evalAndLog("trans.oncomplete = startTest");
- deleteAllObjectStores(db, createObjectStore);
-}
+ deleteAllObjectStores(db);
-function createObjectStore()
-{
store = evalAndLog("store = db.createObjectStore('storeName', null)");
- result = evalAndLog("store.add({x: 'value', y: 'zzz'}, 'key')");
- result.onerror = unexpectedErrorCallback;
+ request = evalAndLog("store.add({x: 'value', y: 'zzz'}, 'key')");
+ request.onerror = unexpectedErrorCallback;
}
function startTest()
@@ -73,6 +68,8 @@ function dbAbortCaptureCallback()
shouldBeFalse("dbCaptureFired");
shouldBeFalse("abortFired");
shouldBeFalse("dbBubbleFired1");
+ shouldBe("event.target", "trans");
+ shouldBe("event.currentTarget", "db");
dbCaptureFired = true;
}
@@ -83,6 +80,8 @@ function abortFiredCallback()
shouldBeTrue("dbCaptureFired");
shouldBeFalse("abortFired");
shouldBeFalse("dbBubbleFired1");
+ shouldBe("event.target", "trans");
+ shouldBe("event.currentTarget", "trans");
abortFired = true;
}
@@ -93,6 +92,8 @@ function dbAbortBubbleCallback()
shouldBeTrue("dbCaptureFired");
shouldBeTrue("abortFired");
shouldBeFalse("dbBubbleFired1");
+ shouldBe("event.target", "trans");
+ shouldBe("event.currentTarget", "db");
dbBubbleFired1 = true;
debug("");
debug("Verifing success.");
@@ -121,6 +122,8 @@ function dbCompleteCaptureCallback()
shouldBeFalse("dbCaptureFired");
shouldBeFalse("completeFired");
shouldBeFalse("dbBubbleFired2");
+ shouldBe("event.target", "trans");
+ shouldBe("event.currentTarget", "db");
dbCaptureFired = true;
}
@@ -131,6 +134,8 @@ function completeFiredCallback()
shouldBeTrue("dbCaptureFired");
shouldBeFalse("completeFired");
shouldBeFalse("dbBubbleFired2");
+ shouldBe("event.target", "trans");
+ shouldBe("event.currentTarget", "trans");
completeFired = true;
debug("");
done();
diff --git a/LayoutTests/storage/indexeddb/transaction-read-only-expected.txt b/LayoutTests/storage/indexeddb/transaction-read-only-expected.txt
index 9d3d668..a5a2b7e 100644
--- a/LayoutTests/storage/indexeddb/transaction-read-only-expected.txt
+++ b/LayoutTests/storage/indexeddb/transaction-read-only-expected.txt
@@ -5,50 +5,26 @@ On success, you will see a series of "PASS" messages, followed by "TEST COMPLETE
PASS 'webkitIndexedDB' in window is true
PASS webkitIndexedDB == null is false
-webkitIndexedDB.open('name')
-PASS 'onsuccess' in result is true
-PASS 'onerror' in result is true
-PASS 'readyState' in result is true
-An event should fire shortly...
-
+webkitIndexedDB.open('transaction-read-only')
openSuccess():
-Success event fired:
-PASS 'result' in event is true
-PASS 'code' in event is false
-PASS 'message' in event is false
-PASS 'source' in event is true
-PASS event.source != null is true
-PASS 'onsuccess' in event.target is true
-PASS 'onerror' in event.target is true
-PASS 'readyState' in event.target is true
-PASS event.target.readyState is event.target.DONE
-
-db = event.result
+db = event.target.result
result = db.setVersion('version 1')
-Success event fired:
-PASS 'result' in event is true
-PASS 'code' in event is false
-PASS 'message' in event is false
-PASS 'source' in event is true
-PASS event.source != null is true
-PASS 'onsuccess' in event.target is true
-PASS 'onerror' in event.target is true
-PASS 'readyState' in event.target is true
-PASS event.target.readyState is event.target.DONE
-
Deleted all object stores.
store = db.createObjectStore('store')
store.put('x', 'y')
trans = db.transaction()
Expecting exception from trans.objectStore('store').put('a', 'b')
+PASS Exception was thrown.
PASS code is webkitIDBDatabaseException.READ_ONLY_ERR
trans = db.transaction()
Expecting exception from trans.objectStore('store').delete('x')
+PASS Exception was thrown.
PASS code is webkitIDBDatabaseException.READ_ONLY_ERR
trans = db.transaction()
cur = trans.objectStore('store').openCursor()
-PASS !event.result is false
-Expecting exception from event.result.delete()
+PASS !event.target.result is false
+Expecting exception from event.target.result.delete()
+PASS Exception was thrown.
PASS code is webkitIDBDatabaseException.READ_ONLY_ERR
PASS successfullyParsed is true
diff --git a/LayoutTests/storage/indexeddb/transaction-read-only.html b/LayoutTests/storage/indexeddb/transaction-read-only.html
index fba6b95..5175ec7 100644
--- a/LayoutTests/storage/indexeddb/transaction-read-only.html
+++ b/LayoutTests/storage/indexeddb/transaction-read-only.html
@@ -19,32 +19,26 @@ function test()
shouldBeTrue("'webkitIndexedDB' in window");
shouldBeFalse("webkitIndexedDB == null");
- result = evalAndLog("webkitIndexedDB.open('name')");
- verifyResult(result);
- result.onsuccess = openSuccess;
- result.onerror = unexpectedErrorCallback;
+ request = evalAndLog("webkitIndexedDB.open('transaction-read-only')");
+ request.onsuccess = openSuccess;
+ request.onerror = unexpectedErrorCallback;
}
function openSuccess()
{
debug("openSuccess():");
- verifySuccessEvent(event);
- window.db = evalAndLog("db = event.result");
- result = evalAndLog("result = db.setVersion('version 1')");
- result.onsuccess = cleanDatabase;
- result.onerror = unexpectedErrorCallback;
+ window.db = evalAndLog("db = event.target.result");
+ request = evalAndLog("result = db.setVersion('version 1')");
+ request.onsuccess = cleanDatabase;
+ request.onerror = unexpectedErrorCallback;
}
function cleanDatabase()
{
- verifySuccessEvent(event);
- deleteAllObjectStores(db, setVersionStuff);
-}
+ deleteAllObjectStores(db);
-function setVersionStuff()
-{
- event.result.oncomplete = setVersionDone;
- event.result.onabort = unexpectedAbortCallback;
+ event.target.result.oncomplete = setVersionDone;
+ event.target.result.onabort = unexpectedAbortCallback;
store = evalAndLog("store = db.createObjectStore('store')");
evalAndLog("store.put('x', 'y')");
}
@@ -65,8 +59,8 @@ function setVersionDone()
function gotCursor()
{
- shouldBeFalse("!event.result");
- evalAndExpectException("event.result.delete()", "webkitIDBDatabaseException.READ_ONLY_ERR");
+ shouldBeFalse("!event.target.result");
+ evalAndExpectException("event.target.result.delete()", "webkitIDBDatabaseException.READ_ONLY_ERR");
done();
}
diff --git a/LayoutTests/storage/indexeddb/tutorial.html b/LayoutTests/storage/indexeddb/tutorial.html
index 0490df8..8b28987 100644
--- a/LayoutTests/storage/indexeddb/tutorial.html
+++ b/LayoutTests/storage/indexeddb/tutorial.html
@@ -70,7 +70,7 @@ function start()
// "addEventListener" if you'd like, but I'm using the simpler = syntax. Only one or the other
// will fire. You're guaranteed that they won't fire until control is returned from JavaScript
// execution.
- var request = indexedDB.open("myDB");
+ var request = indexedDB.open("tutorialDB");
request.onsuccess = onOpen;
request.onerror = unexpectedError;
}
@@ -92,9 +92,10 @@ function unexpectedError()
function onOpen()
{
// If an asynchronous call results in success, a "success" event will fire on the IDBRequest
- // object that was returned and the call's result will be placed in the event's "result"
- // attribute. In some cases, the expected result will be null.
- window.db = event.result;
+ // object that was returned (i.e. it'll be the event target), which means that you can simply
+ // look at event.target.result to get the result of the call. In some cases, the expected
+ // result will be null.
+ window.db = event.target.result;
// The IDBDatabase object has a "version" attribute. This can only be set by calling
// "setVersion" on the database and supplying a new version. This also starts a new
@@ -113,10 +114,10 @@ function onOpen()
function onSetVersion()
{
// We are now in a setVersion transaction. Such a transaction is the only place where one
- // can add or delete indexes and objectStores. The result (property of event) is an
+ // can add or delete indexes and objectStores. The result (property of the request) is an
// IDBTransaction object that has "complete" and "abort" event handlers which tell
// us when the transaction has committed, aborted, or timed out.
- window.currentTransaction = event.result;
+ window.currentTransaction = event.target.result;
currentTransaction.oncomplete = onSetVersionComplete;
currentTransaction.onabort = unexpectedAbort;
@@ -292,7 +293,7 @@ function onTransactionAborted()
function onPutSuccess()
{
// Result is the key used for the put.
- if (event.result !== 1)
+ if (event.target.result !== 1)
logError("Something went wrong.");
// We should be able to request the transaction via event.transaction from within any event handler
@@ -323,12 +324,12 @@ function onPutTransactionComplete()
function onGetSuccess()
{
- if (event.result.fname !== "John")
+ if (event.target.result.fname !== "John")
logError("Something went wrong.");
- // Events have a .source attribute which is the object that fired the event. In this case, it's our
- // "people" objectStore object.
- var people = event.source;
+ // Requests (which are our event target) also have a source attribute that's the object that
+ // returned the request. In this case, it's our "people" objectStore object.
+ var people = event.target.source;
// Now let's try opening a cursor from id 1 (exclusive/open) to id 3 (inclusive/closed). This means
// we'll get the objects for ids 2 and 3. You can also create cursors that are only right or only
@@ -346,9 +347,9 @@ function onObjectStoreCursor()
{
// The result of openCursor is an IDBCursor object or null if there are no (more--see below)
// records left.
- var cursor = event.result;
+ var cursor = event.target.result;
if (cursor === null) {
- cursorComplete(event.source); // The soruce is still an objectStore.
+ cursorComplete(event.target.source); // The soruce is still an objectStore.
return;
}
@@ -363,7 +364,7 @@ function onObjectStoreCursor()
// we MAY prioritize .continue() calls ahead of all other async operations queued up. This will
// introduce a level of non-determinism but should speed things up. Mozilla has already implemented
// this non-standard behavior, from what I've head.
- event.result.continue();
+ event.target.result.continue();
}
function cursorComplete(objectStore)
@@ -383,13 +384,13 @@ function cursorComplete(objectStore)
function onIndexGetSuccess()
{
// Because we did "getKey" the result is the objectStore's key.
- if (event.result !== 1)
+ if (event.target.result !== 1)
logError("Something went wrong.");
// Similarly, indexes have openCursor and openKeyCursor. We'll try a few of them with various
// different IDBKeyRanges just to demonstrate how to use them, but we won't bother to handle
// the onsuccess conditions.
- var lname = event.source;
+ var lname = event.target.source;
lname.openCursor(IDBKeyRange.lowerBound("Doe", false), IDBCursor.NEXT_NO_DUPLICATE);
lname.openCursor(null, IDBCursor.PREV_NO_DUPLICATE);
lname.openCursor(IDBKeyRange.upperBound("ZZZZ"));