From 5ddde30071f639962dd557c453f2ad01f8f0fd00 Mon Sep 17 00:00:00 2001 From: Kristian Monsen Date: Wed, 8 Sep 2010 12:18:00 +0100 Subject: Merge WebKit at r66666 : Initial merge by git. Change-Id: I57dedeb49859adc9c539e760f0e749768c66626f --- LayoutTests/dom/html/level2/html/button03.js | 6 +- LayoutTests/dom/xhtml/level2/html/button03.js | 6 +- .../collapseToX-empty-selection-expected.txt | 13 + .../dom/Selection/collapseToX-empty-selection.html | 13 + .../script-tests/collapseToX-empty-selection.js | 17 + LayoutTests/fast/js/resources/js-test-post.js | 10 +- LayoutTests/fast/js/resources/js-test-pre.js | 13 + LayoutTests/fast/url/resources/utilities.js | 16 +- .../http/tests/resources/network-simulator.php | 40 + LayoutTests/http/tests/resources/silence.mpg | Bin 33227 -> 0 bytes LayoutTests/http/tests/resources/test.mp4 | Bin 0 -> 192844 bytes LayoutTests/http/tests/resources/test.ogv | Bin 0 -> 103746 bytes LayoutTests/platform/android/Skipped | 2 + .../storage/indexeddb/database-basics-expected.txt | 18 +- .../storage/indexeddb/keyrange-expected.txt | 24 +- .../indexeddb/objectstore-cursor-expected.txt | 886 +++++++++++++++++++++ .../storage/indexeddb/objectstore-cursor.html | 209 +++++ .../storage/indexeddb/open-cursor-expected.txt | 1 - .../indexeddb/script-tests/database-basics.js | 21 +- .../storage/indexeddb/script-tests/keyrange.js | 8 +- .../storage/indexeddb/script-tests/open-cursor.js | 3 +- 21 files changed, 1273 insertions(+), 33 deletions(-) create mode 100644 LayoutTests/fast/dom/Selection/collapseToX-empty-selection-expected.txt create mode 100644 LayoutTests/fast/dom/Selection/collapseToX-empty-selection.html create mode 100644 LayoutTests/fast/dom/Selection/script-tests/collapseToX-empty-selection.js delete mode 100644 LayoutTests/http/tests/resources/silence.mpg create mode 100644 LayoutTests/http/tests/resources/test.mp4 create mode 100644 LayoutTests/http/tests/resources/test.ogv create mode 100644 LayoutTests/platform/android/Skipped create mode 100644 LayoutTests/storage/indexeddb/objectstore-cursor-expected.txt create mode 100644 LayoutTests/storage/indexeddb/objectstore-cursor.html (limited to 'LayoutTests') diff --git a/LayoutTests/dom/html/level2/html/button03.js b/LayoutTests/dom/html/level2/html/button03.js index 1a4ac91..5dc6952 100644 --- a/LayoutTests/dom/html/level2/html/button03.js +++ b/LayoutTests/dom/html/level2/html/button03.js @@ -103,7 +103,11 @@ testNode = nodeList.item(0); vfaction = formNode.action; - assertEquals("formLink","...",vfaction); +// WebKit modification: 26-August-2010 + var expectedAction = document.URL.replace(/[^/]*$/, "") + "..."; +// End WebKit modification + + assertEquals("formLink",expectedAction,vfaction); } diff --git a/LayoutTests/dom/xhtml/level2/html/button03.js b/LayoutTests/dom/xhtml/level2/html/button03.js index 1a4ac91..5dc6952 100644 --- a/LayoutTests/dom/xhtml/level2/html/button03.js +++ b/LayoutTests/dom/xhtml/level2/html/button03.js @@ -103,7 +103,11 @@ testNode = nodeList.item(0); vfaction = formNode.action; - assertEquals("formLink","...",vfaction); +// WebKit modification: 26-August-2010 + var expectedAction = document.URL.replace(/[^/]*$/, "") + "..."; +// End WebKit modification + + assertEquals("formLink",expectedAction,vfaction); } diff --git a/LayoutTests/fast/dom/Selection/collapseToX-empty-selection-expected.txt b/LayoutTests/fast/dom/Selection/collapseToX-empty-selection-expected.txt new file mode 100644 index 0000000..1a77f93 --- /dev/null +++ b/LayoutTests/fast/dom/Selection/collapseToX-empty-selection-expected.txt @@ -0,0 +1,13 @@ +Test that collapseToStart() and collapseToEnd() throw INVALID_STATE_ERR if no selection is made. + +On success, you will see a series of "PASS" messages, followed by "TEST COMPLETE". + + +PASS sel.collapseToStart() threw exception Error: INVALID_STATE_ERR: DOM Exception 11. +PASS sel.collapseToEnd() threw exception Error: INVALID_STATE_ERR: DOM Exception 11. +PASS sel.collapseToStart() is undefined +PASS sel.collapseToEnd() is undefined +PASS successfullyParsed is true + +TEST COMPLETE + diff --git a/LayoutTests/fast/dom/Selection/collapseToX-empty-selection.html b/LayoutTests/fast/dom/Selection/collapseToX-empty-selection.html new file mode 100644 index 0000000..5463fff --- /dev/null +++ b/LayoutTests/fast/dom/Selection/collapseToX-empty-selection.html @@ -0,0 +1,13 @@ + + + + + + + +

