From 68513a70bcd92384395513322f1b801e7bf9c729 Mon Sep 17 00:00:00 2001 From: Steve Block Date: Wed, 29 Sep 2010 17:32:26 +0100 Subject: Merge WebKit at r67908: Initial merge by Git Change-Id: I43a553e7b3299b28cb6ee8aa035ed70fe342b972 --- .../storage/indexeddb/index-basics-expected.txt | 331 +++ LayoutTests/storage/indexeddb/index-basics.html | 217 ++ .../storage/indexeddb/index-cursor-expected.txt | 2111 ++++++++++++++++++++ LayoutTests/storage/indexeddb/index-cursor.html | 238 +++ .../indexeddb/objectstore-basics-expected.txt | 23 +- .../storage/indexeddb/objectstore-basics.html | 15 +- 6 files changed, 2933 insertions(+), 2 deletions(-) create mode 100644 LayoutTests/storage/indexeddb/index-basics-expected.txt create mode 100644 LayoutTests/storage/indexeddb/index-basics.html create mode 100644 LayoutTests/storage/indexeddb/index-cursor-expected.txt create mode 100644 LayoutTests/storage/indexeddb/index-cursor.html (limited to 'LayoutTests/storage') diff --git a/LayoutTests/storage/indexeddb/index-basics-expected.txt b/LayoutTests/storage/indexeddb/index-basics-expected.txt new file mode 100644 index 0000000..a99bc86 --- /dev/null +++ b/LayoutTests/storage/indexeddb/index-basics-expected.txt @@ -0,0 +1,331 @@ +Test the basics of IndexedDB's IDBIndex. + +On success, you will see a series of "PASS" messages, followed by "TEST COMPLETE". + + +indexedDB.open('name', '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('storeName', null) +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 + +store = event.result +event.result.createIndex('indexName', 'x') +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 + +PASS event.result === null is false +indexObject = event.result +PASS 'name' in indexObject is true +PASS indexObject.name is "indexName" +PASS 'storeName' in indexObject is true +PASS indexObject.storeName is "storeName" +PASS 'keyPath' in indexObject is true +PASS indexObject.keyPath is "x" +PASS 'unique' in indexObject is true +PASS indexObject.unique is false +PASS 'openObjectCursor' in indexObject is true +PASS 'openCursor' in indexObject is true +PASS 'getObject' in indexObject is true +PASS 'get' in indexObject is true +event.source.add({x: 'value', y: 'zzz'}, 'key') +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 + +event.source.add({x: 'value2', y: 'zzz2'}, 'key2') +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 + +indexObject.get('value') +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 + +PASS event.result is "key" +indexObject.getObject('value') +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 + +PASS event.result.x is "value" +PASS event.result.y is "zzz" +indexObject.get('does not exist') +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... + +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 'abort' in event.target is true +PASS 'readyState' in event.target is true +PASS event.target.readyState is event.target.DONE + +PASS event.code is IDBDatabaseException.NOT_FOUND_ERR +indexObject.getObject('does not exist') +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... + +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 'abort' in event.target is true +PASS 'readyState' in event.target is true +PASS event.target.readyState is event.target.DONE + +PASS event.code is IDBDatabaseException.NOT_FOUND_ERR +indexObject.openCursor() +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 + +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 '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 + +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 '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 + +PASS event.result === null is true +indexObject.openObjectCursor() +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 + +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 '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 + +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 '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 + +PASS event.result === null is true +PASS successfullyParsed is true + +TEST COMPLETE + diff --git a/LayoutTests/storage/indexeddb/index-basics.html b/LayoutTests/storage/indexeddb/index-basics.html new file mode 100644 index 0000000..c23f141 --- /dev/null +++ b/LayoutTests/storage/indexeddb/index-basics.html @@ -0,0 +1,217 @@ + + + + + + + + +