+
+ + + + diff --git a/LayoutTests/fast/dom/Selection/script-tests/collapseToX-empty-selection.js b/LayoutTests/fast/dom/Selection/script-tests/collapseToX-empty-selection.js new file mode 100644 index 0000000..c1fd73c --- /dev/null +++ b/LayoutTests/fast/dom/Selection/script-tests/collapseToX-empty-selection.js @@ -0,0 +1,17 @@ +description("Test that collapseToStart() and collapseToEnd() throw INVALID_STATE_ERR if no selection is made."); + +var sel = window.getSelection(); +var textNode = document.createTextNode("abcdef"); +document.body.appendChild(textNode); + +shouldThrow("sel.collapseToStart()", "'Error: INVALID_STATE_ERR: DOM Exception 11'"); +shouldThrow("sel.collapseToEnd()", "'Error: INVALID_STATE_ERR: DOM Exception 11'"); + +sel.selectAllChildren(textNode); + +shouldBe("sel.collapseToStart()", "undefined"); +shouldBe("sel.collapseToEnd()", "undefined"); + +document.body.removeChild(textNode); + +var successfullyParsed = true; diff --git a/LayoutTests/fast/js/resources/js-test-post.js b/LayoutTests/fast/js/resources/js-test-post.js index 88882c5..11a9e5f 100644 --- a/LayoutTests/fast/js/resources/js-test-post.js +++ b/LayoutTests/fast/js/resources/js-test-post.js @@ -1,13 +1,9 @@ -function finishJSTest() -{ - shouldBeTrue("successfullyParsed"); - debug('
TEST COMPLETE'); - if (window.jsTestIsAsync && window.layoutTestController) - layoutTestController.notifyDone(); -} +wasPostTestScriptParsed = true; if (window.jsTestIsAsync) { if (window.layoutTestController) layoutTestController.waitUntilDone(); + if (window.wasFinishJSTestCalled) + finishJSTest(); } else finishJSTest(); diff --git a/LayoutTests/fast/js/resources/js-test-pre.js b/LayoutTests/fast/js/resources/js-test-pre.js index aaab749..87db5d4 100644 --- a/LayoutTests/fast/js/resources/js-test-pre.js +++ b/LayoutTests/fast/js/resources/js-test-pre.js @@ -280,3 +280,16 @@ function gc() { gcRec(10) } } + +// It's possible for an async test to call finishJSTest() before js-test-post.js +// has been parsed. +function finishJSTest() +{ + wasFinishJSTestCalled = true; + if (!window.wasPostTestScriptParsed) + return; + shouldBeTrue("successfullyParsed"); + debug('
TEST COMPLETE'); + if (window.jsTestIsAsync && window.layoutTestController) + layoutTestController.notifyDone(); +} diff --git a/LayoutTests/fast/url/resources/utilities.js b/LayoutTests/fast/url/resources/utilities.js index 6392198..631bdec 100644 --- a/LayoutTests/fast/url/resources/utilities.js +++ b/LayoutTests/fast/url/resources/utilities.js @@ -12,10 +12,18 @@ function canonicalize(url) function setBaseURL(url) { - // According to the HTML5 spec, we're only supposed to honor elements - // in the , but we use document.write() here to make the test run in - // Firefox. - document.write(''); + // It would be more elegant to use the DOM here, but we chose document.write() + // so the tests ran correctly in Firefox at the time we originally wrote them. + + // Remove any existing base elements. + var existingBase = document.getElementsByTagName('base'); + while (existingBase.length) { + var element = existingBase[0]; + element.parentNode.removeChild(element); + } + + // Add a new base element. + document.write(''); } function segments(url) diff --git a/LayoutTests/http/tests/resources/network-simulator.php b/LayoutTests/http/tests/resources/network-simulator.php index 3f1201f..4860028 100644 --- a/LayoutTests/http/tests/resources/network-simulator.php +++ b/LayoutTests/http/tests/resources/network-simulator.php @@ -120,6 +120,38 @@ function handleGetResourceCountCommand($path) } } +function handleStartResourceRequestsLog() +{ + $resourceLogFile = sys_get_temp_dir() . "/resource-log"; + file_put_contents($resourceLogFile, ""); +} + +function handleClearResourceRequestsLog() +{ + $resourceLogFile = sys_get_temp_dir() . "/resource-log"; + file_put_contents($resourceLogFile, ""); +} + +function handleGetResourceRequestsLog() +{ + $resourceLogFile = sys_get_temp_dir() . "/resource-log"; + + generateNoCacheHTTPHeader(); + header("Content-Type: text/plain"); + + print file_get_contents($resourceLogFile); +} + +function handleLogResourceRequest($path) +{ + $resourceLogFile = sys_get_temp_dir() . "/resource-log"; + + $newData = "\n".$path; + // Documentation says that appends are atomic. + file_put_contents($resourceLogFile, $newData, FILE_APPEND); + generateResponse($path); +} + $stateFile = sys_get_temp_dir() . "/network-simulator-state"; $command = $_GET['command']; if ($command) { @@ -133,6 +165,14 @@ if ($command) { handleResetResourceCountCommand(); else if ($command == "get-resource-count") handleGetResourceCountCommand($_GET['path']); + else if ($command == "start-resource-request-log") + handleStartResourceRequestsLog(); + else if ($command == "clear-resource-request-log") + handleClearResourceRequestsLog(); + else if ($command == "get-resource-request-log") + handleGetResourceRequestsLog(); + else if ($command == "log-resource-request") + handleLogResourceRequest($_GET['path']); else echo "Unknown command: " . $command . "\n"; exit(); diff --git a/LayoutTests/http/tests/resources/silence.mpg b/LayoutTests/http/tests/resources/silence.mpg deleted file mode 100644 index b6bbf20..0000000 Binary files a/LayoutTests/http/tests/resources/silence.mpg and /dev/null differ diff --git a/LayoutTests/http/tests/resources/test.mp4 b/LayoutTests/http/tests/resources/test.mp4 new file mode 100644 index 0000000..d278c8a Binary files /dev/null and b/LayoutTests/http/tests/resources/test.mp4 differ diff --git a/LayoutTests/http/tests/resources/test.ogv b/LayoutTests/http/tests/resources/test.ogv new file mode 100644 index 0000000..c9ee910 Binary files /dev/null and b/LayoutTests/http/tests/resources/test.ogv differ diff --git a/LayoutTests/platform/android/Skipped b/LayoutTests/platform/android/Skipped new file mode 100644 index 0000000..f4ab335 --- /dev/null +++ b/LayoutTests/platform/android/Skipped @@ -0,0 +1,2 @@ +# Full Screen support is not yet enabled. +fullscreen/ diff --git a/LayoutTests/storage/indexeddb/database-basics-expected.txt b/LayoutTests/storage/indexeddb/database-basics-expected.txt index 75c276d..1321f4d 100644 --- a/LayoutTests/storage/indexeddb/database-basics-expected.txt +++ b/LayoutTests/storage/indexeddb/database-basics-expected.txt @@ -24,10 +24,26 @@ PASS event.target.readyState is event.target.DONE db = event.result PASS db.name is "name" -PASS db.version is "" PASS db.objectStores is [] PASS db.objectStores.length is 0 PASS db.objectStores.contains('') is false + +Testing setVersion. +db.setVersion("version a") +PASS 'onsuccess' in result is true +PASS 'onerror' in result is true +PASS 'abort' in result is true +PASS 'readyState' in result is true +An event should fire shortly... + +db.setVersion("version b") +PASS 'onsuccess' in result is true +PASS 'onerror' in result is true +PASS 'abort' in result is true +PASS 'readyState' in result is true +An event should fire shortly... + +PASS db.version is "version b" PASS successfullyParsed is true TEST COMPLETE diff --git a/LayoutTests/storage/indexeddb/keyrange-expected.txt b/LayoutTests/storage/indexeddb/keyrange-expected.txt index fc61b2f..a510a80 100644 --- a/LayoutTests/storage/indexeddb/keyrange-expected.txt +++ b/LayoutTests/storage/indexeddb/keyrange-expected.txt @@ -14,7 +14,7 @@ PASS keyRange.flags is keyRange.SINGLE IDBKeyRange.leftBound(10,true) PASS keyRange.left is 10 PASS keyRange.right is null -PASS keyRange.flags is keyRange.LEFT_OPEN +PASS keyRange.flags is keyRange.LEFT_OPEN | keyRange.LEFT_BOUND IDBKeyRange.leftBound(11,false) PASS keyRange.left is 11 PASS keyRange.right is null @@ -26,7 +26,7 @@ PASS keyRange.flags is keyRange.LEFT_BOUND IDBKeyRange.leftBound('aa',true) PASS keyRange.left is 'aa' PASS keyRange.right is null -PASS keyRange.flags is keyRange.LEFT_OPEN +PASS keyRange.flags is keyRange.LEFT_OPEN | keyRange.LEFT_BOUND IDBKeyRange.leftBound('ab',false) PASS keyRange.left is 'ab' PASS keyRange.right is null @@ -38,7 +38,7 @@ PASS keyRange.flags is keyRange.LEFT_BOUND IDBKeyRange.rightBound(20,true) PASS keyRange.right is 20 PASS keyRange.left is null -PASS keyRange.flags is keyRange.RIGHT_OPEN +PASS keyRange.flags is keyRange.RIGHT_OPEN | keyRange.RIGHT_BOUND IDBKeyRange.rightBound(21,false) PASS keyRange.right is 21 PASS keyRange.left is null @@ -50,7 +50,7 @@ PASS keyRange.flags is keyRange.RIGHT_BOUND IDBKeyRange.rightBound('ba',true) PASS keyRange.right is 'ba' PASS keyRange.left is null -PASS keyRange.flags is keyRange.RIGHT_OPEN +PASS keyRange.flags is keyRange.RIGHT_OPEN | keyRange.RIGHT_BOUND IDBKeyRange.rightBound('bb',false) PASS keyRange.right is 'bb' PASS keyRange.left is null @@ -73,17 +73,17 @@ IDBKeyRange.bound(32,42,false,true) PASS keyRange.left is 32 PASS keyRange.right is 42 PASS leftFlags is keyRange.LEFT_BOUND -PASS rightFlags is keyRange.RIGHT_OPEN +PASS rightFlags is keyRange.RIGHT_OPEN | keyRange.RIGHT_BOUND IDBKeyRange.bound(33,43,true,false) PASS keyRange.left is 33 PASS keyRange.right is 43 -PASS leftFlags is keyRange.LEFT_OPEN +PASS leftFlags is keyRange.LEFT_OPEN | keyRange.LEFT_BOUND PASS rightFlags is keyRange.RIGHT_BOUND IDBKeyRange.bound(34,44,true,true) PASS keyRange.left is 34 PASS keyRange.right is 44 -PASS leftFlags is keyRange.LEFT_OPEN -PASS rightFlags is keyRange.RIGHT_OPEN +PASS leftFlags is keyRange.LEFT_OPEN | keyRange.LEFT_BOUND +PASS rightFlags is keyRange.RIGHT_OPEN | keyRange.RIGHT_BOUND IDBKeyRange.bound('aaa','aba',false,false) PASS keyRange.left is 'aaa' PASS keyRange.right is 'aba' @@ -103,17 +103,17 @@ IDBKeyRange.bound('aad','abd',false,true) PASS keyRange.left is 'aad' PASS keyRange.right is 'abd' PASS leftFlags is keyRange.LEFT_BOUND -PASS rightFlags is keyRange.RIGHT_OPEN +PASS rightFlags is keyRange.RIGHT_OPEN | keyRange.RIGHT_BOUND IDBKeyRange.bound('aae','abe',true,false) PASS keyRange.left is 'aae' PASS keyRange.right is 'abe' -PASS leftFlags is keyRange.LEFT_OPEN +PASS leftFlags is keyRange.LEFT_OPEN | keyRange.LEFT_BOUND PASS rightFlags is keyRange.RIGHT_BOUND IDBKeyRange.bound('aaf','abf',true,true) PASS keyRange.left is 'aaf' PASS keyRange.right is 'abf' -PASS leftFlags is keyRange.LEFT_OPEN -PASS rightFlags is keyRange.RIGHT_OPEN +PASS leftFlags is keyRange.LEFT_OPEN | keyRange.LEFT_BOUND +PASS rightFlags is keyRange.RIGHT_OPEN | keyRange.RIGHT_BOUND PASS successfullyParsed is true TEST COMPLETE diff --git a/LayoutTests/storage/indexeddb/objectstore-cursor-expected.txt b/LayoutTests/storage/indexeddb/objectstore-cursor-expected.txt new file mode 100644 index 0000000..ce5514a --- /dev/null +++ b/LayoutTests/storage/indexeddb/objectstore-cursor-expected.txt @@ -0,0 +1,886 @@ +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". + + +indexedDB.open('someDB', 'some description') +PASS 'onsuccess' in result is true +PASS 'onerror' in result is true +PASS 'abort' 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 'abort' in event.target is true +PASS 'readyState' in event.target is true +PASS event.target.readyState is event.target.DONE + +db = event.result +db.createObjectStore('someObjectStore') +PASS 'onsuccess' in result is true +PASS 'onerror' in result is true +PASS 'abort' 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 'abort' in event.target is true +PASS 'readyState' in event.target is true +PASS event.target.readyState is event.target.DONE + +objectStore = event.result +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 'abort' 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 'abort' 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 'abort' 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 'abort' 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 'abort' 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 'abort' 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 'abort' 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 'abort' 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 'abort' 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 'abort' 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 'abort' 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 'abort' 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 'abort' 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 'abort' 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 + +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 + +Next test: upper open bound is 0; sorted ascending. +PASS event.result is null + +Next test: upper bound is 0; sorted ascending. +PASS event.result.key is testData[0] +PASS event.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 + +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 + +Next test: upper open bound is 0; sorted descending. +PASS event.result is null + +Next test: upper bound is 0; sorted descending. +PASS event.result.key is testData[0] +PASS event.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 + +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 + +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 + +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 + +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 + +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 + +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 + +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 + +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 + +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 + +Next test: upper open bound is 1; sorted ascending. +PASS event.result.key is testData[0] +PASS event.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 + +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 + +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 + +Next test: upper open bound is 1; sorted descending. +PASS event.result.key is testData[0] +PASS event.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 + +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 + +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 + +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 + +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 + +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 + +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 + +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 + +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 + +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 + +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 + +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 + +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 + +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 + +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 + +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 + +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 + +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 + +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 + +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 + +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 + +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 + +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 + +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 + +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 + +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 + +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 + +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 + +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 + +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 + +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 + +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 + +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 + +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 + +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 + +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 + +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 + +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 + +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 + +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 + +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 + +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 + +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 + +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 + +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 + +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 + +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 + +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 + +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 + +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 + +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 + +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 + +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 + +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 + +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 + +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 + +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 + +Next test: lower open bound is 5; sorted ascending. +PASS event.result.key is testData[6] +PASS event.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 + +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 + +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 + +Next test: lower open bound is 5; sorted descending. +PASS event.result.key is testData[6] +PASS event.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 + +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 + +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 + +Next test: lower open bound is 5; upper open bound is 6; sorted ascending. +PASS event.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 + +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 + +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 + +Next test: lower open bound is 5; upper open bound is 6; sorted descending. +PASS event.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 + +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 + +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 + +Next test: lower open bound is 6; sorted ascending. +PASS event.result is null + +Next test: lower bound is 6; sorted ascending. +PASS event.result.key is testData[6] +PASS event.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 + +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 + +Next test: lower open bound is 6; sorted descending. +PASS event.result is null + +Next test: lower bound is 6; sorted descending. +PASS event.result.key is testData[6] +PASS event.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 + +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 + +Next test: lower open bound is 6; upper open bound is 6; sorted ascending. +PASS event.result is null + +Next test: lower open bound is 6; upper bound is 6; sorted ascending. +PASS event.result is null + +Next test: lower bound is 6; upper open bound is 6; sorted ascending. +PASS event.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 + +Next test: lower open bound is 6; upper open bound is 6; sorted descending. +PASS event.result is null + +Next test: lower open bound is 6; upper bound is 6; sorted descending. +PASS event.result is null + +Next test: lower bound is 6; upper open bound is 6; sorted descending. +PASS event.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 successfullyParsed is true + +TEST COMPLETE + diff --git a/LayoutTests/storage/indexeddb/objectstore-cursor.html b/LayoutTests/storage/indexeddb/objectstore-cursor.html new file mode 100644 index 0000000..bc69b43 --- /dev/null +++ b/LayoutTests/storage/indexeddb/objectstore-cursor.html @@ -0,0 +1,209 @@ + + + + + + + + +

+
+ + + diff --git a/LayoutTests/storage/indexeddb/open-cursor-expected.txt b/LayoutTests/storage/indexeddb/open-cursor-expected.txt index ac58785..e4ddc69 100644 --- a/LayoutTests/storage/indexeddb/open-cursor-expected.txt +++ b/LayoutTests/storage/indexeddb/open-cursor-expected.txt @@ -96,7 +96,6 @@ PASS 'abort' 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 successfullyParsed is true TEST COMPLETE diff --git a/LayoutTests/storage/indexeddb/script-tests/database-basics.js b/LayoutTests/storage/indexeddb/script-tests/database-basics.js index a07c684..04ebbd3 100644 --- a/LayoutTests/storage/indexeddb/script-tests/database-basics.js +++ b/LayoutTests/storage/indexeddb/script-tests/database-basics.js @@ -8,7 +8,6 @@ function openSuccess() var db = evalAndLog("db = event.result"); shouldBeEqualToString("db.name", "name"); - shouldBeEqualToString("db.version", ""); shouldBe("db.objectStores", "[]"); shouldBe("db.objectStores.length", "0"); shouldBe("db.objectStores.contains('')", "false"); @@ -16,6 +15,26 @@ function openSuccess() // FIXME: Test the other properties of IDBDatabase as they're written. + debug(""); + debug("Testing setVersion."); + result = evalAndLog('db.setVersion("version a")'); + verifyResult(result); + result.onsuccess = setVersionAgain; + result.onError = unexpectedErrorCallback; +} + +function setVersionAgain() +{ + result = evalAndLog('db.setVersion("version b")'); + verifyResult(result); + result.onsuccess = checkVersion; + result.onError = unexpectedErrorCallback; +} + +function checkVersion() +{ + shouldBeEqualToString("db.version", "version b"); + done(); } diff --git a/LayoutTests/storage/indexeddb/script-tests/keyrange.js b/LayoutTests/storage/indexeddb/script-tests/keyrange.js index 26d283f..907d817 100644 --- a/LayoutTests/storage/indexeddb/script-tests/keyrange.js +++ b/LayoutTests/storage/indexeddb/script-tests/keyrange.js @@ -15,7 +15,7 @@ function checkLeftBoundKeyRange(value, open) keyRange = evalAndLog("IDBKeyRange.leftBound(" + value + "," + open + ")"); shouldBe("keyRange.left", "" + value); shouldBeNull("keyRange.right"); - shouldBe("keyRange.flags", open ? "keyRange.LEFT_OPEN" : "keyRange.LEFT_BOUND"); + shouldBe("keyRange.flags", open ? "keyRange.LEFT_OPEN | keyRange.LEFT_BOUND" : "keyRange.LEFT_BOUND"); } function checkRightBoundKeyRange(value, open) @@ -23,7 +23,7 @@ function checkRightBoundKeyRange(value, open) keyRange = evalAndLog("IDBKeyRange.rightBound(" + value + "," + open + ")"); shouldBe("keyRange.right", "" + value); shouldBeNull("keyRange.left"); - shouldBe("keyRange.flags", open ? "keyRange.RIGHT_OPEN" : "keyRange.RIGHT_BOUND"); + shouldBe("keyRange.flags", open ? "keyRange.RIGHT_OPEN | keyRange.RIGHT_BOUND" : "keyRange.RIGHT_BOUND"); } function checkBoundKeyRange(left, right, openLeft, openRight) @@ -32,9 +32,9 @@ function checkBoundKeyRange(left, right, openLeft, openRight) shouldBe("keyRange.left", "" + left); shouldBe("keyRange.right", "" + right); leftFlags = keyRange.flags & (keyRange.LEFT_OPEN | keyRange.LEFT_BOUND); - shouldBe("leftFlags", openLeft ? "keyRange.LEFT_OPEN" : "keyRange.LEFT_BOUND"); + shouldBe("leftFlags", openLeft ? "keyRange.LEFT_OPEN | keyRange.LEFT_BOUND" : "keyRange.LEFT_BOUND"); rightFlags = keyRange.flags & (keyRange.RIGHT_OPEN | keyRange.RIGHT_BOUND); - shouldBe("rightFlags", openRight ? "keyRange.RIGHT_OPEN" : "keyRange.RIGHT_BOUND"); + shouldBe("rightFlags", openRight ? "keyRange.RIGHT_OPEN | keyRange.RIGHT_BOUND" : "keyRange.RIGHT_BOUND"); } function test() diff --git a/LayoutTests/storage/indexeddb/script-tests/open-cursor.js b/LayoutTests/storage/indexeddb/script-tests/open-cursor.js index ff0b711..53ea96b 100644 --- a/LayoutTests/storage/indexeddb/script-tests/open-cursor.js +++ b/LayoutTests/storage/indexeddb/script-tests/open-cursor.js @@ -7,7 +7,6 @@ function emptyCursorSuccess() debug("Empty cursor opened successfully.") verifySuccessEvent(event); // FIXME: check that we can iterate the cursor. - shouldBe("event.result", "null"); done(); } @@ -18,6 +17,7 @@ function openEmptyCursor() result = evalAndLog("objectStore.openCursor(keyRange)"); verifyResult(result); result.onsuccess = emptyCursorSuccess; + result.onerror = unexpectedErrorCallback; } function cursorSuccess() @@ -39,6 +39,7 @@ function openCursor() result = evalAndLog("objectStore.openCursor(keyRange)"); verifyResult(result); result.onsuccess = cursorSuccess; + result.onerror = unexpectedErrorCallback; } function populateObjectStore(objectStore) -- cgit v1.1