+
+ + + diff --git a/LayoutTests/storage/indexeddb/index-cursor-expected.txt b/LayoutTests/storage/indexeddb/index-cursor-expected.txt new file mode 100644 index 0000000..1442ad4 --- /dev/null +++ b/LayoutTests/storage/indexeddb/index-cursor-expected.txt @@ -0,0 +1,2111 @@ +Test IndexedDB's IDBIndex.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 +objectStore.createIndex('someIndex', 'x') +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 + +indexObject = 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({'x': testData[nextToAdd]}, 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({'x': testData[nextToAdd]}, 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({'x': testData[nextToAdd]}, 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({'x': testData[nextToAdd]}, 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({'x': testData[nextToAdd]}, 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({'x': testData[nextToAdd]}, 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({'x': testData[nextToAdd]}, 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({'x': testData[nextToAdd]}, 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.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 + +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 + +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.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 + +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 + +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 + +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.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 + +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 + +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 + +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 + +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 + +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 + +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 + +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 + +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 + +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 + +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 + +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 + +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 + +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 + +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 + +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 + +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 + +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 + +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 + +Next test: upper open bound is 1; sorted ascending. +PASS event.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 + +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 + +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 + +Next test: upper open bound is 1; sorted descending. +PASS event.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 + +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 + +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 + +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 + +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 + +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 + +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 + +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 + +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 + +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 + +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 + +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 + +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 + +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 + +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 + +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 + +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 + +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 + +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 + +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 + +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 + +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 + +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 + +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 + +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 + +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 + +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 + +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 + +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 + +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 + +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 + +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 + +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 + +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 + +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 + +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 + +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 + +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 + +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 + +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 + +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 + +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 + +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 + +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 + +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 + +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 + +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 + +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 + +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 + +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 + +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 + +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 + +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 + +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 + +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 + +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 + +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 + +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 + +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 + +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 + +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 + +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 + +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 + +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 + +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 + +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 + +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 + +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 + +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 + +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 + +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 + +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 + +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 + +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 + +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 + +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 + +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 + +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 + +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 + +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 + +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 + +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 + +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 + +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 + +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 + +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 + +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 + +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 + +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 + +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 + +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 + +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 + +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 + +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 + +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 + +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 + +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 + +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.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 + +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 + +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 + +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.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 + +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 + +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 + +Next test: lower open bound is 5; upper open bound is 7; sorted ascending. +PASS event.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 + +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 + +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 + +Next test: lower open bound is 5; upper open bound is 7; sorted descending. +PASS event.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 + +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 + +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 + +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.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 + +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 + +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 + +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.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 + +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 + +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 + +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.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 + +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.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 + +Next test: lower open bound is 6; upper open bound is 7; sorted ascending. +PASS event.result is null + +Next test: lower open bound is 6; upper bound is 7; sorted ascending. +PASS event.result is null + +Next test: lower bound is 6; upper open bound is 7; sorted ascending. +PASS event.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 + +Next test: lower open bound is 6; upper open bound is 7; sorted descending. +PASS event.result is null + +Next test: lower open bound is 6; upper bound is 7; sorted descending. +PASS event.result is null + +Next test: lower bound is 6; upper open bound is 7; sorted descending. +PASS event.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 + +Next test: lower open bound is 7; sorted ascending. +PASS event.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 + +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 + +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 + +Next test: lower open bound is 7; sorted descending. +PASS event.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 + +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 + +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 + +Next test: lower open bound is 7; upper open bound is 6; sorted ascending. +PASS event.result is null + +Next test: lower open bound is 7; upper bound is 6; sorted ascending. +PASS event.result is null + +Next test: lower bound is 7; upper open bound is 6; sorted ascending. +PASS event.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 + +Next test: lower open bound is 7; upper open bound is 6; sorted descending. +PASS event.result is null + +Next test: lower open bound is 7; upper bound is 6; sorted descending. +PASS event.result is null + +Next test: lower bound is 7; upper open bound is 6; sorted descending. +PASS event.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 + +Next test: lower open bound is 7; upper open bound is 7; sorted ascending. +PASS event.result is null + +Next test: lower open bound is 7; upper bound is 7; sorted ascending. +PASS event.result is null + +Next test: lower bound is 7; upper open bound is 7; sorted ascending. +PASS event.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 + +Next test: lower open bound is 7; upper open bound is 7; sorted descending. +PASS event.result is null + +Next test: lower open bound is 7; upper bound is 7; sorted descending. +PASS event.result is null + +Next test: lower bound is 7; upper open bound is 7; sorted descending. +PASS event.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 successfullyParsed is true + +TEST COMPLETE + diff --git a/LayoutTests/storage/indexeddb/index-cursor.html b/LayoutTests/storage/indexeddb/index-cursor.html new file mode 100644 index 0000000..9541d60 --- /dev/null +++ b/LayoutTests/storage/indexeddb/index-cursor.html @@ -0,0 +1,238 @@ + + + + + + + + +

+
+ + + diff --git a/LayoutTests/storage/indexeddb/objectstore-basics-expected.txt b/LayoutTests/storage/indexeddb/objectstore-basics-expected.txt index a60e857..890c00f 100644 --- a/LayoutTests/storage/indexeddb/objectstore-basics-expected.txt +++ b/LayoutTests/storage/indexeddb/objectstore-basics-expected.txt @@ -50,7 +50,7 @@ PASS store.name is "storeName" PASS store.keyPath is null PASS storeNames.contains('storeName') is true PASS storeNames.length is 1 -event.result.createIndex('indexName', 'x') +event.result.createIndex('indexName', 'x', true) PASS 'onsuccess' in result is true PASS 'onerror' in result is true PASS 'abort' in result is true @@ -92,6 +92,27 @@ PASS 'readyState' in event.target is true PASS event.target.readyState is event.target.DONE PASS event.result is "key" +event.source.add({x: 'value'}, 'zzz') +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... + +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 'abort' in event.target is true +PASS 'readyState' in event.target is true +PASS event.target.readyState is event.target.DONE + +PASS event.code is IDBDatabaseException.UNKNOWN_ERR store = event.source store.get('key') PASS 'onsuccess' in result is true diff --git a/LayoutTests/storage/indexeddb/objectstore-basics.html b/LayoutTests/storage/indexeddb/objectstore-basics.html index 8b696c4..731d421 100644 --- a/LayoutTests/storage/indexeddb/objectstore-basics.html +++ b/LayoutTests/storage/indexeddb/objectstore-basics.html @@ -49,7 +49,7 @@ function createSuccess() shouldBe("storeNames.length", "1"); // FIXME: test all of object store's methods. - result = evalAndLog("event.result.createIndex('indexName', 'x')"); + result = evalAndLog("event.result.createIndex('indexName', 'x', true)"); // true == unique requirement. verifyResult(result); result.onsuccess = addIndexSuccess; result.onerror = unexpectedErrorCallback; @@ -72,6 +72,19 @@ function addSuccess() debug("addSuccess():"); verifySuccessEvent(event); shouldBeEqualToString("event.result", "key"); + + result = evalAndLog("event.source.add({x: 'value'}, 'zzz')"); + verifyResult(result); + result.onsuccess = unexpectedSuccessCallback; + result.onerror = addAgainFailure; +} + +function addAgainFailure() +{ + debug("addAgainFailure():"); + verifyErrorEvent(event); + // FIXME: This error code needs to be specced. + shouldBe("event.code", "IDBDatabaseException.UNKNOWN_ERR"); var store = evalAndLog("store = event.source"); result = evalAndLog("store.get('key')"); -- cgit v1.1