Changeset 80171 in webkit
- Timestamp:
- Mar 2, 2011 2:46:35 PM (13 years ago)
- Location:
- trunk
- Files:
-
- 37 edited
- 3 copied
Legend:
- Unmodified
- Added
- Removed
-
trunk/LayoutTests/ChangeLog
r80170 r80171 1 2011-02-28 Jeremy Orlow <jorlow@chromium.org> 2 3 Reviewed by James Robinson. 4 5 Split IDBCursor.value into IDBCursor.primaryKey and IDBCursor.value 6 https://bugs.webkit.org/show_bug.cgi?id=55443 7 8 * storage/indexeddb/cursor-delete-expected.txt: 9 * storage/indexeddb/cursor-index-delete-expected.txt: 10 * storage/indexeddb/cursor-update-expected.txt: 11 * storage/indexeddb/cursor-update.html: 12 * storage/indexeddb/duplicates-expected.txt: 13 * storage/indexeddb/duplicates.html: 14 * storage/indexeddb/index-basics-expected.txt: 15 * storage/indexeddb/index-basics.html: 16 * storage/indexeddb/index-cursor-expected.txt: 17 * storage/indexeddb/index-cursor.html: 18 1 19 2011-03-02 Martin Robinson <mrobinson@igalia.com> 2 20 -
trunk/LayoutTests/storage/indexeddb/cursor-delete-expected.txt
r79458 r80171 39 39 openCursor2 40 40 objectStore.openCursor(keyRange) 41 PASS [object IDBCursor ] is non-null.41 PASS [object IDBCursorWithValue] is non-null. 42 42 event.target.result.delete() 43 43 objectStore.get('myKey1') -
trunk/LayoutTests/storage/indexeddb/cursor-index-delete-expected.txt
r79458 r80171 41 41 index = event.target.source.index('testIndex') 42 42 index.openCursor(keyRange) 43 PASS [object IDBCursor ] is non-null.43 PASS [object IDBCursorWithValue] is non-null. 44 44 event.target.result.delete() 45 45 index.get(1) -
trunk/LayoutTests/storage/indexeddb/cursor-update-expected.txt
r79458 r80171 150 150 keyCursor() 151 151 PASS event.target.result.key is counter + 100 152 PASS event.target.result. valueis counter152 PASS event.target.result.primaryKey is counter 153 153 event.target.result.update({id: counter, number: counter + 200}) 154 154 PASS code is webkitIDBDatabaseException.NOT_ALLOWED_ERR 155 155 keyCursor() 156 156 PASS event.target.result.key is counter + 100 157 PASS event.target.result. valueis counter157 PASS event.target.result.primaryKey is counter 158 158 event.target.result.update({id: counter, number: counter + 200}) 159 159 PASS code is webkitIDBDatabaseException.NOT_ALLOWED_ERR 160 160 keyCursor() 161 161 PASS event.target.result.key is counter + 100 162 PASS event.target.result. valueis counter162 PASS event.target.result.primaryKey is counter 163 163 event.target.result.update({id: counter, number: counter + 200}) 164 164 PASS code is webkitIDBDatabaseException.NOT_ALLOWED_ERR 165 165 keyCursor() 166 166 PASS event.target.result.key is counter + 100 167 PASS event.target.result. valueis counter167 PASS event.target.result.primaryKey is counter 168 168 event.target.result.update({id: counter, number: counter + 200}) 169 169 PASS code is webkitIDBDatabaseException.NOT_ALLOWED_ERR -
trunk/LayoutTests/storage/indexeddb/cursor-update.html
r79458 r80171 207 207 208 208 shouldBe("event.target.result.key", "counter + 100"); 209 shouldBe("event.target.result. value", "counter");209 shouldBe("event.target.result.primaryKey", "counter"); 210 210 211 211 try { -
trunk/LayoutTests/storage/indexeddb/duplicates-expected.txt
r79458 r80171 29 29 PASS event.target.result === null is false 30 30 PASS event.target.result.key is "value" 31 PASS event.target.result. valueis "key"31 PASS event.target.result.primaryKey is "key" 32 32 event.target.result.continue() 33 33 PASS event.target.result === null is false 34 34 PASS event.target.result.key is "value2" 35 PASS event.target.result. valueis "key2"35 PASS event.target.result.primaryKey is "key2" 36 36 event.target.result.continue() 37 37 PASS event.target.result === null is true … … 73 73 PASS event.target.result === null is false 74 74 PASS event.target.result.key is "value" 75 PASS event.target.result. valueis "key"75 PASS event.target.result.primaryKey is "key" 76 76 event.target.result.continue() 77 77 PASS event.target.result === null is false 78 78 PASS event.target.result.key is "value2" 79 PASS event.target.result. valueis "key2"79 PASS event.target.result.primaryKey is "key2" 80 80 event.target.result.continue() 81 81 PASS event.target.result === null is true -
trunk/LayoutTests/storage/indexeddb/duplicates.html
r79458 r80171 115 115 shouldBeFalse("event.target.result === null"); 116 116 shouldBeEqualToString("event.target.result.key", "value"); 117 shouldBeEqualToString("event.target.result. value", "key");117 shouldBeEqualToString("event.target.result.primaryKey", "key"); 118 118 119 119 // We re-use the last request object. … … 126 126 shouldBeFalse("event.target.result === null"); 127 127 shouldBeEqualToString("event.target.result.key", "value2"); 128 shouldBeEqualToString("event.target.result. value", "key2");128 shouldBeEqualToString("event.target.result.primaryKey", "key2"); 129 129 130 130 // We re-use the last request object. -
trunk/LayoutTests/storage/indexeddb/index-basics-expected.txt
r79458 r80171 50 50 PASS event.target.result === null is false 51 51 PASS event.target.result.key is "value" 52 PASS event.target.result. valueis "key"52 PASS event.target.result.primaryKey is "key" 53 53 event.target.result.continue() 54 54 PASS event.target.result === null is false 55 55 PASS event.target.result.key is "value2" 56 PASS event.target.result. valueis "key2"56 PASS event.target.result.primaryKey is "key2" 57 57 event.target.result.continue() 58 58 PASS event.target.result === null is true -
trunk/LayoutTests/storage/indexeddb/index-basics.html
r79458 r80171 153 153 shouldBeFalse("event.target.result === null"); 154 154 shouldBeEqualToString("event.target.result.key", "value"); 155 shouldBeEqualToString("event.target.result. value", "key");155 shouldBeEqualToString("event.target.result.primaryKey", "key"); 156 156 157 157 // We re-use the last request object. … … 164 164 shouldBeFalse("event.target.result === null"); 165 165 shouldBeEqualToString("event.target.result.key", "value2"); 166 shouldBeEqualToString("event.target.result. value", "key2");166 shouldBeEqualToString("event.target.result.primaryKey", "key2"); 167 167 168 168 // We re-use the last request object. -
trunk/LayoutTests/storage/indexeddb/index-cursor-expected.txt
r79458 r80171 24 24 25 25 Next test: lower open bound is 0; sorted ascending. 26 PASS event.target.result. valueis expectedIndex27 PASS event.target.result.key is testData[2] 28 PASS event.target.result. valueis expectedIndex29 PASS event.target.result.key is testData[3] 30 PASS event.target.result. valueis expectedIndex31 PASS event.target.result.key is testData[4] 32 PASS event.target.result. valueis expectedIndex33 PASS event.target.result.key is testData[5] 34 PASS event.target.result. valueis expectedIndex35 PASS event.target.result.key is testData[6] 36 PASS event.target.result. valueis expectedIndex26 PASS event.target.result.primaryKey is expectedIndex 27 PASS event.target.result.key is testData[2] 28 PASS event.target.result.primaryKey is expectedIndex 29 PASS event.target.result.key is testData[3] 30 PASS event.target.result.primaryKey is expectedIndex 31 PASS event.target.result.key is testData[4] 32 PASS event.target.result.primaryKey is expectedIndex 33 PASS event.target.result.key is testData[5] 34 PASS event.target.result.primaryKey is expectedIndex 35 PASS event.target.result.key is testData[6] 36 PASS event.target.result.primaryKey is expectedIndex 37 37 PASS event.target.result.key is testData[7] 38 38 PASS event.target.result is null 39 39 40 40 Next test: lower bound is 0; sorted ascending. 41 PASS event.target.result. valueis expectedIndex42 PASS event.target.result.key is testData[0] 43 PASS event.target.result. valueis expectedIndex44 PASS event.target.result.key is testData[1] 45 PASS event.target.result. valueis expectedIndex46 PASS event.target.result.key is testData[2] 47 PASS event.target.result. valueis expectedIndex48 PASS event.target.result.key is testData[3] 49 PASS event.target.result. valueis expectedIndex50 PASS event.target.result.key is testData[4] 51 PASS event.target.result. valueis expectedIndex52 PASS event.target.result.key is testData[5] 53 PASS event.target.result. valueis expectedIndex54 PASS event.target.result.key is testData[6] 55 PASS event.target.result. valueis expectedIndex41 PASS event.target.result.primaryKey is expectedIndex 42 PASS event.target.result.key is testData[0] 43 PASS event.target.result.primaryKey is expectedIndex 44 PASS event.target.result.key is testData[1] 45 PASS event.target.result.primaryKey is expectedIndex 46 PASS event.target.result.key is testData[2] 47 PASS event.target.result.primaryKey is expectedIndex 48 PASS event.target.result.key is testData[3] 49 PASS event.target.result.primaryKey is expectedIndex 50 PASS event.target.result.key is testData[4] 51 PASS event.target.result.primaryKey is expectedIndex 52 PASS event.target.result.key is testData[5] 53 PASS event.target.result.primaryKey is expectedIndex 54 PASS event.target.result.key is testData[6] 55 PASS event.target.result.primaryKey is expectedIndex 56 56 PASS event.target.result.key is testData[7] 57 57 PASS event.target.result is null … … 61 61 62 62 Next test: upper bound is 0; sorted ascending. 63 PASS event.target.result. valueis expectedIndex64 PASS event.target.result.key is testData[0] 65 PASS event.target.result. valueis expectedIndex63 PASS event.target.result.primaryKey is expectedIndex 64 PASS event.target.result.key is testData[0] 65 PASS event.target.result.primaryKey is expectedIndex 66 66 PASS event.target.result.key is testData[1] 67 67 PASS event.target.result is null 68 68 69 69 Next test: lower open bound is 0; sorted descending. 70 PASS event.target.result. valueis expectedIndex71 PASS event.target.result.key is testData[7] 72 PASS event.target.result. valueis expectedIndex73 PASS event.target.result.key is testData[6] 74 PASS event.target.result. valueis expectedIndex75 PASS event.target.result.key is testData[5] 76 PASS event.target.result. valueis expectedIndex77 PASS event.target.result.key is testData[4] 78 PASS event.target.result. valueis expectedIndex79 PASS event.target.result.key is testData[3] 80 PASS event.target.result. valueis expectedIndex70 PASS event.target.result.primaryKey is expectedIndex 71 PASS event.target.result.key is testData[7] 72 PASS event.target.result.primaryKey is expectedIndex 73 PASS event.target.result.key is testData[6] 74 PASS event.target.result.primaryKey is expectedIndex 75 PASS event.target.result.key is testData[5] 76 PASS event.target.result.primaryKey is expectedIndex 77 PASS event.target.result.key is testData[4] 78 PASS event.target.result.primaryKey is expectedIndex 79 PASS event.target.result.key is testData[3] 80 PASS event.target.result.primaryKey is expectedIndex 81 81 PASS event.target.result.key is testData[2] 82 82 PASS event.target.result is null 83 83 84 84 Next test: lower bound is 0; sorted descending. 85 PASS event.target.result. valueis expectedIndex86 PASS event.target.result.key is testData[7] 87 PASS event.target.result. valueis expectedIndex88 PASS event.target.result.key is testData[6] 89 PASS event.target.result. valueis expectedIndex90 PASS event.target.result.key is testData[5] 91 PASS event.target.result. valueis expectedIndex92 PASS event.target.result.key is testData[4] 93 PASS event.target.result. valueis expectedIndex94 PASS event.target.result.key is testData[3] 95 PASS event.target.result. valueis expectedIndex96 PASS event.target.result.key is testData[2] 97 PASS event.target.result. valueis expectedIndex98 PASS event.target.result.key is testData[1] 99 PASS event.target.result. valueis expectedIndex85 PASS event.target.result.primaryKey is expectedIndex 86 PASS event.target.result.key is testData[7] 87 PASS event.target.result.primaryKey is expectedIndex 88 PASS event.target.result.key is testData[6] 89 PASS event.target.result.primaryKey is expectedIndex 90 PASS event.target.result.key is testData[5] 91 PASS event.target.result.primaryKey is expectedIndex 92 PASS event.target.result.key is testData[4] 93 PASS event.target.result.primaryKey is expectedIndex 94 PASS event.target.result.key is testData[3] 95 PASS event.target.result.primaryKey is expectedIndex 96 PASS event.target.result.key is testData[2] 97 PASS event.target.result.primaryKey is expectedIndex 98 PASS event.target.result.key is testData[1] 99 PASS event.target.result.primaryKey is expectedIndex 100 100 PASS event.target.result.key is testData[0] 101 101 PASS event.target.result is null … … 105 105 106 106 Next test: upper bound is 0; sorted descending. 107 PASS event.target.result. valueis expectedIndex108 PASS event.target.result.key is testData[1] 109 PASS event.target.result. valueis expectedIndex107 PASS event.target.result.primaryKey is expectedIndex 108 PASS event.target.result.key is testData[1] 109 PASS event.target.result.primaryKey is expectedIndex 110 110 PASS event.target.result.key is testData[0] 111 111 PASS event.target.result is null 112 112 113 113 Next test: lower open bound is 0; upper open bound is 6; sorted ascending. 114 PASS event.target.result. valueis expectedIndex115 PASS event.target.result.key is testData[2] 116 PASS event.target.result. valueis expectedIndex117 PASS event.target.result.key is testData[3] 118 PASS event.target.result. valueis expectedIndex119 PASS event.target.result.key is testData[4] 120 PASS event.target.result. valueis expectedIndex114 PASS event.target.result.primaryKey is expectedIndex 115 PASS event.target.result.key is testData[2] 116 PASS event.target.result.primaryKey is expectedIndex 117 PASS event.target.result.key is testData[3] 118 PASS event.target.result.primaryKey is expectedIndex 119 PASS event.target.result.key is testData[4] 120 PASS event.target.result.primaryKey is expectedIndex 121 121 PASS event.target.result.key is testData[5] 122 122 PASS event.target.result is null 123 123 124 124 Next test: lower open bound is 0; upper bound is 6; sorted ascending. 125 PASS event.target.result. valueis expectedIndex126 PASS event.target.result.key is testData[2] 127 PASS event.target.result. valueis expectedIndex128 PASS event.target.result.key is testData[3] 129 PASS event.target.result. valueis expectedIndex130 PASS event.target.result.key is testData[4] 131 PASS event.target.result. valueis expectedIndex132 PASS event.target.result.key is testData[5] 133 PASS event.target.result. valueis expectedIndex134 PASS event.target.result.key is testData[6] 135 PASS event.target.result. valueis expectedIndex125 PASS event.target.result.primaryKey is expectedIndex 126 PASS event.target.result.key is testData[2] 127 PASS event.target.result.primaryKey is expectedIndex 128 PASS event.target.result.key is testData[3] 129 PASS event.target.result.primaryKey is expectedIndex 130 PASS event.target.result.key is testData[4] 131 PASS event.target.result.primaryKey is expectedIndex 132 PASS event.target.result.key is testData[5] 133 PASS event.target.result.primaryKey is expectedIndex 134 PASS event.target.result.key is testData[6] 135 PASS event.target.result.primaryKey is expectedIndex 136 136 PASS event.target.result.key is testData[7] 137 137 PASS event.target.result is null 138 138 139 139 Next test: lower bound is 0; upper open bound is 6; sorted ascending. 140 PASS event.target.result. valueis expectedIndex141 PASS event.target.result.key is testData[0] 142 PASS event.target.result. valueis expectedIndex143 PASS event.target.result.key is testData[1] 144 PASS event.target.result. valueis expectedIndex145 PASS event.target.result.key is testData[2] 146 PASS event.target.result. valueis expectedIndex147 PASS event.target.result.key is testData[3] 148 PASS event.target.result. valueis expectedIndex149 PASS event.target.result.key is testData[4] 150 PASS event.target.result. valueis expectedIndex140 PASS event.target.result.primaryKey is expectedIndex 141 PASS event.target.result.key is testData[0] 142 PASS event.target.result.primaryKey is expectedIndex 143 PASS event.target.result.key is testData[1] 144 PASS event.target.result.primaryKey is expectedIndex 145 PASS event.target.result.key is testData[2] 146 PASS event.target.result.primaryKey is expectedIndex 147 PASS event.target.result.key is testData[3] 148 PASS event.target.result.primaryKey is expectedIndex 149 PASS event.target.result.key is testData[4] 150 PASS event.target.result.primaryKey is expectedIndex 151 151 PASS event.target.result.key is testData[5] 152 152 PASS event.target.result is null 153 153 154 154 Next test: lower bound is 0; upper bound is 6; sorted ascending. 155 PASS event.target.result. valueis expectedIndex156 PASS event.target.result.key is testData[0] 157 PASS event.target.result. valueis expectedIndex158 PASS event.target.result.key is testData[1] 159 PASS event.target.result. valueis expectedIndex160 PASS event.target.result.key is testData[2] 161 PASS event.target.result. valueis expectedIndex162 PASS event.target.result.key is testData[3] 163 PASS event.target.result. valueis expectedIndex164 PASS event.target.result.key is testData[4] 165 PASS event.target.result. valueis expectedIndex166 PASS event.target.result.key is testData[5] 167 PASS event.target.result. valueis expectedIndex168 PASS event.target.result.key is testData[6] 169 PASS event.target.result. valueis expectedIndex155 PASS event.target.result.primaryKey is expectedIndex 156 PASS event.target.result.key is testData[0] 157 PASS event.target.result.primaryKey is expectedIndex 158 PASS event.target.result.key is testData[1] 159 PASS event.target.result.primaryKey is expectedIndex 160 PASS event.target.result.key is testData[2] 161 PASS event.target.result.primaryKey is expectedIndex 162 PASS event.target.result.key is testData[3] 163 PASS event.target.result.primaryKey is expectedIndex 164 PASS event.target.result.key is testData[4] 165 PASS event.target.result.primaryKey is expectedIndex 166 PASS event.target.result.key is testData[5] 167 PASS event.target.result.primaryKey is expectedIndex 168 PASS event.target.result.key is testData[6] 169 PASS event.target.result.primaryKey is expectedIndex 170 170 PASS event.target.result.key is testData[7] 171 171 PASS event.target.result is null 172 172 173 173 Next test: lower open bound is 0; upper open bound is 6; sorted descending. 174 PASS event.target.result. valueis expectedIndex175 PASS event.target.result.key is testData[5] 176 PASS event.target.result. valueis expectedIndex177 PASS event.target.result.key is testData[4] 178 PASS event.target.result. valueis expectedIndex179 PASS event.target.result.key is testData[3] 180 PASS event.target.result. valueis expectedIndex174 PASS event.target.result.primaryKey is expectedIndex 175 PASS event.target.result.key is testData[5] 176 PASS event.target.result.primaryKey is expectedIndex 177 PASS event.target.result.key is testData[4] 178 PASS event.target.result.primaryKey is expectedIndex 179 PASS event.target.result.key is testData[3] 180 PASS event.target.result.primaryKey is expectedIndex 181 181 PASS event.target.result.key is testData[2] 182 182 PASS event.target.result is null 183 183 184 184 Next test: lower open bound is 0; upper bound is 6; sorted descending. 185 PASS event.target.result. valueis expectedIndex186 PASS event.target.result.key is testData[7] 187 PASS event.target.result. valueis expectedIndex188 PASS event.target.result.key is testData[6] 189 PASS event.target.result. valueis expectedIndex190 PASS event.target.result.key is testData[5] 191 PASS event.target.result. valueis expectedIndex192 PASS event.target.result.key is testData[4] 193 PASS event.target.result. valueis expectedIndex194 PASS event.target.result.key is testData[3] 195 PASS event.target.result. valueis expectedIndex185 PASS event.target.result.primaryKey is expectedIndex 186 PASS event.target.result.key is testData[7] 187 PASS event.target.result.primaryKey is expectedIndex 188 PASS event.target.result.key is testData[6] 189 PASS event.target.result.primaryKey is expectedIndex 190 PASS event.target.result.key is testData[5] 191 PASS event.target.result.primaryKey is expectedIndex 192 PASS event.target.result.key is testData[4] 193 PASS event.target.result.primaryKey is expectedIndex 194 PASS event.target.result.key is testData[3] 195 PASS event.target.result.primaryKey is expectedIndex 196 196 PASS event.target.result.key is testData[2] 197 197 PASS event.target.result is null 198 198 199 199 Next test: lower bound is 0; upper open bound is 6; sorted descending. 200 PASS event.target.result. valueis expectedIndex201 PASS event.target.result.key is testData[5] 202 PASS event.target.result. valueis expectedIndex203 PASS event.target.result.key is testData[4] 204 PASS event.target.result. valueis expectedIndex205 PASS event.target.result.key is testData[3] 206 PASS event.target.result. valueis expectedIndex207 PASS event.target.result.key is testData[2] 208 PASS event.target.result. valueis expectedIndex209 PASS event.target.result.key is testData[1] 210 PASS event.target.result. valueis expectedIndex200 PASS event.target.result.primaryKey is expectedIndex 201 PASS event.target.result.key is testData[5] 202 PASS event.target.result.primaryKey is expectedIndex 203 PASS event.target.result.key is testData[4] 204 PASS event.target.result.primaryKey is expectedIndex 205 PASS event.target.result.key is testData[3] 206 PASS event.target.result.primaryKey is expectedIndex 207 PASS event.target.result.key is testData[2] 208 PASS event.target.result.primaryKey is expectedIndex 209 PASS event.target.result.key is testData[1] 210 PASS event.target.result.primaryKey is expectedIndex 211 211 PASS event.target.result.key is testData[0] 212 212 PASS event.target.result is null 213 213 214 214 Next test: lower bound is 0; upper bound is 6; sorted descending. 215 PASS event.target.result. valueis expectedIndex216 PASS event.target.result.key is testData[7] 217 PASS event.target.result. valueis expectedIndex218 PASS event.target.result.key is testData[6] 219 PASS event.target.result. valueis expectedIndex220 PASS event.target.result.key is testData[5] 221 PASS event.target.result. valueis expectedIndex222 PASS event.target.result.key is testData[4] 223 PASS event.target.result. valueis expectedIndex224 PASS event.target.result.key is testData[3] 225 PASS event.target.result. valueis expectedIndex226 PASS event.target.result.key is testData[2] 227 PASS event.target.result. valueis expectedIndex228 PASS event.target.result.key is testData[1] 229 PASS event.target.result. valueis expectedIndex215 PASS event.target.result.primaryKey is expectedIndex 216 PASS event.target.result.key is testData[7] 217 PASS event.target.result.primaryKey is expectedIndex 218 PASS event.target.result.key is testData[6] 219 PASS event.target.result.primaryKey is expectedIndex 220 PASS event.target.result.key is testData[5] 221 PASS event.target.result.primaryKey is expectedIndex 222 PASS event.target.result.key is testData[4] 223 PASS event.target.result.primaryKey is expectedIndex 224 PASS event.target.result.key is testData[3] 225 PASS event.target.result.primaryKey is expectedIndex 226 PASS event.target.result.key is testData[2] 227 PASS event.target.result.primaryKey is expectedIndex 228 PASS event.target.result.key is testData[1] 229 PASS event.target.result.primaryKey is expectedIndex 230 230 PASS event.target.result.key is testData[0] 231 231 PASS event.target.result is null 232 232 233 233 Next test: lower open bound is 0; upper open bound is 7; sorted ascending. 234 PASS event.target.result. valueis expectedIndex235 PASS event.target.result.key is testData[2] 236 PASS event.target.result. valueis expectedIndex237 PASS event.target.result.key is testData[3] 238 PASS event.target.result. valueis expectedIndex239 PASS event.target.result.key is testData[4] 240 PASS event.target.result. valueis expectedIndex234 PASS event.target.result.primaryKey is expectedIndex 235 PASS event.target.result.key is testData[2] 236 PASS event.target.result.primaryKey is expectedIndex 237 PASS event.target.result.key is testData[3] 238 PASS event.target.result.primaryKey is expectedIndex 239 PASS event.target.result.key is testData[4] 240 PASS event.target.result.primaryKey is expectedIndex 241 241 PASS event.target.result.key is testData[5] 242 242 PASS event.target.result is null 243 243 244 244 Next test: lower open bound is 0; upper bound is 7; sorted ascending. 245 PASS event.target.result. valueis expectedIndex246 PASS event.target.result.key is testData[2] 247 PASS event.target.result. valueis expectedIndex248 PASS event.target.result.key is testData[3] 249 PASS event.target.result. valueis expectedIndex250 PASS event.target.result.key is testData[4] 251 PASS event.target.result. valueis expectedIndex252 PASS event.target.result.key is testData[5] 253 PASS event.target.result. valueis expectedIndex254 PASS event.target.result.key is testData[6] 255 PASS event.target.result. valueis expectedIndex245 PASS event.target.result.primaryKey is expectedIndex 246 PASS event.target.result.key is testData[2] 247 PASS event.target.result.primaryKey is expectedIndex 248 PASS event.target.result.key is testData[3] 249 PASS event.target.result.primaryKey is expectedIndex 250 PASS event.target.result.key is testData[4] 251 PASS event.target.result.primaryKey is expectedIndex 252 PASS event.target.result.key is testData[5] 253 PASS event.target.result.primaryKey is expectedIndex 254 PASS event.target.result.key is testData[6] 255 PASS event.target.result.primaryKey is expectedIndex 256 256 PASS event.target.result.key is testData[7] 257 257 PASS event.target.result is null 258 258 259 259 Next test: lower bound is 0; upper open bound is 7; sorted ascending. 260 PASS event.target.result. valueis expectedIndex261 PASS event.target.result.key is testData[0] 262 PASS event.target.result. valueis expectedIndex263 PASS event.target.result.key is testData[1] 264 PASS event.target.result. valueis expectedIndex265 PASS event.target.result.key is testData[2] 266 PASS event.target.result. valueis expectedIndex267 PASS event.target.result.key is testData[3] 268 PASS event.target.result. valueis expectedIndex269 PASS event.target.result.key is testData[4] 270 PASS event.target.result. valueis expectedIndex260 PASS event.target.result.primaryKey is expectedIndex 261 PASS event.target.result.key is testData[0] 262 PASS event.target.result.primaryKey is expectedIndex 263 PASS event.target.result.key is testData[1] 264 PASS event.target.result.primaryKey is expectedIndex 265 PASS event.target.result.key is testData[2] 266 PASS event.target.result.primaryKey is expectedIndex 267 PASS event.target.result.key is testData[3] 268 PASS event.target.result.primaryKey is expectedIndex 269 PASS event.target.result.key is testData[4] 270 PASS event.target.result.primaryKey is expectedIndex 271 271 PASS event.target.result.key is testData[5] 272 272 PASS event.target.result is null 273 273 274 274 Next test: lower bound is 0; upper bound is 7; sorted ascending. 275 PASS event.target.result. valueis expectedIndex276 PASS event.target.result.key is testData[0] 277 PASS event.target.result. valueis expectedIndex278 PASS event.target.result.key is testData[1] 279 PASS event.target.result. valueis expectedIndex280 PASS event.target.result.key is testData[2] 281 PASS event.target.result. valueis expectedIndex282 PASS event.target.result.key is testData[3] 283 PASS event.target.result. valueis expectedIndex284 PASS event.target.result.key is testData[4] 285 PASS event.target.result. valueis expectedIndex286 PASS event.target.result.key is testData[5] 287 PASS event.target.result. valueis expectedIndex288 PASS event.target.result.key is testData[6] 289 PASS event.target.result. valueis expectedIndex275 PASS event.target.result.primaryKey is expectedIndex 276 PASS event.target.result.key is testData[0] 277 PASS event.target.result.primaryKey is expectedIndex 278 PASS event.target.result.key is testData[1] 279 PASS event.target.result.primaryKey is expectedIndex 280 PASS event.target.result.key is testData[2] 281 PASS event.target.result.primaryKey is expectedIndex 282 PASS event.target.result.key is testData[3] 283 PASS event.target.result.primaryKey is expectedIndex 284 PASS event.target.result.key is testData[4] 285 PASS event.target.result.primaryKey is expectedIndex 286 PASS event.target.result.key is testData[5] 287 PASS event.target.result.primaryKey is expectedIndex 288 PASS event.target.result.key is testData[6] 289 PASS event.target.result.primaryKey is expectedIndex 290 290 PASS event.target.result.key is testData[7] 291 291 PASS event.target.result is null 292 292 293 293 Next test: lower open bound is 0; upper open bound is 7; sorted descending. 294 PASS event.target.result. valueis expectedIndex295 PASS event.target.result.key is testData[5] 296 PASS event.target.result. valueis expectedIndex297 PASS event.target.result.key is testData[4] 298 PASS event.target.result. valueis expectedIndex299 PASS event.target.result.key is testData[3] 300 PASS event.target.result. valueis expectedIndex294 PASS event.target.result.primaryKey is expectedIndex 295 PASS event.target.result.key is testData[5] 296 PASS event.target.result.primaryKey is expectedIndex 297 PASS event.target.result.key is testData[4] 298 PASS event.target.result.primaryKey is expectedIndex 299 PASS event.target.result.key is testData[3] 300 PASS event.target.result.primaryKey is expectedIndex 301 301 PASS event.target.result.key is testData[2] 302 302 PASS event.target.result is null 303 303 304 304 Next test: lower open bound is 0; upper bound is 7; sorted descending. 305 PASS event.target.result. valueis expectedIndex306 PASS event.target.result.key is testData[7] 307 PASS event.target.result. valueis expectedIndex308 PASS event.target.result.key is testData[6] 309 PASS event.target.result. valueis expectedIndex310 PASS event.target.result.key is testData[5] 311 PASS event.target.result. valueis expectedIndex312 PASS event.target.result.key is testData[4] 313 PASS event.target.result. valueis expectedIndex314 PASS event.target.result.key is testData[3] 315 PASS event.target.result. valueis expectedIndex305 PASS event.target.result.primaryKey is expectedIndex 306 PASS event.target.result.key is testData[7] 307 PASS event.target.result.primaryKey is expectedIndex 308 PASS event.target.result.key is testData[6] 309 PASS event.target.result.primaryKey is expectedIndex 310 PASS event.target.result.key is testData[5] 311 PASS event.target.result.primaryKey is expectedIndex 312 PASS event.target.result.key is testData[4] 313 PASS event.target.result.primaryKey is expectedIndex 314 PASS event.target.result.key is testData[3] 315 PASS event.target.result.primaryKey is expectedIndex 316 316 PASS event.target.result.key is testData[2] 317 317 PASS event.target.result is null 318 318 319 319 Next test: lower bound is 0; upper open bound is 7; sorted descending. 320 PASS event.target.result. valueis expectedIndex321 PASS event.target.result.key is testData[5] 322 PASS event.target.result. valueis expectedIndex323 PASS event.target.result.key is testData[4] 324 PASS event.target.result. valueis expectedIndex325 PASS event.target.result.key is testData[3] 326 PASS event.target.result. valueis expectedIndex327 PASS event.target.result.key is testData[2] 328 PASS event.target.result. valueis expectedIndex329 PASS event.target.result.key is testData[1] 330 PASS event.target.result. valueis expectedIndex320 PASS event.target.result.primaryKey is expectedIndex 321 PASS event.target.result.key is testData[5] 322 PASS event.target.result.primaryKey is expectedIndex 323 PASS event.target.result.key is testData[4] 324 PASS event.target.result.primaryKey is expectedIndex 325 PASS event.target.result.key is testData[3] 326 PASS event.target.result.primaryKey is expectedIndex 327 PASS event.target.result.key is testData[2] 328 PASS event.target.result.primaryKey is expectedIndex 329 PASS event.target.result.key is testData[1] 330 PASS event.target.result.primaryKey is expectedIndex 331 331 PASS event.target.result.key is testData[0] 332 332 PASS event.target.result is null 333 333 334 334 Next test: lower bound is 0; upper bound is 7; sorted descending. 335 PASS event.target.result. valueis expectedIndex336 PASS event.target.result.key is testData[7] 337 PASS event.target.result. valueis expectedIndex338 PASS event.target.result.key is testData[6] 339 PASS event.target.result. valueis expectedIndex340 PASS event.target.result.key is testData[5] 341 PASS event.target.result. valueis expectedIndex342 PASS event.target.result.key is testData[4] 343 PASS event.target.result. valueis expectedIndex344 PASS event.target.result.key is testData[3] 345 PASS event.target.result. valueis expectedIndex346 PASS event.target.result.key is testData[2] 347 PASS event.target.result. valueis expectedIndex348 PASS event.target.result.key is testData[1] 349 PASS event.target.result. valueis expectedIndex335 PASS event.target.result.primaryKey is expectedIndex 336 PASS event.target.result.key is testData[7] 337 PASS event.target.result.primaryKey is expectedIndex 338 PASS event.target.result.key is testData[6] 339 PASS event.target.result.primaryKey is expectedIndex 340 PASS event.target.result.key is testData[5] 341 PASS event.target.result.primaryKey is expectedIndex 342 PASS event.target.result.key is testData[4] 343 PASS event.target.result.primaryKey is expectedIndex 344 PASS event.target.result.key is testData[3] 345 PASS event.target.result.primaryKey is expectedIndex 346 PASS event.target.result.key is testData[2] 347 PASS event.target.result.primaryKey is expectedIndex 348 PASS event.target.result.key is testData[1] 349 PASS event.target.result.primaryKey is expectedIndex 350 350 PASS event.target.result.key is testData[0] 351 351 PASS event.target.result is null 352 352 353 353 Next test: lower open bound is 1; sorted ascending. 354 PASS event.target.result. valueis expectedIndex355 PASS event.target.result.key is testData[2] 356 PASS event.target.result. valueis expectedIndex357 PASS event.target.result.key is testData[3] 358 PASS event.target.result. valueis expectedIndex359 PASS event.target.result.key is testData[4] 360 PASS event.target.result. valueis expectedIndex361 PASS event.target.result.key is testData[5] 362 PASS event.target.result. valueis expectedIndex363 PASS event.target.result.key is testData[6] 364 PASS event.target.result. valueis expectedIndex354 PASS event.target.result.primaryKey is expectedIndex 355 PASS event.target.result.key is testData[2] 356 PASS event.target.result.primaryKey is expectedIndex 357 PASS event.target.result.key is testData[3] 358 PASS event.target.result.primaryKey is expectedIndex 359 PASS event.target.result.key is testData[4] 360 PASS event.target.result.primaryKey is expectedIndex 361 PASS event.target.result.key is testData[5] 362 PASS event.target.result.primaryKey is expectedIndex 363 PASS event.target.result.key is testData[6] 364 PASS event.target.result.primaryKey is expectedIndex 365 365 PASS event.target.result.key is testData[7] 366 366 PASS event.target.result is null 367 367 368 368 Next test: lower bound is 1; sorted ascending. 369 PASS event.target.result. valueis expectedIndex370 PASS event.target.result.key is testData[0] 371 PASS event.target.result. valueis expectedIndex372 PASS event.target.result.key is testData[1] 373 PASS event.target.result. valueis expectedIndex374 PASS event.target.result.key is testData[2] 375 PASS event.target.result. valueis expectedIndex376 PASS event.target.result.key is testData[3] 377 PASS event.target.result. valueis expectedIndex378 PASS event.target.result.key is testData[4] 379 PASS event.target.result. valueis expectedIndex380 PASS event.target.result.key is testData[5] 381 PASS event.target.result. valueis expectedIndex382 PASS event.target.result.key is testData[6] 383 PASS event.target.result. valueis expectedIndex369 PASS event.target.result.primaryKey is expectedIndex 370 PASS event.target.result.key is testData[0] 371 PASS event.target.result.primaryKey is expectedIndex 372 PASS event.target.result.key is testData[1] 373 PASS event.target.result.primaryKey is expectedIndex 374 PASS event.target.result.key is testData[2] 375 PASS event.target.result.primaryKey is expectedIndex 376 PASS event.target.result.key is testData[3] 377 PASS event.target.result.primaryKey is expectedIndex 378 PASS event.target.result.key is testData[4] 379 PASS event.target.result.primaryKey is expectedIndex 380 PASS event.target.result.key is testData[5] 381 PASS event.target.result.primaryKey is expectedIndex 382 PASS event.target.result.key is testData[6] 383 PASS event.target.result.primaryKey is expectedIndex 384 384 PASS event.target.result.key is testData[7] 385 385 PASS event.target.result is null … … 389 389 390 390 Next test: upper bound is 1; sorted ascending. 391 PASS event.target.result. valueis expectedIndex392 PASS event.target.result.key is testData[0] 393 PASS event.target.result. valueis expectedIndex391 PASS event.target.result.primaryKey is expectedIndex 392 PASS event.target.result.key is testData[0] 393 PASS event.target.result.primaryKey is expectedIndex 394 394 PASS event.target.result.key is testData[1] 395 395 PASS event.target.result is null 396 396 397 397 Next test: lower open bound is 1; sorted descending. 398 PASS event.target.result. valueis expectedIndex399 PASS event.target.result.key is testData[7] 400 PASS event.target.result. valueis expectedIndex401 PASS event.target.result.key is testData[6] 402 PASS event.target.result. valueis expectedIndex403 PASS event.target.result.key is testData[5] 404 PASS event.target.result. valueis expectedIndex405 PASS event.target.result.key is testData[4] 406 PASS event.target.result. valueis expectedIndex407 PASS event.target.result.key is testData[3] 408 PASS event.target.result. valueis expectedIndex398 PASS event.target.result.primaryKey is expectedIndex 399 PASS event.target.result.key is testData[7] 400 PASS event.target.result.primaryKey is expectedIndex 401 PASS event.target.result.key is testData[6] 402 PASS event.target.result.primaryKey is expectedIndex 403 PASS event.target.result.key is testData[5] 404 PASS event.target.result.primaryKey is expectedIndex 405 PASS event.target.result.key is testData[4] 406 PASS event.target.result.primaryKey is expectedIndex 407 PASS event.target.result.key is testData[3] 408 PASS event.target.result.primaryKey is expectedIndex 409 409 PASS event.target.result.key is testData[2] 410 410 PASS event.target.result is null 411 411 412 412 Next test: lower bound is 1; sorted descending. 413 PASS event.target.result. valueis expectedIndex414 PASS event.target.result.key is testData[7] 415 PASS event.target.result. valueis expectedIndex416 PASS event.target.result.key is testData[6] 417 PASS event.target.result. valueis expectedIndex418 PASS event.target.result.key is testData[5] 419 PASS event.target.result. valueis expectedIndex420 PASS event.target.result.key is testData[4] 421 PASS event.target.result. valueis expectedIndex422 PASS event.target.result.key is testData[3] 423 PASS event.target.result. valueis expectedIndex424 PASS event.target.result.key is testData[2] 425 PASS event.target.result. valueis expectedIndex426 PASS event.target.result.key is testData[1] 427 PASS event.target.result. valueis expectedIndex413 PASS event.target.result.primaryKey is expectedIndex 414 PASS event.target.result.key is testData[7] 415 PASS event.target.result.primaryKey is expectedIndex 416 PASS event.target.result.key is testData[6] 417 PASS event.target.result.primaryKey is expectedIndex 418 PASS event.target.result.key is testData[5] 419 PASS event.target.result.primaryKey is expectedIndex 420 PASS event.target.result.key is testData[4] 421 PASS event.target.result.primaryKey is expectedIndex 422 PASS event.target.result.key is testData[3] 423 PASS event.target.result.primaryKey is expectedIndex 424 PASS event.target.result.key is testData[2] 425 PASS event.target.result.primaryKey is expectedIndex 426 PASS event.target.result.key is testData[1] 427 PASS event.target.result.primaryKey is expectedIndex 428 428 PASS event.target.result.key is testData[0] 429 429 PASS event.target.result is null … … 433 433 434 434 Next test: upper bound is 1; sorted descending. 435 PASS event.target.result. valueis expectedIndex436 PASS event.target.result.key is testData[1] 437 PASS event.target.result. valueis expectedIndex435 PASS event.target.result.primaryKey is expectedIndex 436 PASS event.target.result.key is testData[1] 437 PASS event.target.result.primaryKey is expectedIndex 438 438 PASS event.target.result.key is testData[0] 439 439 PASS event.target.result is null 440 440 441 441 Next test: lower open bound is 1; upper open bound is 6; sorted ascending. 442 PASS event.target.result. valueis expectedIndex443 PASS event.target.result.key is testData[2] 444 PASS event.target.result. valueis expectedIndex445 PASS event.target.result.key is testData[3] 446 PASS event.target.result. valueis expectedIndex447 PASS event.target.result.key is testData[4] 448 PASS event.target.result. valueis expectedIndex442 PASS event.target.result.primaryKey is expectedIndex 443 PASS event.target.result.key is testData[2] 444 PASS event.target.result.primaryKey is expectedIndex 445 PASS event.target.result.key is testData[3] 446 PASS event.target.result.primaryKey is expectedIndex 447 PASS event.target.result.key is testData[4] 448 PASS event.target.result.primaryKey is expectedIndex 449 449 PASS event.target.result.key is testData[5] 450 450 PASS event.target.result is null 451 451 452 452 Next test: lower open bound is 1; upper bound is 6; sorted ascending. 453 PASS event.target.result. valueis expectedIndex454 PASS event.target.result.key is testData[2] 455 PASS event.target.result. valueis expectedIndex456 PASS event.target.result.key is testData[3] 457 PASS event.target.result. valueis expectedIndex458 PASS event.target.result.key is testData[4] 459 PASS event.target.result. valueis expectedIndex460 PASS event.target.result.key is testData[5] 461 PASS event.target.result. valueis expectedIndex462 PASS event.target.result.key is testData[6] 463 PASS event.target.result. valueis expectedIndex453 PASS event.target.result.primaryKey is expectedIndex 454 PASS event.target.result.key is testData[2] 455 PASS event.target.result.primaryKey is expectedIndex 456 PASS event.target.result.key is testData[3] 457 PASS event.target.result.primaryKey is expectedIndex 458 PASS event.target.result.key is testData[4] 459 PASS event.target.result.primaryKey is expectedIndex 460 PASS event.target.result.key is testData[5] 461 PASS event.target.result.primaryKey is expectedIndex 462 PASS event.target.result.key is testData[6] 463 PASS event.target.result.primaryKey is expectedIndex 464 464 PASS event.target.result.key is testData[7] 465 465 PASS event.target.result is null 466 466 467 467 Next test: lower bound is 1; upper open bound is 6; sorted ascending. 468 PASS event.target.result. valueis expectedIndex469 PASS event.target.result.key is testData[0] 470 PASS event.target.result. valueis expectedIndex471 PASS event.target.result.key is testData[1] 472 PASS event.target.result. valueis expectedIndex473 PASS event.target.result.key is testData[2] 474 PASS event.target.result. valueis expectedIndex475 PASS event.target.result.key is testData[3] 476 PASS event.target.result. valueis expectedIndex477 PASS event.target.result.key is testData[4] 478 PASS event.target.result. valueis expectedIndex468 PASS event.target.result.primaryKey is expectedIndex 469 PASS event.target.result.key is testData[0] 470 PASS event.target.result.primaryKey is expectedIndex 471 PASS event.target.result.key is testData[1] 472 PASS event.target.result.primaryKey is expectedIndex 473 PASS event.target.result.key is testData[2] 474 PASS event.target.result.primaryKey is expectedIndex 475 PASS event.target.result.key is testData[3] 476 PASS event.target.result.primaryKey is expectedIndex 477 PASS event.target.result.key is testData[4] 478 PASS event.target.result.primaryKey is expectedIndex 479 479 PASS event.target.result.key is testData[5] 480 480 PASS event.target.result is null 481 481 482 482 Next test: lower bound is 1; upper bound is 6; sorted ascending. 483 PASS event.target.result. valueis expectedIndex484 PASS event.target.result.key is testData[0] 485 PASS event.target.result. valueis expectedIndex486 PASS event.target.result.key is testData[1] 487 PASS event.target.result. valueis expectedIndex488 PASS event.target.result.key is testData[2] 489 PASS event.target.result. valueis expectedIndex490 PASS event.target.result.key is testData[3] 491 PASS event.target.result. valueis expectedIndex492 PASS event.target.result.key is testData[4] 493 PASS event.target.result. valueis expectedIndex494 PASS event.target.result.key is testData[5] 495 PASS event.target.result. valueis expectedIndex496 PASS event.target.result.key is testData[6] 497 PASS event.target.result. valueis expectedIndex483 PASS event.target.result.primaryKey is expectedIndex 484 PASS event.target.result.key is testData[0] 485 PASS event.target.result.primaryKey is expectedIndex 486 PASS event.target.result.key is testData[1] 487 PASS event.target.result.primaryKey is expectedIndex 488 PASS event.target.result.key is testData[2] 489 PASS event.target.result.primaryKey is expectedIndex 490 PASS event.target.result.key is testData[3] 491 PASS event.target.result.primaryKey is expectedIndex 492 PASS event.target.result.key is testData[4] 493 PASS event.target.result.primaryKey is expectedIndex 494 PASS event.target.result.key is testData[5] 495 PASS event.target.result.primaryKey is expectedIndex 496 PASS event.target.result.key is testData[6] 497 PASS event.target.result.primaryKey is expectedIndex 498 498 PASS event.target.result.key is testData[7] 499 499 PASS event.target.result is null 500 500 501 501 Next test: lower open bound is 1; upper open bound is 6; sorted descending. 502 PASS event.target.result. valueis expectedIndex503 PASS event.target.result.key is testData[5] 504 PASS event.target.result. valueis expectedIndex505 PASS event.target.result.key is testData[4] 506 PASS event.target.result. valueis expectedIndex507 PASS event.target.result.key is testData[3] 508 PASS event.target.result. valueis expectedIndex502 PASS event.target.result.primaryKey is expectedIndex 503 PASS event.target.result.key is testData[5] 504 PASS event.target.result.primaryKey is expectedIndex 505 PASS event.target.result.key is testData[4] 506 PASS event.target.result.primaryKey is expectedIndex 507 PASS event.target.result.key is testData[3] 508 PASS event.target.result.primaryKey is expectedIndex 509 509 PASS event.target.result.key is testData[2] 510 510 PASS event.target.result is null 511 511 512 512 Next test: lower open bound is 1; upper bound is 6; sorted descending. 513 PASS event.target.result. valueis expectedIndex514 PASS event.target.result.key is testData[7] 515 PASS event.target.result. valueis expectedIndex516 PASS event.target.result.key is testData[6] 517 PASS event.target.result. valueis expectedIndex518 PASS event.target.result.key is testData[5] 519 PASS event.target.result. valueis expectedIndex520 PASS event.target.result.key is testData[4] 521 PASS event.target.result. valueis expectedIndex522 PASS event.target.result.key is testData[3] 523 PASS event.target.result. valueis expectedIndex513 PASS event.target.result.primaryKey is expectedIndex 514 PASS event.target.result.key is testData[7] 515 PASS event.target.result.primaryKey is expectedIndex 516 PASS event.target.result.key is testData[6] 517 PASS event.target.result.primaryKey is expectedIndex 518 PASS event.target.result.key is testData[5] 519 PASS event.target.result.primaryKey is expectedIndex 520 PASS event.target.result.key is testData[4] 521 PASS event.target.result.primaryKey is expectedIndex 522 PASS event.target.result.key is testData[3] 523 PASS event.target.result.primaryKey is expectedIndex 524 524 PASS event.target.result.key is testData[2] 525 525 PASS event.target.result is null 526 526 527 527 Next test: lower bound is 1; upper open bound is 6; sorted descending. 528 PASS event.target.result. valueis expectedIndex529 PASS event.target.result.key is testData[5] 530 PASS event.target.result. valueis expectedIndex531 PASS event.target.result.key is testData[4] 532 PASS event.target.result. valueis expectedIndex533 PASS event.target.result.key is testData[3] 534 PASS event.target.result. valueis expectedIndex535 PASS event.target.result.key is testData[2] 536 PASS event.target.result. valueis expectedIndex537 PASS event.target.result.key is testData[1] 538 PASS event.target.result. valueis expectedIndex528 PASS event.target.result.primaryKey is expectedIndex 529 PASS event.target.result.key is testData[5] 530 PASS event.target.result.primaryKey is expectedIndex 531 PASS event.target.result.key is testData[4] 532 PASS event.target.result.primaryKey is expectedIndex 533 PASS event.target.result.key is testData[3] 534 PASS event.target.result.primaryKey is expectedIndex 535 PASS event.target.result.key is testData[2] 536 PASS event.target.result.primaryKey is expectedIndex 537 PASS event.target.result.key is testData[1] 538 PASS event.target.result.primaryKey is expectedIndex 539 539 PASS event.target.result.key is testData[0] 540 540 PASS event.target.result is null 541 541 542 542 Next test: lower bound is 1; upper bound is 6; sorted descending. 543 PASS event.target.result. valueis expectedIndex544 PASS event.target.result.key is testData[7] 545 PASS event.target.result. valueis expectedIndex546 PASS event.target.result.key is testData[6] 547 PASS event.target.result. valueis expectedIndex548 PASS event.target.result.key is testData[5] 549 PASS event.target.result. valueis expectedIndex550 PASS event.target.result.key is testData[4] 551 PASS event.target.result. valueis expectedIndex552 PASS event.target.result.key is testData[3] 553 PASS event.target.result. valueis expectedIndex554 PASS event.target.result.key is testData[2] 555 PASS event.target.result. valueis expectedIndex556 PASS event.target.result.key is testData[1] 557 PASS event.target.result. valueis expectedIndex543 PASS event.target.result.primaryKey is expectedIndex 544 PASS event.target.result.key is testData[7] 545 PASS event.target.result.primaryKey is expectedIndex 546 PASS event.target.result.key is testData[6] 547 PASS event.target.result.primaryKey is expectedIndex 548 PASS event.target.result.key is testData[5] 549 PASS event.target.result.primaryKey is expectedIndex 550 PASS event.target.result.key is testData[4] 551 PASS event.target.result.primaryKey is expectedIndex 552 PASS event.target.result.key is testData[3] 553 PASS event.target.result.primaryKey is expectedIndex 554 PASS event.target.result.key is testData[2] 555 PASS event.target.result.primaryKey is expectedIndex 556 PASS event.target.result.key is testData[1] 557 PASS event.target.result.primaryKey is expectedIndex 558 558 PASS event.target.result.key is testData[0] 559 559 PASS event.target.result is null 560 560 561 561 Next test: lower open bound is 1; upper open bound is 7; sorted ascending. 562 PASS event.target.result. valueis expectedIndex563 PASS event.target.result.key is testData[2] 564 PASS event.target.result. valueis expectedIndex565 PASS event.target.result.key is testData[3] 566 PASS event.target.result. valueis expectedIndex567 PASS event.target.result.key is testData[4] 568 PASS event.target.result. valueis expectedIndex562 PASS event.target.result.primaryKey is expectedIndex 563 PASS event.target.result.key is testData[2] 564 PASS event.target.result.primaryKey is expectedIndex 565 PASS event.target.result.key is testData[3] 566 PASS event.target.result.primaryKey is expectedIndex 567 PASS event.target.result.key is testData[4] 568 PASS event.target.result.primaryKey is expectedIndex 569 569 PASS event.target.result.key is testData[5] 570 570 PASS event.target.result is null 571 571 572 572 Next test: lower open bound is 1; upper bound is 7; sorted ascending. 573 PASS event.target.result. valueis expectedIndex574 PASS event.target.result.key is testData[2] 575 PASS event.target.result. valueis expectedIndex576 PASS event.target.result.key is testData[3] 577 PASS event.target.result. valueis expectedIndex578 PASS event.target.result.key is testData[4] 579 PASS event.target.result. valueis expectedIndex580 PASS event.target.result.key is testData[5] 581 PASS event.target.result. valueis expectedIndex582 PASS event.target.result.key is testData[6] 583 PASS event.target.result. valueis expectedIndex573 PASS event.target.result.primaryKey is expectedIndex 574 PASS event.target.result.key is testData[2] 575 PASS event.target.result.primaryKey is expectedIndex 576 PASS event.target.result.key is testData[3] 577 PASS event.target.result.primaryKey is expectedIndex 578 PASS event.target.result.key is testData[4] 579 PASS event.target.result.primaryKey is expectedIndex 580 PASS event.target.result.key is testData[5] 581 PASS event.target.result.primaryKey is expectedIndex 582 PASS event.target.result.key is testData[6] 583 PASS event.target.result.primaryKey is expectedIndex 584 584 PASS event.target.result.key is testData[7] 585 585 PASS event.target.result is null 586 586 587 587 Next test: lower bound is 1; upper open bound is 7; sorted ascending. 588 PASS event.target.result. valueis expectedIndex589 PASS event.target.result.key is testData[0] 590 PASS event.target.result. valueis expectedIndex591 PASS event.target.result.key is testData[1] 592 PASS event.target.result. valueis expectedIndex593 PASS event.target.result.key is testData[2] 594 PASS event.target.result. valueis expectedIndex595 PASS event.target.result.key is testData[3] 596 PASS event.target.result. valueis expectedIndex597 PASS event.target.result.key is testData[4] 598 PASS event.target.result. valueis expectedIndex588 PASS event.target.result.primaryKey is expectedIndex 589 PASS event.target.result.key is testData[0] 590 PASS event.target.result.primaryKey is expectedIndex 591 PASS event.target.result.key is testData[1] 592 PASS event.target.result.primaryKey is expectedIndex 593 PASS event.target.result.key is testData[2] 594 PASS event.target.result.primaryKey is expectedIndex 595 PASS event.target.result.key is testData[3] 596 PASS event.target.result.primaryKey is expectedIndex 597 PASS event.target.result.key is testData[4] 598 PASS event.target.result.primaryKey is expectedIndex 599 599 PASS event.target.result.key is testData[5] 600 600 PASS event.target.result is null 601 601 602 602 Next test: lower bound is 1; upper bound is 7; sorted ascending. 603 PASS event.target.result. valueis expectedIndex604 PASS event.target.result.key is testData[0] 605 PASS event.target.result. valueis expectedIndex606 PASS event.target.result.key is testData[1] 607 PASS event.target.result. valueis expectedIndex608 PASS event.target.result.key is testData[2] 609 PASS event.target.result. valueis expectedIndex610 PASS event.target.result.key is testData[3] 611 PASS event.target.result. valueis expectedIndex612 PASS event.target.result.key is testData[4] 613 PASS event.target.result. valueis expectedIndex614 PASS event.target.result.key is testData[5] 615 PASS event.target.result. valueis expectedIndex616 PASS event.target.result.key is testData[6] 617 PASS event.target.result. valueis expectedIndex603 PASS event.target.result.primaryKey is expectedIndex 604 PASS event.target.result.key is testData[0] 605 PASS event.target.result.primaryKey is expectedIndex 606 PASS event.target.result.key is testData[1] 607 PASS event.target.result.primaryKey is expectedIndex 608 PASS event.target.result.key is testData[2] 609 PASS event.target.result.primaryKey is expectedIndex 610 PASS event.target.result.key is testData[3] 611 PASS event.target.result.primaryKey is expectedIndex 612 PASS event.target.result.key is testData[4] 613 PASS event.target.result.primaryKey is expectedIndex 614 PASS event.target.result.key is testData[5] 615 PASS event.target.result.primaryKey is expectedIndex 616 PASS event.target.result.key is testData[6] 617 PASS event.target.result.primaryKey is expectedIndex 618 618 PASS event.target.result.key is testData[7] 619 619 PASS event.target.result is null 620 620 621 621 Next test: lower open bound is 1; upper open bound is 7; sorted descending. 622 PASS event.target.result. valueis expectedIndex623 PASS event.target.result.key is testData[5] 624 PASS event.target.result. valueis expectedIndex625 PASS event.target.result.key is testData[4] 626 PASS event.target.result. valueis expectedIndex627 PASS event.target.result.key is testData[3] 628 PASS event.target.result. valueis expectedIndex622 PASS event.target.result.primaryKey is expectedIndex 623 PASS event.target.result.key is testData[5] 624 PASS event.target.result.primaryKey is expectedIndex 625 PASS event.target.result.key is testData[4] 626 PASS event.target.result.primaryKey is expectedIndex 627 PASS event.target.result.key is testData[3] 628 PASS event.target.result.primaryKey is expectedIndex 629 629 PASS event.target.result.key is testData[2] 630 630 PASS event.target.result is null 631 631 632 632 Next test: lower open bound is 1; upper bound is 7; sorted descending. 633 PASS event.target.result. valueis expectedIndex634 PASS event.target.result.key is testData[7] 635 PASS event.target.result. valueis expectedIndex636 PASS event.target.result.key is testData[6] 637 PASS event.target.result. valueis expectedIndex638 PASS event.target.result.key is testData[5] 639 PASS event.target.result. valueis expectedIndex640 PASS event.target.result.key is testData[4] 641 PASS event.target.result. valueis expectedIndex642 PASS event.target.result.key is testData[3] 643 PASS event.target.result. valueis expectedIndex633 PASS event.target.result.primaryKey is expectedIndex 634 PASS event.target.result.key is testData[7] 635 PASS event.target.result.primaryKey is expectedIndex 636 PASS event.target.result.key is testData[6] 637 PASS event.target.result.primaryKey is expectedIndex 638 PASS event.target.result.key is testData[5] 639 PASS event.target.result.primaryKey is expectedIndex 640 PASS event.target.result.key is testData[4] 641 PASS event.target.result.primaryKey is expectedIndex 642 PASS event.target.result.key is testData[3] 643 PASS event.target.result.primaryKey is expectedIndex 644 644 PASS event.target.result.key is testData[2] 645 645 PASS event.target.result is null 646 646 647 647 Next test: lower bound is 1; upper open bound is 7; sorted descending. 648 PASS event.target.result. valueis expectedIndex649 PASS event.target.result.key is testData[5] 650 PASS event.target.result. valueis expectedIndex651 PASS event.target.result.key is testData[4] 652 PASS event.target.result. valueis expectedIndex653 PASS event.target.result.key is testData[3] 654 PASS event.target.result. valueis expectedIndex655 PASS event.target.result.key is testData[2] 656 PASS event.target.result. valueis expectedIndex657 PASS event.target.result.key is testData[1] 658 PASS event.target.result. valueis expectedIndex648 PASS event.target.result.primaryKey is expectedIndex 649 PASS event.target.result.key is testData[5] 650 PASS event.target.result.primaryKey is expectedIndex 651 PASS event.target.result.key is testData[4] 652 PASS event.target.result.primaryKey is expectedIndex 653 PASS event.target.result.key is testData[3] 654 PASS event.target.result.primaryKey is expectedIndex 655 PASS event.target.result.key is testData[2] 656 PASS event.target.result.primaryKey is expectedIndex 657 PASS event.target.result.key is testData[1] 658 PASS event.target.result.primaryKey is expectedIndex 659 659 PASS event.target.result.key is testData[0] 660 660 PASS event.target.result is null 661 661 662 662 Next test: lower bound is 1; upper bound is 7; sorted descending. 663 PASS event.target.result. valueis expectedIndex664 PASS event.target.result.key is testData[7] 665 PASS event.target.result. valueis expectedIndex666 PASS event.target.result.key is testData[6] 667 PASS event.target.result. valueis expectedIndex668 PASS event.target.result.key is testData[5] 669 PASS event.target.result. valueis expectedIndex670 PASS event.target.result.key is testData[4] 671 PASS event.target.result. valueis expectedIndex672 PASS event.target.result.key is testData[3] 673 PASS event.target.result. valueis expectedIndex674 PASS event.target.result.key is testData[2] 675 PASS event.target.result. valueis expectedIndex676 PASS event.target.result.key is testData[1] 677 PASS event.target.result. valueis expectedIndex663 PASS event.target.result.primaryKey is expectedIndex 664 PASS event.target.result.key is testData[7] 665 PASS event.target.result.primaryKey is expectedIndex 666 PASS event.target.result.key is testData[6] 667 PASS event.target.result.primaryKey is expectedIndex 668 PASS event.target.result.key is testData[5] 669 PASS event.target.result.primaryKey is expectedIndex 670 PASS event.target.result.key is testData[4] 671 PASS event.target.result.primaryKey is expectedIndex 672 PASS event.target.result.key is testData[3] 673 PASS event.target.result.primaryKey is expectedIndex 674 PASS event.target.result.key is testData[2] 675 PASS event.target.result.primaryKey is expectedIndex 676 PASS event.target.result.key is testData[1] 677 PASS event.target.result.primaryKey is expectedIndex 678 678 PASS event.target.result.key is testData[0] 679 679 PASS event.target.result is null 680 680 681 681 Next test: lower open bound is 2; sorted ascending. 682 PASS event.target.result. valueis expectedIndex683 PASS event.target.result.key is testData[4] 684 PASS event.target.result. valueis expectedIndex685 PASS event.target.result.key is testData[5] 686 PASS event.target.result. valueis expectedIndex687 PASS event.target.result.key is testData[6] 688 PASS event.target.result. valueis expectedIndex682 PASS event.target.result.primaryKey is expectedIndex 683 PASS event.target.result.key is testData[4] 684 PASS event.target.result.primaryKey is expectedIndex 685 PASS event.target.result.key is testData[5] 686 PASS event.target.result.primaryKey is expectedIndex 687 PASS event.target.result.key is testData[6] 688 PASS event.target.result.primaryKey is expectedIndex 689 689 PASS event.target.result.key is testData[7] 690 690 PASS event.target.result is null 691 691 692 692 Next test: lower bound is 2; sorted ascending. 693 PASS event.target.result. valueis expectedIndex694 PASS event.target.result.key is testData[2] 695 PASS event.target.result. valueis expectedIndex696 PASS event.target.result.key is testData[3] 697 PASS event.target.result. valueis expectedIndex698 PASS event.target.result.key is testData[4] 699 PASS event.target.result. valueis expectedIndex700 PASS event.target.result.key is testData[5] 701 PASS event.target.result. valueis expectedIndex702 PASS event.target.result.key is testData[6] 703 PASS event.target.result. valueis expectedIndex693 PASS event.target.result.primaryKey is expectedIndex 694 PASS event.target.result.key is testData[2] 695 PASS event.target.result.primaryKey is expectedIndex 696 PASS event.target.result.key is testData[3] 697 PASS event.target.result.primaryKey is expectedIndex 698 PASS event.target.result.key is testData[4] 699 PASS event.target.result.primaryKey is expectedIndex 700 PASS event.target.result.key is testData[5] 701 PASS event.target.result.primaryKey is expectedIndex 702 PASS event.target.result.key is testData[6] 703 PASS event.target.result.primaryKey is expectedIndex 704 704 PASS event.target.result.key is testData[7] 705 705 PASS event.target.result is null 706 706 707 707 Next test: upper open bound is 2; sorted ascending. 708 PASS event.target.result. valueis expectedIndex709 PASS event.target.result.key is testData[0] 710 PASS event.target.result. valueis expectedIndex708 PASS event.target.result.primaryKey is expectedIndex 709 PASS event.target.result.key is testData[0] 710 PASS event.target.result.primaryKey is expectedIndex 711 711 PASS event.target.result.key is testData[1] 712 712 PASS event.target.result is null 713 713 714 714 Next test: upper bound is 2; sorted ascending. 715 PASS event.target.result. valueis expectedIndex716 PASS event.target.result.key is testData[0] 717 PASS event.target.result. valueis expectedIndex718 PASS event.target.result.key is testData[1] 719 PASS event.target.result. valueis expectedIndex720 PASS event.target.result.key is testData[2] 721 PASS event.target.result. valueis expectedIndex715 PASS event.target.result.primaryKey is expectedIndex 716 PASS event.target.result.key is testData[0] 717 PASS event.target.result.primaryKey is expectedIndex 718 PASS event.target.result.key is testData[1] 719 PASS event.target.result.primaryKey is expectedIndex 720 PASS event.target.result.key is testData[2] 721 PASS event.target.result.primaryKey is expectedIndex 722 722 PASS event.target.result.key is testData[3] 723 723 PASS event.target.result is null 724 724 725 725 Next test: lower open bound is 2; sorted descending. 726 PASS event.target.result. valueis expectedIndex727 PASS event.target.result.key is testData[7] 728 PASS event.target.result. valueis expectedIndex729 PASS event.target.result.key is testData[6] 730 PASS event.target.result. valueis expectedIndex731 PASS event.target.result.key is testData[5] 732 PASS event.target.result. valueis expectedIndex726 PASS event.target.result.primaryKey is expectedIndex 727 PASS event.target.result.key is testData[7] 728 PASS event.target.result.primaryKey is expectedIndex 729 PASS event.target.result.key is testData[6] 730 PASS event.target.result.primaryKey is expectedIndex 731 PASS event.target.result.key is testData[5] 732 PASS event.target.result.primaryKey is expectedIndex 733 733 PASS event.target.result.key is testData[4] 734 734 PASS event.target.result is null 735 735 736 736 Next test: lower bound is 2; sorted descending. 737 PASS event.target.result. valueis expectedIndex738 PASS event.target.result.key is testData[7] 739 PASS event.target.result. valueis expectedIndex740 PASS event.target.result.key is testData[6] 741 PASS event.target.result. valueis expectedIndex742 PASS event.target.result.key is testData[5] 743 PASS event.target.result. valueis expectedIndex744 PASS event.target.result.key is testData[4] 745 PASS event.target.result. valueis expectedIndex746 PASS event.target.result.key is testData[3] 747 PASS event.target.result. valueis expectedIndex737 PASS event.target.result.primaryKey is expectedIndex 738 PASS event.target.result.key is testData[7] 739 PASS event.target.result.primaryKey is expectedIndex 740 PASS event.target.result.key is testData[6] 741 PASS event.target.result.primaryKey is expectedIndex 742 PASS event.target.result.key is testData[5] 743 PASS event.target.result.primaryKey is expectedIndex 744 PASS event.target.result.key is testData[4] 745 PASS event.target.result.primaryKey is expectedIndex 746 PASS event.target.result.key is testData[3] 747 PASS event.target.result.primaryKey is expectedIndex 748 748 PASS event.target.result.key is testData[2] 749 749 PASS event.target.result is null 750 750 751 751 Next test: upper open bound is 2; sorted descending. 752 PASS event.target.result. valueis expectedIndex753 PASS event.target.result.key is testData[1] 754 PASS event.target.result. valueis expectedIndex752 PASS event.target.result.primaryKey is expectedIndex 753 PASS event.target.result.key is testData[1] 754 PASS event.target.result.primaryKey is expectedIndex 755 755 PASS event.target.result.key is testData[0] 756 756 PASS event.target.result is null 757 757 758 758 Next test: upper bound is 2; sorted descending. 759 PASS event.target.result. valueis expectedIndex760 PASS event.target.result.key is testData[3] 761 PASS event.target.result. valueis expectedIndex762 PASS event.target.result.key is testData[2] 763 PASS event.target.result. valueis expectedIndex764 PASS event.target.result.key is testData[1] 765 PASS event.target.result. valueis expectedIndex759 PASS event.target.result.primaryKey is expectedIndex 760 PASS event.target.result.key is testData[3] 761 PASS event.target.result.primaryKey is expectedIndex 762 PASS event.target.result.key is testData[2] 763 PASS event.target.result.primaryKey is expectedIndex 764 PASS event.target.result.key is testData[1] 765 PASS event.target.result.primaryKey is expectedIndex 766 766 PASS event.target.result.key is testData[0] 767 767 PASS event.target.result is null 768 768 769 769 Next test: lower open bound is 2; upper open bound is 6; sorted ascending. 770 PASS event.target.result. valueis expectedIndex771 PASS event.target.result.key is testData[4] 772 PASS event.target.result. valueis expectedIndex770 PASS event.target.result.primaryKey is expectedIndex 771 PASS event.target.result.key is testData[4] 772 PASS event.target.result.primaryKey is expectedIndex 773 773 PASS event.target.result.key is testData[5] 774 774 PASS event.target.result is null 775 775 776 776 Next test: lower open bound is 2; upper bound is 6; sorted ascending. 777 PASS event.target.result. valueis expectedIndex778 PASS event.target.result.key is testData[4] 779 PASS event.target.result. valueis expectedIndex780 PASS event.target.result.key is testData[5] 781 PASS event.target.result. valueis expectedIndex782 PASS event.target.result.key is testData[6] 783 PASS event.target.result. valueis expectedIndex777 PASS event.target.result.primaryKey is expectedIndex 778 PASS event.target.result.key is testData[4] 779 PASS event.target.result.primaryKey is expectedIndex 780 PASS event.target.result.key is testData[5] 781 PASS event.target.result.primaryKey is expectedIndex 782 PASS event.target.result.key is testData[6] 783 PASS event.target.result.primaryKey is expectedIndex 784 784 PASS event.target.result.key is testData[7] 785 785 PASS event.target.result is null 786 786 787 787 Next test: lower bound is 2; upper open bound is 6; sorted ascending. 788 PASS event.target.result. valueis expectedIndex789 PASS event.target.result.key is testData[2] 790 PASS event.target.result. valueis expectedIndex791 PASS event.target.result.key is testData[3] 792 PASS event.target.result. valueis expectedIndex793 PASS event.target.result.key is testData[4] 794 PASS event.target.result. valueis expectedIndex788 PASS event.target.result.primaryKey is expectedIndex 789 PASS event.target.result.key is testData[2] 790 PASS event.target.result.primaryKey is expectedIndex 791 PASS event.target.result.key is testData[3] 792 PASS event.target.result.primaryKey is expectedIndex 793 PASS event.target.result.key is testData[4] 794 PASS event.target.result.primaryKey is expectedIndex 795 795 PASS event.target.result.key is testData[5] 796 796 PASS event.target.result is null 797 797 798 798 Next test: lower bound is 2; upper bound is 6; sorted ascending. 799 PASS event.target.result. valueis expectedIndex800 PASS event.target.result.key is testData[2] 801 PASS event.target.result. valueis expectedIndex802 PASS event.target.result.key is testData[3] 803 PASS event.target.result. valueis expectedIndex804 PASS event.target.result.key is testData[4] 805 PASS event.target.result. valueis expectedIndex806 PASS event.target.result.key is testData[5] 807 PASS event.target.result. valueis expectedIndex808 PASS event.target.result.key is testData[6] 809 PASS event.target.result. valueis expectedIndex799 PASS event.target.result.primaryKey is expectedIndex 800 PASS event.target.result.key is testData[2] 801 PASS event.target.result.primaryKey is expectedIndex 802 PASS event.target.result.key is testData[3] 803 PASS event.target.result.primaryKey is expectedIndex 804 PASS event.target.result.key is testData[4] 805 PASS event.target.result.primaryKey is expectedIndex 806 PASS event.target.result.key is testData[5] 807 PASS event.target.result.primaryKey is expectedIndex 808 PASS event.target.result.key is testData[6] 809 PASS event.target.result.primaryKey is expectedIndex 810 810 PASS event.target.result.key is testData[7] 811 811 PASS event.target.result is null 812 812 813 813 Next test: lower open bound is 2; upper open bound is 6; sorted descending. 814 PASS event.target.result. valueis expectedIndex815 PASS event.target.result.key is testData[5] 816 PASS event.target.result. valueis expectedIndex814 PASS event.target.result.primaryKey is expectedIndex 815 PASS event.target.result.key is testData[5] 816 PASS event.target.result.primaryKey is expectedIndex 817 817 PASS event.target.result.key is testData[4] 818 818 PASS event.target.result is null 819 819 820 820 Next test: lower open bound is 2; upper bound is 6; sorted descending. 821 PASS event.target.result. valueis expectedIndex822 PASS event.target.result.key is testData[7] 823 PASS event.target.result. valueis expectedIndex824 PASS event.target.result.key is testData[6] 825 PASS event.target.result. valueis expectedIndex826 PASS event.target.result.key is testData[5] 827 PASS event.target.result. valueis expectedIndex821 PASS event.target.result.primaryKey is expectedIndex 822 PASS event.target.result.key is testData[7] 823 PASS event.target.result.primaryKey is expectedIndex 824 PASS event.target.result.key is testData[6] 825 PASS event.target.result.primaryKey is expectedIndex 826 PASS event.target.result.key is testData[5] 827 PASS event.target.result.primaryKey is expectedIndex 828 828 PASS event.target.result.key is testData[4] 829 829 PASS event.target.result is null 830 830 831 831 Next test: lower bound is 2; upper open bound is 6; sorted descending. 832 PASS event.target.result. valueis expectedIndex833 PASS event.target.result.key is testData[5] 834 PASS event.target.result. valueis expectedIndex835 PASS event.target.result.key is testData[4] 836 PASS event.target.result. valueis expectedIndex837 PASS event.target.result.key is testData[3] 838 PASS event.target.result. valueis expectedIndex832 PASS event.target.result.primaryKey is expectedIndex 833 PASS event.target.result.key is testData[5] 834 PASS event.target.result.primaryKey is expectedIndex 835 PASS event.target.result.key is testData[4] 836 PASS event.target.result.primaryKey is expectedIndex 837 PASS event.target.result.key is testData[3] 838 PASS event.target.result.primaryKey is expectedIndex 839 839 PASS event.target.result.key is testData[2] 840 840 PASS event.target.result is null 841 841 842 842 Next test: lower bound is 2; upper bound is 6; sorted descending. 843 PASS event.target.result. valueis expectedIndex844 PASS event.target.result.key is testData[7] 845 PASS event.target.result. valueis expectedIndex846 PASS event.target.result.key is testData[6] 847 PASS event.target.result. valueis expectedIndex848 PASS event.target.result.key is testData[5] 849 PASS event.target.result. valueis expectedIndex850 PASS event.target.result.key is testData[4] 851 PASS event.target.result. valueis expectedIndex852 PASS event.target.result.key is testData[3] 853 PASS event.target.result. valueis expectedIndex843 PASS event.target.result.primaryKey is expectedIndex 844 PASS event.target.result.key is testData[7] 845 PASS event.target.result.primaryKey is expectedIndex 846 PASS event.target.result.key is testData[6] 847 PASS event.target.result.primaryKey is expectedIndex 848 PASS event.target.result.key is testData[5] 849 PASS event.target.result.primaryKey is expectedIndex 850 PASS event.target.result.key is testData[4] 851 PASS event.target.result.primaryKey is expectedIndex 852 PASS event.target.result.key is testData[3] 853 PASS event.target.result.primaryKey is expectedIndex 854 854 PASS event.target.result.key is testData[2] 855 855 PASS event.target.result is null 856 856 857 857 Next test: lower open bound is 2; upper open bound is 7; sorted ascending. 858 PASS event.target.result. valueis expectedIndex859 PASS event.target.result.key is testData[4] 860 PASS event.target.result. valueis expectedIndex858 PASS event.target.result.primaryKey is expectedIndex 859 PASS event.target.result.key is testData[4] 860 PASS event.target.result.primaryKey is expectedIndex 861 861 PASS event.target.result.key is testData[5] 862 862 PASS event.target.result is null 863 863 864 864 Next test: lower open bound is 2; upper bound is 7; sorted ascending. 865 PASS event.target.result. valueis expectedIndex866 PASS event.target.result.key is testData[4] 867 PASS event.target.result. valueis expectedIndex868 PASS event.target.result.key is testData[5] 869 PASS event.target.result. valueis expectedIndex870 PASS event.target.result.key is testData[6] 871 PASS event.target.result. valueis expectedIndex865 PASS event.target.result.primaryKey is expectedIndex 866 PASS event.target.result.key is testData[4] 867 PASS event.target.result.primaryKey is expectedIndex 868 PASS event.target.result.key is testData[5] 869 PASS event.target.result.primaryKey is expectedIndex 870 PASS event.target.result.key is testData[6] 871 PASS event.target.result.primaryKey is expectedIndex 872 872 PASS event.target.result.key is testData[7] 873 873 PASS event.target.result is null 874 874 875 875 Next test: lower bound is 2; upper open bound is 7; sorted ascending. 876 PASS event.target.result. valueis expectedIndex877 PASS event.target.result.key is testData[2] 878 PASS event.target.result. valueis expectedIndex879 PASS event.target.result.key is testData[3] 880 PASS event.target.result. valueis expectedIndex881 PASS event.target.result.key is testData[4] 882 PASS event.target.result. valueis expectedIndex876 PASS event.target.result.primaryKey is expectedIndex 877 PASS event.target.result.key is testData[2] 878 PASS event.target.result.primaryKey is expectedIndex 879 PASS event.target.result.key is testData[3] 880 PASS event.target.result.primaryKey is expectedIndex 881 PASS event.target.result.key is testData[4] 882 PASS event.target.result.primaryKey is expectedIndex 883 883 PASS event.target.result.key is testData[5] 884 884 PASS event.target.result is null 885 885 886 886 Next test: lower bound is 2; upper bound is 7; sorted ascending. 887 PASS event.target.result. valueis expectedIndex888 PASS event.target.result.key is testData[2] 889 PASS event.target.result. valueis expectedIndex890 PASS event.target.result.key is testData[3] 891 PASS event.target.result. valueis expectedIndex892 PASS event.target.result.key is testData[4] 893 PASS event.target.result. valueis expectedIndex894 PASS event.target.result.key is testData[5] 895 PASS event.target.result. valueis expectedIndex896 PASS event.target.result.key is testData[6] 897 PASS event.target.result. valueis expectedIndex887 PASS event.target.result.primaryKey is expectedIndex 888 PASS event.target.result.key is testData[2] 889 PASS event.target.result.primaryKey is expectedIndex 890 PASS event.target.result.key is testData[3] 891 PASS event.target.result.primaryKey is expectedIndex 892 PASS event.target.result.key is testData[4] 893 PASS event.target.result.primaryKey is expectedIndex 894 PASS event.target.result.key is testData[5] 895 PASS event.target.result.primaryKey is expectedIndex 896 PASS event.target.result.key is testData[6] 897 PASS event.target.result.primaryKey is expectedIndex 898 898 PASS event.target.result.key is testData[7] 899 899 PASS event.target.result is null 900 900 901 901 Next test: lower open bound is 2; upper open bound is 7; sorted descending. 902 PASS event.target.result. valueis expectedIndex903 PASS event.target.result.key is testData[5] 904 PASS event.target.result. valueis expectedIndex902 PASS event.target.result.primaryKey is expectedIndex 903 PASS event.target.result.key is testData[5] 904 PASS event.target.result.primaryKey is expectedIndex 905 905 PASS event.target.result.key is testData[4] 906 906 PASS event.target.result is null 907 907 908 908 Next test: lower open bound is 2; upper bound is 7; sorted descending. 909 PASS event.target.result. valueis expectedIndex910 PASS event.target.result.key is testData[7] 911 PASS event.target.result. valueis expectedIndex912 PASS event.target.result.key is testData[6] 913 PASS event.target.result. valueis expectedIndex914 PASS event.target.result.key is testData[5] 915 PASS event.target.result. valueis expectedIndex909 PASS event.target.result.primaryKey is expectedIndex 910 PASS event.target.result.key is testData[7] 911 PASS event.target.result.primaryKey is expectedIndex 912 PASS event.target.result.key is testData[6] 913 PASS event.target.result.primaryKey is expectedIndex 914 PASS event.target.result.key is testData[5] 915 PASS event.target.result.primaryKey is expectedIndex 916 916 PASS event.target.result.key is testData[4] 917 917 PASS event.target.result is null 918 918 919 919 Next test: lower bound is 2; upper open bound is 7; sorted descending. 920 PASS event.target.result. valueis expectedIndex921 PASS event.target.result.key is testData[5] 922 PASS event.target.result. valueis expectedIndex923 PASS event.target.result.key is testData[4] 924 PASS event.target.result. valueis expectedIndex925 PASS event.target.result.key is testData[3] 926 PASS event.target.result. valueis expectedIndex920 PASS event.target.result.primaryKey is expectedIndex 921 PASS event.target.result.key is testData[5] 922 PASS event.target.result.primaryKey is expectedIndex 923 PASS event.target.result.key is testData[4] 924 PASS event.target.result.primaryKey is expectedIndex 925 PASS event.target.result.key is testData[3] 926 PASS event.target.result.primaryKey is expectedIndex 927 927 PASS event.target.result.key is testData[2] 928 928 PASS event.target.result is null 929 929 930 930 Next test: lower bound is 2; upper bound is 7; sorted descending. 931 PASS event.target.result. valueis expectedIndex932 PASS event.target.result.key is testData[7] 933 PASS event.target.result. valueis expectedIndex934 PASS event.target.result.key is testData[6] 935 PASS event.target.result. valueis expectedIndex936 PASS event.target.result.key is testData[5] 937 PASS event.target.result. valueis expectedIndex938 PASS event.target.result.key is testData[4] 939 PASS event.target.result. valueis expectedIndex940 PASS event.target.result.key is testData[3] 941 PASS event.target.result. valueis expectedIndex931 PASS event.target.result.primaryKey is expectedIndex 932 PASS event.target.result.key is testData[7] 933 PASS event.target.result.primaryKey is expectedIndex 934 PASS event.target.result.key is testData[6] 935 PASS event.target.result.primaryKey is expectedIndex 936 PASS event.target.result.key is testData[5] 937 PASS event.target.result.primaryKey is expectedIndex 938 PASS event.target.result.key is testData[4] 939 PASS event.target.result.primaryKey is expectedIndex 940 PASS event.target.result.key is testData[3] 941 PASS event.target.result.primaryKey is expectedIndex 942 942 PASS event.target.result.key is testData[2] 943 943 PASS event.target.result is null 944 944 945 945 Next test: lower open bound is 3; sorted ascending. 946 PASS event.target.result. valueis expectedIndex947 PASS event.target.result.key is testData[4] 948 PASS event.target.result. valueis expectedIndex949 PASS event.target.result.key is testData[5] 950 PASS event.target.result. valueis expectedIndex951 PASS event.target.result.key is testData[6] 952 PASS event.target.result. valueis expectedIndex946 PASS event.target.result.primaryKey is expectedIndex 947 PASS event.target.result.key is testData[4] 948 PASS event.target.result.primaryKey is expectedIndex 949 PASS event.target.result.key is testData[5] 950 PASS event.target.result.primaryKey is expectedIndex 951 PASS event.target.result.key is testData[6] 952 PASS event.target.result.primaryKey is expectedIndex 953 953 PASS event.target.result.key is testData[7] 954 954 PASS event.target.result is null 955 955 956 956 Next test: lower bound is 3; sorted ascending. 957 PASS event.target.result. valueis expectedIndex958 PASS event.target.result.key is testData[2] 959 PASS event.target.result. valueis expectedIndex960 PASS event.target.result.key is testData[3] 961 PASS event.target.result. valueis expectedIndex962 PASS event.target.result.key is testData[4] 963 PASS event.target.result. valueis expectedIndex964 PASS event.target.result.key is testData[5] 965 PASS event.target.result. valueis expectedIndex966 PASS event.target.result.key is testData[6] 967 PASS event.target.result. valueis expectedIndex957 PASS event.target.result.primaryKey is expectedIndex 958 PASS event.target.result.key is testData[2] 959 PASS event.target.result.primaryKey is expectedIndex 960 PASS event.target.result.key is testData[3] 961 PASS event.target.result.primaryKey is expectedIndex 962 PASS event.target.result.key is testData[4] 963 PASS event.target.result.primaryKey is expectedIndex 964 PASS event.target.result.key is testData[5] 965 PASS event.target.result.primaryKey is expectedIndex 966 PASS event.target.result.key is testData[6] 967 PASS event.target.result.primaryKey is expectedIndex 968 968 PASS event.target.result.key is testData[7] 969 969 PASS event.target.result is null 970 970 971 971 Next test: upper open bound is 3; sorted ascending. 972 PASS event.target.result. valueis expectedIndex973 PASS event.target.result.key is testData[0] 974 PASS event.target.result. valueis expectedIndex972 PASS event.target.result.primaryKey is expectedIndex 973 PASS event.target.result.key is testData[0] 974 PASS event.target.result.primaryKey is expectedIndex 975 975 PASS event.target.result.key is testData[1] 976 976 PASS event.target.result is null 977 977 978 978 Next test: upper bound is 3; sorted ascending. 979 PASS event.target.result. valueis expectedIndex980 PASS event.target.result.key is testData[0] 981 PASS event.target.result. valueis expectedIndex982 PASS event.target.result.key is testData[1] 983 PASS event.target.result. valueis expectedIndex984 PASS event.target.result.key is testData[2] 985 PASS event.target.result. valueis expectedIndex979 PASS event.target.result.primaryKey is expectedIndex 980 PASS event.target.result.key is testData[0] 981 PASS event.target.result.primaryKey is expectedIndex 982 PASS event.target.result.key is testData[1] 983 PASS event.target.result.primaryKey is expectedIndex 984 PASS event.target.result.key is testData[2] 985 PASS event.target.result.primaryKey is expectedIndex 986 986 PASS event.target.result.key is testData[3] 987 987 PASS event.target.result is null 988 988 989 989 Next test: lower open bound is 3; sorted descending. 990 PASS event.target.result. valueis expectedIndex991 PASS event.target.result.key is testData[7] 992 PASS event.target.result. valueis expectedIndex993 PASS event.target.result.key is testData[6] 994 PASS event.target.result. valueis expectedIndex995 PASS event.target.result.key is testData[5] 996 PASS event.target.result. valueis expectedIndex990 PASS event.target.result.primaryKey is expectedIndex 991 PASS event.target.result.key is testData[7] 992 PASS event.target.result.primaryKey is expectedIndex 993 PASS event.target.result.key is testData[6] 994 PASS event.target.result.primaryKey is expectedIndex 995 PASS event.target.result.key is testData[5] 996 PASS event.target.result.primaryKey is expectedIndex 997 997 PASS event.target.result.key is testData[4] 998 998 PASS event.target.result is null 999 999 1000 1000 Next test: lower bound is 3; sorted descending. 1001 PASS event.target.result. valueis expectedIndex1002 PASS event.target.result.key is testData[7] 1003 PASS event.target.result. valueis expectedIndex1004 PASS event.target.result.key is testData[6] 1005 PASS event.target.result. valueis expectedIndex1006 PASS event.target.result.key is testData[5] 1007 PASS event.target.result. valueis expectedIndex1008 PASS event.target.result.key is testData[4] 1009 PASS event.target.result. valueis expectedIndex1010 PASS event.target.result.key is testData[3] 1011 PASS event.target.result. valueis expectedIndex1001 PASS event.target.result.primaryKey is expectedIndex 1002 PASS event.target.result.key is testData[7] 1003 PASS event.target.result.primaryKey is expectedIndex 1004 PASS event.target.result.key is testData[6] 1005 PASS event.target.result.primaryKey is expectedIndex 1006 PASS event.target.result.key is testData[5] 1007 PASS event.target.result.primaryKey is expectedIndex 1008 PASS event.target.result.key is testData[4] 1009 PASS event.target.result.primaryKey is expectedIndex 1010 PASS event.target.result.key is testData[3] 1011 PASS event.target.result.primaryKey is expectedIndex 1012 1012 PASS event.target.result.key is testData[2] 1013 1013 PASS event.target.result is null 1014 1014 1015 1015 Next test: upper open bound is 3; sorted descending. 1016 PASS event.target.result. valueis expectedIndex1017 PASS event.target.result.key is testData[1] 1018 PASS event.target.result. valueis expectedIndex1016 PASS event.target.result.primaryKey is expectedIndex 1017 PASS event.target.result.key is testData[1] 1018 PASS event.target.result.primaryKey is expectedIndex 1019 1019 PASS event.target.result.key is testData[0] 1020 1020 PASS event.target.result is null 1021 1021 1022 1022 Next test: upper bound is 3; sorted descending. 1023 PASS event.target.result. valueis expectedIndex1024 PASS event.target.result.key is testData[3] 1025 PASS event.target.result. valueis expectedIndex1026 PASS event.target.result.key is testData[2] 1027 PASS event.target.result. valueis expectedIndex1028 PASS event.target.result.key is testData[1] 1029 PASS event.target.result. valueis expectedIndex1023 PASS event.target.result.primaryKey is expectedIndex 1024 PASS event.target.result.key is testData[3] 1025 PASS event.target.result.primaryKey is expectedIndex 1026 PASS event.target.result.key is testData[2] 1027 PASS event.target.result.primaryKey is expectedIndex 1028 PASS event.target.result.key is testData[1] 1029 PASS event.target.result.primaryKey is expectedIndex 1030 1030 PASS event.target.result.key is testData[0] 1031 1031 PASS event.target.result is null 1032 1032 1033 1033 Next test: lower open bound is 3; upper open bound is 6; sorted ascending. 1034 PASS event.target.result. valueis expectedIndex1035 PASS event.target.result.key is testData[4] 1036 PASS event.target.result. valueis expectedIndex1034 PASS event.target.result.primaryKey is expectedIndex 1035 PASS event.target.result.key is testData[4] 1036 PASS event.target.result.primaryKey is expectedIndex 1037 1037 PASS event.target.result.key is testData[5] 1038 1038 PASS event.target.result is null 1039 1039 1040 1040 Next test: lower open bound is 3; upper bound is 6; sorted ascending. 1041 PASS event.target.result. valueis expectedIndex1042 PASS event.target.result.key is testData[4] 1043 PASS event.target.result. valueis expectedIndex1044 PASS event.target.result.key is testData[5] 1045 PASS event.target.result. valueis expectedIndex1046 PASS event.target.result.key is testData[6] 1047 PASS event.target.result. valueis expectedIndex1041 PASS event.target.result.primaryKey is expectedIndex 1042 PASS event.target.result.key is testData[4] 1043 PASS event.target.result.primaryKey is expectedIndex 1044 PASS event.target.result.key is testData[5] 1045 PASS event.target.result.primaryKey is expectedIndex 1046 PASS event.target.result.key is testData[6] 1047 PASS event.target.result.primaryKey is expectedIndex 1048 1048 PASS event.target.result.key is testData[7] 1049 1049 PASS event.target.result is null 1050 1050 1051 1051 Next test: lower bound is 3; upper open bound is 6; sorted ascending. 1052 PASS event.target.result. valueis expectedIndex1053 PASS event.target.result.key is testData[2] 1054 PASS event.target.result. valueis expectedIndex1055 PASS event.target.result.key is testData[3] 1056 PASS event.target.result. valueis expectedIndex1057 PASS event.target.result.key is testData[4] 1058 PASS event.target.result. valueis expectedIndex1052 PASS event.target.result.primaryKey is expectedIndex 1053 PASS event.target.result.key is testData[2] 1054 PASS event.target.result.primaryKey is expectedIndex 1055 PASS event.target.result.key is testData[3] 1056 PASS event.target.result.primaryKey is expectedIndex 1057 PASS event.target.result.key is testData[4] 1058 PASS event.target.result.primaryKey is expectedIndex 1059 1059 PASS event.target.result.key is testData[5] 1060 1060 PASS event.target.result is null 1061 1061 1062 1062 Next test: lower bound is 3; upper bound is 6; sorted ascending. 1063 PASS event.target.result. valueis expectedIndex1064 PASS event.target.result.key is testData[2] 1065 PASS event.target.result. valueis expectedIndex1066 PASS event.target.result.key is testData[3] 1067 PASS event.target.result. valueis expectedIndex1068 PASS event.target.result.key is testData[4] 1069 PASS event.target.result. valueis expectedIndex1070 PASS event.target.result.key is testData[5] 1071 PASS event.target.result. valueis expectedIndex1072 PASS event.target.result.key is testData[6] 1073 PASS event.target.result. valueis expectedIndex1063 PASS event.target.result.primaryKey is expectedIndex 1064 PASS event.target.result.key is testData[2] 1065 PASS event.target.result.primaryKey is expectedIndex 1066 PASS event.target.result.key is testData[3] 1067 PASS event.target.result.primaryKey is expectedIndex 1068 PASS event.target.result.key is testData[4] 1069 PASS event.target.result.primaryKey is expectedIndex 1070 PASS event.target.result.key is testData[5] 1071 PASS event.target.result.primaryKey is expectedIndex 1072 PASS event.target.result.key is testData[6] 1073 PASS event.target.result.primaryKey is expectedIndex 1074 1074 PASS event.target.result.key is testData[7] 1075 1075 PASS event.target.result is null 1076 1076 1077 1077 Next test: lower open bound is 3; upper open bound is 6; sorted descending. 1078 PASS event.target.result. valueis expectedIndex1079 PASS event.target.result.key is testData[5] 1080 PASS event.target.result. valueis expectedIndex1078 PASS event.target.result.primaryKey is expectedIndex 1079 PASS event.target.result.key is testData[5] 1080 PASS event.target.result.primaryKey is expectedIndex 1081 1081 PASS event.target.result.key is testData[4] 1082 1082 PASS event.target.result is null 1083 1083 1084 1084 Next test: lower open bound is 3; upper bound is 6; sorted descending. 1085 PASS event.target.result. valueis expectedIndex1086 PASS event.target.result.key is testData[7] 1087 PASS event.target.result. valueis expectedIndex1088 PASS event.target.result.key is testData[6] 1089 PASS event.target.result. valueis expectedIndex1090 PASS event.target.result.key is testData[5] 1091 PASS event.target.result. valueis expectedIndex1085 PASS event.target.result.primaryKey is expectedIndex 1086 PASS event.target.result.key is testData[7] 1087 PASS event.target.result.primaryKey is expectedIndex 1088 PASS event.target.result.key is testData[6] 1089 PASS event.target.result.primaryKey is expectedIndex 1090 PASS event.target.result.key is testData[5] 1091 PASS event.target.result.primaryKey is expectedIndex 1092 1092 PASS event.target.result.key is testData[4] 1093 1093 PASS event.target.result is null 1094 1094 1095 1095 Next test: lower bound is 3; upper open bound is 6; sorted descending. 1096 PASS event.target.result. valueis expectedIndex1097 PASS event.target.result.key is testData[5] 1098 PASS event.target.result. valueis expectedIndex1099 PASS event.target.result.key is testData[4] 1100 PASS event.target.result. valueis expectedIndex1101 PASS event.target.result.key is testData[3] 1102 PASS event.target.result. valueis expectedIndex1096 PASS event.target.result.primaryKey is expectedIndex 1097 PASS event.target.result.key is testData[5] 1098 PASS event.target.result.primaryKey is expectedIndex 1099 PASS event.target.result.key is testData[4] 1100 PASS event.target.result.primaryKey is expectedIndex 1101 PASS event.target.result.key is testData[3] 1102 PASS event.target.result.primaryKey is expectedIndex 1103 1103 PASS event.target.result.key is testData[2] 1104 1104 PASS event.target.result is null 1105 1105 1106 1106 Next test: lower bound is 3; upper bound is 6; sorted descending. 1107 PASS event.target.result. valueis expectedIndex1108 PASS event.target.result.key is testData[7] 1109 PASS event.target.result. valueis expectedIndex1110 PASS event.target.result.key is testData[6] 1111 PASS event.target.result. valueis expectedIndex1112 PASS event.target.result.key is testData[5] 1113 PASS event.target.result. valueis expectedIndex1114 PASS event.target.result.key is testData[4] 1115 PASS event.target.result. valueis expectedIndex1116 PASS event.target.result.key is testData[3] 1117 PASS event.target.result. valueis expectedIndex1107 PASS event.target.result.primaryKey is expectedIndex 1108 PASS event.target.result.key is testData[7] 1109 PASS event.target.result.primaryKey is expectedIndex 1110 PASS event.target.result.key is testData[6] 1111 PASS event.target.result.primaryKey is expectedIndex 1112 PASS event.target.result.key is testData[5] 1113 PASS event.target.result.primaryKey is expectedIndex 1114 PASS event.target.result.key is testData[4] 1115 PASS event.target.result.primaryKey is expectedIndex 1116 PASS event.target.result.key is testData[3] 1117 PASS event.target.result.primaryKey is expectedIndex 1118 1118 PASS event.target.result.key is testData[2] 1119 1119 PASS event.target.result is null 1120 1120 1121 1121 Next test: lower open bound is 3; upper open bound is 7; sorted ascending. 1122 PASS event.target.result. valueis expectedIndex1123 PASS event.target.result.key is testData[4] 1124 PASS event.target.result. valueis expectedIndex1122 PASS event.target.result.primaryKey is expectedIndex 1123 PASS event.target.result.key is testData[4] 1124 PASS event.target.result.primaryKey is expectedIndex 1125 1125 PASS event.target.result.key is testData[5] 1126 1126 PASS event.target.result is null 1127 1127 1128 1128 Next test: lower open bound is 3; upper bound is 7; sorted ascending. 1129 PASS event.target.result. valueis expectedIndex1130 PASS event.target.result.key is testData[4] 1131 PASS event.target.result. valueis expectedIndex1132 PASS event.target.result.key is testData[5] 1133 PASS event.target.result. valueis expectedIndex1134 PASS event.target.result.key is testData[6] 1135 PASS event.target.result. valueis expectedIndex1129 PASS event.target.result.primaryKey is expectedIndex 1130 PASS event.target.result.key is testData[4] 1131 PASS event.target.result.primaryKey is expectedIndex 1132 PASS event.target.result.key is testData[5] 1133 PASS event.target.result.primaryKey is expectedIndex 1134 PASS event.target.result.key is testData[6] 1135 PASS event.target.result.primaryKey is expectedIndex 1136 1136 PASS event.target.result.key is testData[7] 1137 1137 PASS event.target.result is null 1138 1138 1139 1139 Next test: lower bound is 3; upper open bound is 7; sorted ascending. 1140 PASS event.target.result. valueis expectedIndex1141 PASS event.target.result.key is testData[2] 1142 PASS event.target.result. valueis expectedIndex1143 PASS event.target.result.key is testData[3] 1144 PASS event.target.result. valueis expectedIndex1145 PASS event.target.result.key is testData[4] 1146 PASS event.target.result. valueis expectedIndex1140 PASS event.target.result.primaryKey is expectedIndex 1141 PASS event.target.result.key is testData[2] 1142 PASS event.target.result.primaryKey is expectedIndex 1143 PASS event.target.result.key is testData[3] 1144 PASS event.target.result.primaryKey is expectedIndex 1145 PASS event.target.result.key is testData[4] 1146 PASS event.target.result.primaryKey is expectedIndex 1147 1147 PASS event.target.result.key is testData[5] 1148 1148 PASS event.target.result is null 1149 1149 1150 1150 Next test: lower bound is 3; upper bound is 7; sorted ascending. 1151 PASS event.target.result. valueis expectedIndex1152 PASS event.target.result.key is testData[2] 1153 PASS event.target.result. valueis expectedIndex1154 PASS event.target.result.key is testData[3] 1155 PASS event.target.result. valueis expectedIndex1156 PASS event.target.result.key is testData[4] 1157 PASS event.target.result. valueis expectedIndex1158 PASS event.target.result.key is testData[5] 1159 PASS event.target.result. valueis expectedIndex1160 PASS event.target.result.key is testData[6] 1161 PASS event.target.result. valueis expectedIndex1151 PASS event.target.result.primaryKey is expectedIndex 1152 PASS event.target.result.key is testData[2] 1153 PASS event.target.result.primaryKey is expectedIndex 1154 PASS event.target.result.key is testData[3] 1155 PASS event.target.result.primaryKey is expectedIndex 1156 PASS event.target.result.key is testData[4] 1157 PASS event.target.result.primaryKey is expectedIndex 1158 PASS event.target.result.key is testData[5] 1159 PASS event.target.result.primaryKey is expectedIndex 1160 PASS event.target.result.key is testData[6] 1161 PASS event.target.result.primaryKey is expectedIndex 1162 1162 PASS event.target.result.key is testData[7] 1163 1163 PASS event.target.result is null 1164 1164 1165 1165 Next test: lower open bound is 3; upper open bound is 7; sorted descending. 1166 PASS event.target.result. valueis expectedIndex1167 PASS event.target.result.key is testData[5] 1168 PASS event.target.result. valueis expectedIndex1166 PASS event.target.result.primaryKey is expectedIndex 1167 PASS event.target.result.key is testData[5] 1168 PASS event.target.result.primaryKey is expectedIndex 1169 1169 PASS event.target.result.key is testData[4] 1170 1170 PASS event.target.result is null 1171 1171 1172 1172 Next test: lower open bound is 3; upper bound is 7; sorted descending. 1173 PASS event.target.result. valueis expectedIndex1174 PASS event.target.result.key is testData[7] 1175 PASS event.target.result. valueis expectedIndex1176 PASS event.target.result.key is testData[6] 1177 PASS event.target.result. valueis expectedIndex1178 PASS event.target.result.key is testData[5] 1179 PASS event.target.result. valueis expectedIndex1173 PASS event.target.result.primaryKey is expectedIndex 1174 PASS event.target.result.key is testData[7] 1175 PASS event.target.result.primaryKey is expectedIndex 1176 PASS event.target.result.key is testData[6] 1177 PASS event.target.result.primaryKey is expectedIndex 1178 PASS event.target.result.key is testData[5] 1179 PASS event.target.result.primaryKey is expectedIndex 1180 1180 PASS event.target.result.key is testData[4] 1181 1181 PASS event.target.result is null 1182 1182 1183 1183 Next test: lower bound is 3; upper open bound is 7; sorted descending. 1184 PASS event.target.result. valueis expectedIndex1185 PASS event.target.result.key is testData[5] 1186 PASS event.target.result. valueis expectedIndex1187 PASS event.target.result.key is testData[4] 1188 PASS event.target.result. valueis expectedIndex1189 PASS event.target.result.key is testData[3] 1190 PASS event.target.result. valueis expectedIndex1184 PASS event.target.result.primaryKey is expectedIndex 1185 PASS event.target.result.key is testData[5] 1186 PASS event.target.result.primaryKey is expectedIndex 1187 PASS event.target.result.key is testData[4] 1188 PASS event.target.result.primaryKey is expectedIndex 1189 PASS event.target.result.key is testData[3] 1190 PASS event.target.result.primaryKey is expectedIndex 1191 1191 PASS event.target.result.key is testData[2] 1192 1192 PASS event.target.result is null 1193 1193 1194 1194 Next test: lower bound is 3; upper bound is 7; sorted descending. 1195 PASS event.target.result. valueis expectedIndex1196 PASS event.target.result.key is testData[7] 1197 PASS event.target.result. valueis expectedIndex1198 PASS event.target.result.key is testData[6] 1199 PASS event.target.result. valueis expectedIndex1200 PASS event.target.result.key is testData[5] 1201 PASS event.target.result. valueis expectedIndex1202 PASS event.target.result.key is testData[4] 1203 PASS event.target.result. valueis expectedIndex1204 PASS event.target.result.key is testData[3] 1205 PASS event.target.result. valueis expectedIndex1195 PASS event.target.result.primaryKey is expectedIndex 1196 PASS event.target.result.key is testData[7] 1197 PASS event.target.result.primaryKey is expectedIndex 1198 PASS event.target.result.key is testData[6] 1199 PASS event.target.result.primaryKey is expectedIndex 1200 PASS event.target.result.key is testData[5] 1201 PASS event.target.result.primaryKey is expectedIndex 1202 PASS event.target.result.key is testData[4] 1203 PASS event.target.result.primaryKey is expectedIndex 1204 PASS event.target.result.key is testData[3] 1205 PASS event.target.result.primaryKey is expectedIndex 1206 1206 PASS event.target.result.key is testData[2] 1207 1207 PASS event.target.result is null 1208 1208 1209 1209 Next test: lower open bound is 4; sorted ascending. 1210 PASS event.target.result. valueis expectedIndex1211 PASS event.target.result.key is testData[5] 1212 PASS event.target.result. valueis expectedIndex1213 PASS event.target.result.key is testData[6] 1214 PASS event.target.result. valueis expectedIndex1210 PASS event.target.result.primaryKey is expectedIndex 1211 PASS event.target.result.key is testData[5] 1212 PASS event.target.result.primaryKey is expectedIndex 1213 PASS event.target.result.key is testData[6] 1214 PASS event.target.result.primaryKey is expectedIndex 1215 1215 PASS event.target.result.key is testData[7] 1216 1216 PASS event.target.result is null 1217 1217 1218 1218 Next test: lower bound is 4; sorted ascending. 1219 PASS event.target.result. valueis expectedIndex1220 PASS event.target.result.key is testData[4] 1221 PASS event.target.result. valueis expectedIndex1222 PASS event.target.result.key is testData[5] 1223 PASS event.target.result. valueis expectedIndex1224 PASS event.target.result.key is testData[6] 1225 PASS event.target.result. valueis expectedIndex1219 PASS event.target.result.primaryKey is expectedIndex 1220 PASS event.target.result.key is testData[4] 1221 PASS event.target.result.primaryKey is expectedIndex 1222 PASS event.target.result.key is testData[5] 1223 PASS event.target.result.primaryKey is expectedIndex 1224 PASS event.target.result.key is testData[6] 1225 PASS event.target.result.primaryKey is expectedIndex 1226 1226 PASS event.target.result.key is testData[7] 1227 1227 PASS event.target.result is null 1228 1228 1229 1229 Next test: upper open bound is 4; sorted ascending. 1230 PASS event.target.result. valueis expectedIndex1231 PASS event.target.result.key is testData[0] 1232 PASS event.target.result. valueis expectedIndex1233 PASS event.target.result.key is testData[1] 1234 PASS event.target.result. valueis expectedIndex1235 PASS event.target.result.key is testData[2] 1236 PASS event.target.result. valueis expectedIndex1230 PASS event.target.result.primaryKey is expectedIndex 1231 PASS event.target.result.key is testData[0] 1232 PASS event.target.result.primaryKey is expectedIndex 1233 PASS event.target.result.key is testData[1] 1234 PASS event.target.result.primaryKey is expectedIndex 1235 PASS event.target.result.key is testData[2] 1236 PASS event.target.result.primaryKey is expectedIndex 1237 1237 PASS event.target.result.key is testData[3] 1238 1238 PASS event.target.result is null 1239 1239 1240 1240 Next test: upper bound is 4; sorted ascending. 1241 PASS event.target.result. valueis expectedIndex1242 PASS event.target.result.key is testData[0] 1243 PASS event.target.result. valueis expectedIndex1244 PASS event.target.result.key is testData[1] 1245 PASS event.target.result. valueis expectedIndex1246 PASS event.target.result.key is testData[2] 1247 PASS event.target.result. valueis expectedIndex1248 PASS event.target.result.key is testData[3] 1249 PASS event.target.result. valueis expectedIndex1241 PASS event.target.result.primaryKey is expectedIndex 1242 PASS event.target.result.key is testData[0] 1243 PASS event.target.result.primaryKey is expectedIndex 1244 PASS event.target.result.key is testData[1] 1245 PASS event.target.result.primaryKey is expectedIndex 1246 PASS event.target.result.key is testData[2] 1247 PASS event.target.result.primaryKey is expectedIndex 1248 PASS event.target.result.key is testData[3] 1249 PASS event.target.result.primaryKey is expectedIndex 1250 1250 PASS event.target.result.key is testData[4] 1251 1251 PASS event.target.result is null 1252 1252 1253 1253 Next test: lower open bound is 4; sorted descending. 1254 PASS event.target.result. valueis expectedIndex1255 PASS event.target.result.key is testData[7] 1256 PASS event.target.result. valueis expectedIndex1257 PASS event.target.result.key is testData[6] 1258 PASS event.target.result. valueis expectedIndex1254 PASS event.target.result.primaryKey is expectedIndex 1255 PASS event.target.result.key is testData[7] 1256 PASS event.target.result.primaryKey is expectedIndex 1257 PASS event.target.result.key is testData[6] 1258 PASS event.target.result.primaryKey is expectedIndex 1259 1259 PASS event.target.result.key is testData[5] 1260 1260 PASS event.target.result is null 1261 1261 1262 1262 Next test: lower bound is 4; sorted descending. 1263 PASS event.target.result. valueis expectedIndex1264 PASS event.target.result.key is testData[7] 1265 PASS event.target.result. valueis expectedIndex1266 PASS event.target.result.key is testData[6] 1267 PASS event.target.result. valueis expectedIndex1268 PASS event.target.result.key is testData[5] 1269 PASS event.target.result. valueis expectedIndex1263 PASS event.target.result.primaryKey is expectedIndex 1264 PASS event.target.result.key is testData[7] 1265 PASS event.target.result.primaryKey is expectedIndex 1266 PASS event.target.result.key is testData[6] 1267 PASS event.target.result.primaryKey is expectedIndex 1268 PASS event.target.result.key is testData[5] 1269 PASS event.target.result.primaryKey is expectedIndex 1270 1270 PASS event.target.result.key is testData[4] 1271 1271 PASS event.target.result is null 1272 1272 1273 1273 Next test: upper open bound is 4; sorted descending. 1274 PASS event.target.result. valueis expectedIndex1275 PASS event.target.result.key is testData[3] 1276 PASS event.target.result. valueis expectedIndex1277 PASS event.target.result.key is testData[2] 1278 PASS event.target.result. valueis expectedIndex1279 PASS event.target.result.key is testData[1] 1280 PASS event.target.result. valueis expectedIndex1274 PASS event.target.result.primaryKey is expectedIndex 1275 PASS event.target.result.key is testData[3] 1276 PASS event.target.result.primaryKey is expectedIndex 1277 PASS event.target.result.key is testData[2] 1278 PASS event.target.result.primaryKey is expectedIndex 1279 PASS event.target.result.key is testData[1] 1280 PASS event.target.result.primaryKey is expectedIndex 1281 1281 PASS event.target.result.key is testData[0] 1282 1282 PASS event.target.result is null 1283 1283 1284 1284 Next test: upper bound is 4; sorted descending. 1285 PASS event.target.result. valueis expectedIndex1286 PASS event.target.result.key is testData[4] 1287 PASS event.target.result. valueis expectedIndex1288 PASS event.target.result.key is testData[3] 1289 PASS event.target.result. valueis expectedIndex1290 PASS event.target.result.key is testData[2] 1291 PASS event.target.result. valueis expectedIndex1292 PASS event.target.result.key is testData[1] 1293 PASS event.target.result. valueis expectedIndex1285 PASS event.target.result.primaryKey is expectedIndex 1286 PASS event.target.result.key is testData[4] 1287 PASS event.target.result.primaryKey is expectedIndex 1288 PASS event.target.result.key is testData[3] 1289 PASS event.target.result.primaryKey is expectedIndex 1290 PASS event.target.result.key is testData[2] 1291 PASS event.target.result.primaryKey is expectedIndex 1292 PASS event.target.result.key is testData[1] 1293 PASS event.target.result.primaryKey is expectedIndex 1294 1294 PASS event.target.result.key is testData[0] 1295 1295 PASS event.target.result is null 1296 1296 1297 1297 Next test: lower open bound is 4; upper open bound is 6; sorted ascending. 1298 PASS event.target.result. valueis expectedIndex1298 PASS event.target.result.primaryKey is expectedIndex 1299 1299 PASS event.target.result.key is testData[5] 1300 1300 PASS event.target.result is null 1301 1301 1302 1302 Next test: lower open bound is 4; upper bound is 6; sorted ascending. 1303 PASS event.target.result. valueis expectedIndex1304 PASS event.target.result.key is testData[5] 1305 PASS event.target.result. valueis expectedIndex1306 PASS event.target.result.key is testData[6] 1307 PASS event.target.result. valueis expectedIndex1303 PASS event.target.result.primaryKey is expectedIndex 1304 PASS event.target.result.key is testData[5] 1305 PASS event.target.result.primaryKey is expectedIndex 1306 PASS event.target.result.key is testData[6] 1307 PASS event.target.result.primaryKey is expectedIndex 1308 1308 PASS event.target.result.key is testData[7] 1309 1309 PASS event.target.result is null 1310 1310 1311 1311 Next test: lower bound is 4; upper open bound is 6; sorted ascending. 1312 PASS event.target.result. valueis expectedIndex1313 PASS event.target.result.key is testData[4] 1314 PASS event.target.result. valueis expectedIndex1312 PASS event.target.result.primaryKey is expectedIndex 1313 PASS event.target.result.key is testData[4] 1314 PASS event.target.result.primaryKey is expectedIndex 1315 1315 PASS event.target.result.key is testData[5] 1316 1316 PASS event.target.result is null 1317 1317 1318 1318 Next test: lower bound is 4; upper bound is 6; sorted ascending. 1319 PASS event.target.result. valueis expectedIndex1320 PASS event.target.result.key is testData[4] 1321 PASS event.target.result. valueis expectedIndex1322 PASS event.target.result.key is testData[5] 1323 PASS event.target.result. valueis expectedIndex1324 PASS event.target.result.key is testData[6] 1325 PASS event.target.result. valueis expectedIndex1319 PASS event.target.result.primaryKey is expectedIndex 1320 PASS event.target.result.key is testData[4] 1321 PASS event.target.result.primaryKey is expectedIndex 1322 PASS event.target.result.key is testData[5] 1323 PASS event.target.result.primaryKey is expectedIndex 1324 PASS event.target.result.key is testData[6] 1325 PASS event.target.result.primaryKey is expectedIndex 1326 1326 PASS event.target.result.key is testData[7] 1327 1327 PASS event.target.result is null 1328 1328 1329 1329 Next test: lower open bound is 4; upper open bound is 6; sorted descending. 1330 PASS event.target.result. valueis expectedIndex1330 PASS event.target.result.primaryKey is expectedIndex 1331 1331 PASS event.target.result.key is testData[5] 1332 1332 PASS event.target.result is null 1333 1333 1334 1334 Next test: lower open bound is 4; upper bound is 6; sorted descending. 1335 PASS event.target.result. valueis expectedIndex1336 PASS event.target.result.key is testData[7] 1337 PASS event.target.result. valueis expectedIndex1338 PASS event.target.result.key is testData[6] 1339 PASS event.target.result. valueis expectedIndex1335 PASS event.target.result.primaryKey is expectedIndex 1336 PASS event.target.result.key is testData[7] 1337 PASS event.target.result.primaryKey is expectedIndex 1338 PASS event.target.result.key is testData[6] 1339 PASS event.target.result.primaryKey is expectedIndex 1340 1340 PASS event.target.result.key is testData[5] 1341 1341 PASS event.target.result is null 1342 1342 1343 1343 Next test: lower bound is 4; upper open bound is 6; sorted descending. 1344 PASS event.target.result. valueis expectedIndex1345 PASS event.target.result.key is testData[5] 1346 PASS event.target.result. valueis expectedIndex1344 PASS event.target.result.primaryKey is expectedIndex 1345 PASS event.target.result.key is testData[5] 1346 PASS event.target.result.primaryKey is expectedIndex 1347 1347 PASS event.target.result.key is testData[4] 1348 1348 PASS event.target.result is null 1349 1349 1350 1350 Next test: lower bound is 4; upper bound is 6; sorted descending. 1351 PASS event.target.result. valueis expectedIndex1352 PASS event.target.result.key is testData[7] 1353 PASS event.target.result. valueis expectedIndex1354 PASS event.target.result.key is testData[6] 1355 PASS event.target.result. valueis expectedIndex1356 PASS event.target.result.key is testData[5] 1357 PASS event.target.result. valueis expectedIndex1351 PASS event.target.result.primaryKey is expectedIndex 1352 PASS event.target.result.key is testData[7] 1353 PASS event.target.result.primaryKey is expectedIndex 1354 PASS event.target.result.key is testData[6] 1355 PASS event.target.result.primaryKey is expectedIndex 1356 PASS event.target.result.key is testData[5] 1357 PASS event.target.result.primaryKey is expectedIndex 1358 1358 PASS event.target.result.key is testData[4] 1359 1359 PASS event.target.result is null 1360 1360 1361 1361 Next test: lower open bound is 4; upper open bound is 7; sorted ascending. 1362 PASS event.target.result. valueis expectedIndex1362 PASS event.target.result.primaryKey is expectedIndex 1363 1363 PASS event.target.result.key is testData[5] 1364 1364 PASS event.target.result is null 1365 1365 1366 1366 Next test: lower open bound is 4; upper bound is 7; sorted ascending. 1367 PASS event.target.result. valueis expectedIndex1368 PASS event.target.result.key is testData[5] 1369 PASS event.target.result. valueis expectedIndex1370 PASS event.target.result.key is testData[6] 1371 PASS event.target.result. valueis expectedIndex1367 PASS event.target.result.primaryKey is expectedIndex 1368 PASS event.target.result.key is testData[5] 1369 PASS event.target.result.primaryKey is expectedIndex 1370 PASS event.target.result.key is testData[6] 1371 PASS event.target.result.primaryKey is expectedIndex 1372 1372 PASS event.target.result.key is testData[7] 1373 1373 PASS event.target.result is null 1374 1374 1375 1375 Next test: lower bound is 4; upper open bound is 7; sorted ascending. 1376 PASS event.target.result. valueis expectedIndex1377 PASS event.target.result.key is testData[4] 1378 PASS event.target.result. valueis expectedIndex1376 PASS event.target.result.primaryKey is expectedIndex 1377 PASS event.target.result.key is testData[4] 1378 PASS event.target.result.primaryKey is expectedIndex 1379 1379 PASS event.target.result.key is testData[5] 1380 1380 PASS event.target.result is null 1381 1381 1382 1382 Next test: lower bound is 4; upper bound is 7; sorted ascending. 1383 PASS event.target.result. valueis expectedIndex1384 PASS event.target.result.key is testData[4] 1385 PASS event.target.result. valueis expectedIndex1386 PASS event.target.result.key is testData[5] 1387 PASS event.target.result. valueis expectedIndex1388 PASS event.target.result.key is testData[6] 1389 PASS event.target.result. valueis expectedIndex1383 PASS event.target.result.primaryKey is expectedIndex 1384 PASS event.target.result.key is testData[4] 1385 PASS event.target.result.primaryKey is expectedIndex 1386 PASS event.target.result.key is testData[5] 1387 PASS event.target.result.primaryKey is expectedIndex 1388 PASS event.target.result.key is testData[6] 1389 PASS event.target.result.primaryKey is expectedIndex 1390 1390 PASS event.target.result.key is testData[7] 1391 1391 PASS event.target.result is null 1392 1392 1393 1393 Next test: lower open bound is 4; upper open bound is 7; sorted descending. 1394 PASS event.target.result. valueis expectedIndex1394 PASS event.target.result.primaryKey is expectedIndex 1395 1395 PASS event.target.result.key is testData[5] 1396 1396 PASS event.target.result is null 1397 1397 1398 1398 Next test: lower open bound is 4; upper bound is 7; sorted descending. 1399 PASS event.target.result. valueis expectedIndex1400 PASS event.target.result.key is testData[7] 1401 PASS event.target.result. valueis expectedIndex1402 PASS event.target.result.key is testData[6] 1403 PASS event.target.result. valueis expectedIndex1399 PASS event.target.result.primaryKey is expectedIndex 1400 PASS event.target.result.key is testData[7] 1401 PASS event.target.result.primaryKey is expectedIndex 1402 PASS event.target.result.key is testData[6] 1403 PASS event.target.result.primaryKey is expectedIndex 1404 1404 PASS event.target.result.key is testData[5] 1405 1405 PASS event.target.result is null 1406 1406 1407 1407 Next test: lower bound is 4; upper open bound is 7; sorted descending. 1408 PASS event.target.result. valueis expectedIndex1409 PASS event.target.result.key is testData[5] 1410 PASS event.target.result. valueis expectedIndex1408 PASS event.target.result.primaryKey is expectedIndex 1409 PASS event.target.result.key is testData[5] 1410 PASS event.target.result.primaryKey is expectedIndex 1411 1411 PASS event.target.result.key is testData[4] 1412 1412 PASS event.target.result is null 1413 1413 1414 1414 Next test: lower bound is 4; upper bound is 7; sorted descending. 1415 PASS event.target.result. valueis expectedIndex1416 PASS event.target.result.key is testData[7] 1417 PASS event.target.result. valueis expectedIndex1418 PASS event.target.result.key is testData[6] 1419 PASS event.target.result. valueis expectedIndex1420 PASS event.target.result.key is testData[5] 1421 PASS event.target.result. valueis expectedIndex1415 PASS event.target.result.primaryKey is expectedIndex 1416 PASS event.target.result.key is testData[7] 1417 PASS event.target.result.primaryKey is expectedIndex 1418 PASS event.target.result.key is testData[6] 1419 PASS event.target.result.primaryKey is expectedIndex 1420 PASS event.target.result.key is testData[5] 1421 PASS event.target.result.primaryKey is expectedIndex 1422 1422 PASS event.target.result.key is testData[4] 1423 1423 PASS event.target.result is null 1424 1424 1425 1425 Next test: lower open bound is 5; sorted ascending. 1426 PASS event.target.result. valueis expectedIndex1427 PASS event.target.result.key is testData[6] 1428 PASS event.target.result. valueis expectedIndex1426 PASS event.target.result.primaryKey is expectedIndex 1427 PASS event.target.result.key is testData[6] 1428 PASS event.target.result.primaryKey is expectedIndex 1429 1429 PASS event.target.result.key is testData[7] 1430 1430 PASS event.target.result is null 1431 1431 1432 1432 Next test: lower bound is 5; sorted ascending. 1433 PASS event.target.result. valueis expectedIndex1434 PASS event.target.result.key is testData[5] 1435 PASS event.target.result. valueis expectedIndex1436 PASS event.target.result.key is testData[6] 1437 PASS event.target.result. valueis expectedIndex1433 PASS event.target.result.primaryKey is expectedIndex 1434 PASS event.target.result.key is testData[5] 1435 PASS event.target.result.primaryKey is expectedIndex 1436 PASS event.target.result.key is testData[6] 1437 PASS event.target.result.primaryKey is expectedIndex 1438 1438 PASS event.target.result.key is testData[7] 1439 1439 PASS event.target.result is null 1440 1440 1441 1441 Next test: upper open bound is 5; sorted ascending. 1442 PASS event.target.result. valueis expectedIndex1443 PASS event.target.result.key is testData[0] 1444 PASS event.target.result. valueis expectedIndex1445 PASS event.target.result.key is testData[1] 1446 PASS event.target.result. valueis expectedIndex1447 PASS event.target.result.key is testData[2] 1448 PASS event.target.result. valueis expectedIndex1449 PASS event.target.result.key is testData[3] 1450 PASS event.target.result. valueis expectedIndex1442 PASS event.target.result.primaryKey is expectedIndex 1443 PASS event.target.result.key is testData[0] 1444 PASS event.target.result.primaryKey is expectedIndex 1445 PASS event.target.result.key is testData[1] 1446 PASS event.target.result.primaryKey is expectedIndex 1447 PASS event.target.result.key is testData[2] 1448 PASS event.target.result.primaryKey is expectedIndex 1449 PASS event.target.result.key is testData[3] 1450 PASS event.target.result.primaryKey is expectedIndex 1451 1451 PASS event.target.result.key is testData[4] 1452 1452 PASS event.target.result is null 1453 1453 1454 1454 Next test: upper bound is 5; sorted ascending. 1455 PASS event.target.result. valueis expectedIndex1456 PASS event.target.result.key is testData[0] 1457 PASS event.target.result. valueis expectedIndex1458 PASS event.target.result.key is testData[1] 1459 PASS event.target.result. valueis expectedIndex1460 PASS event.target.result.key is testData[2] 1461 PASS event.target.result. valueis expectedIndex1462 PASS event.target.result.key is testData[3] 1463 PASS event.target.result. valueis expectedIndex1464 PASS event.target.result.key is testData[4] 1465 PASS event.target.result. valueis expectedIndex1455 PASS event.target.result.primaryKey is expectedIndex 1456 PASS event.target.result.key is testData[0] 1457 PASS event.target.result.primaryKey is expectedIndex 1458 PASS event.target.result.key is testData[1] 1459 PASS event.target.result.primaryKey is expectedIndex 1460 PASS event.target.result.key is testData[2] 1461 PASS event.target.result.primaryKey is expectedIndex 1462 PASS event.target.result.key is testData[3] 1463 PASS event.target.result.primaryKey is expectedIndex 1464 PASS event.target.result.key is testData[4] 1465 PASS event.target.result.primaryKey is expectedIndex 1466 1466 PASS event.target.result.key is testData[5] 1467 1467 PASS event.target.result is null 1468 1468 1469 1469 Next test: lower open bound is 5; sorted descending. 1470 PASS event.target.result. valueis expectedIndex1471 PASS event.target.result.key is testData[7] 1472 PASS event.target.result. valueis expectedIndex1470 PASS event.target.result.primaryKey is expectedIndex 1471 PASS event.target.result.key is testData[7] 1472 PASS event.target.result.primaryKey is expectedIndex 1473 1473 PASS event.target.result.key is testData[6] 1474 1474 PASS event.target.result is null 1475 1475 1476 1476 Next test: lower bound is 5; sorted descending. 1477 PASS event.target.result. valueis expectedIndex1478 PASS event.target.result.key is testData[7] 1479 PASS event.target.result. valueis expectedIndex1480 PASS event.target.result.key is testData[6] 1481 PASS event.target.result. valueis expectedIndex1477 PASS event.target.result.primaryKey is expectedIndex 1478 PASS event.target.result.key is testData[7] 1479 PASS event.target.result.primaryKey is expectedIndex 1480 PASS event.target.result.key is testData[6] 1481 PASS event.target.result.primaryKey is expectedIndex 1482 1482 PASS event.target.result.key is testData[5] 1483 1483 PASS event.target.result is null 1484 1484 1485 1485 Next test: upper open bound is 5; sorted descending. 1486 PASS event.target.result. valueis expectedIndex1487 PASS event.target.result.key is testData[4] 1488 PASS event.target.result. valueis expectedIndex1489 PASS event.target.result.key is testData[3] 1490 PASS event.target.result. valueis expectedIndex1491 PASS event.target.result.key is testData[2] 1492 PASS event.target.result. valueis expectedIndex1493 PASS event.target.result.key is testData[1] 1494 PASS event.target.result. valueis expectedIndex1486 PASS event.target.result.primaryKey is expectedIndex 1487 PASS event.target.result.key is testData[4] 1488 PASS event.target.result.primaryKey is expectedIndex 1489 PASS event.target.result.key is testData[3] 1490 PASS event.target.result.primaryKey is expectedIndex 1491 PASS event.target.result.key is testData[2] 1492 PASS event.target.result.primaryKey is expectedIndex 1493 PASS event.target.result.key is testData[1] 1494 PASS event.target.result.primaryKey is expectedIndex 1495 1495 PASS event.target.result.key is testData[0] 1496 1496 PASS event.target.result is null 1497 1497 1498 1498 Next test: upper bound is 5; sorted descending. 1499 PASS event.target.result. valueis expectedIndex1500 PASS event.target.result.key is testData[5] 1501 PASS event.target.result. valueis expectedIndex1502 PASS event.target.result.key is testData[4] 1503 PASS event.target.result. valueis expectedIndex1504 PASS event.target.result.key is testData[3] 1505 PASS event.target.result. valueis expectedIndex1506 PASS event.target.result.key is testData[2] 1507 PASS event.target.result. valueis expectedIndex1508 PASS event.target.result.key is testData[1] 1509 PASS event.target.result. valueis expectedIndex1499 PASS event.target.result.primaryKey is expectedIndex 1500 PASS event.target.result.key is testData[5] 1501 PASS event.target.result.primaryKey is expectedIndex 1502 PASS event.target.result.key is testData[4] 1503 PASS event.target.result.primaryKey is expectedIndex 1504 PASS event.target.result.key is testData[3] 1505 PASS event.target.result.primaryKey is expectedIndex 1506 PASS event.target.result.key is testData[2] 1507 PASS event.target.result.primaryKey is expectedIndex 1508 PASS event.target.result.key is testData[1] 1509 PASS event.target.result.primaryKey is expectedIndex 1510 1510 PASS event.target.result.key is testData[0] 1511 1511 PASS event.target.result is null … … 1515 1515 1516 1516 Next test: lower open bound is 5; upper bound is 6; sorted ascending. 1517 PASS event.target.result. valueis expectedIndex1518 PASS event.target.result.key is testData[6] 1519 PASS event.target.result. valueis expectedIndex1517 PASS event.target.result.primaryKey is expectedIndex 1518 PASS event.target.result.key is testData[6] 1519 PASS event.target.result.primaryKey is expectedIndex 1520 1520 PASS event.target.result.key is testData[7] 1521 1521 PASS event.target.result is null 1522 1522 1523 1523 Next test: lower bound is 5; upper open bound is 6; sorted ascending. 1524 PASS event.target.result. valueis expectedIndex1524 PASS event.target.result.primaryKey is expectedIndex 1525 1525 PASS event.target.result.key is testData[5] 1526 1526 PASS event.target.result is null 1527 1527 1528 1528 Next test: lower bound is 5; upper bound is 6; sorted ascending. 1529 PASS event.target.result. valueis expectedIndex1530 PASS event.target.result.key is testData[5] 1531 PASS event.target.result. valueis expectedIndex1532 PASS event.target.result.key is testData[6] 1533 PASS event.target.result. valueis expectedIndex1529 PASS event.target.result.primaryKey is expectedIndex 1530 PASS event.target.result.key is testData[5] 1531 PASS event.target.result.primaryKey is expectedIndex 1532 PASS event.target.result.key is testData[6] 1533 PASS event.target.result.primaryKey is expectedIndex 1534 1534 PASS event.target.result.key is testData[7] 1535 1535 PASS event.target.result is null … … 1539 1539 1540 1540 Next test: lower open bound is 5; upper bound is 6; sorted descending. 1541 PASS event.target.result. valueis expectedIndex1542 PASS event.target.result.key is testData[7] 1543 PASS event.target.result. valueis expectedIndex1541 PASS event.target.result.primaryKey is expectedIndex 1542 PASS event.target.result.key is testData[7] 1543 PASS event.target.result.primaryKey is expectedIndex 1544 1544 PASS event.target.result.key is testData[6] 1545 1545 PASS event.target.result is null 1546 1546 1547 1547 Next test: lower bound is 5; upper open bound is 6; sorted descending. 1548 PASS event.target.result. valueis expectedIndex1548 PASS event.target.result.primaryKey is expectedIndex 1549 1549 PASS event.target.result.key is testData[5] 1550 1550 PASS event.target.result is null 1551 1551 1552 1552 Next test: lower bound is 5; upper bound is 6; sorted descending. 1553 PASS event.target.result. valueis expectedIndex1554 PASS event.target.result.key is testData[7] 1555 PASS event.target.result. valueis expectedIndex1556 PASS event.target.result.key is testData[6] 1557 PASS event.target.result. valueis expectedIndex1553 PASS event.target.result.primaryKey is expectedIndex 1554 PASS event.target.result.key is testData[7] 1555 PASS event.target.result.primaryKey is expectedIndex 1556 PASS event.target.result.key is testData[6] 1557 PASS event.target.result.primaryKey is expectedIndex 1558 1558 PASS event.target.result.key is testData[5] 1559 1559 PASS event.target.result is null … … 1563 1563 1564 1564 Next test: lower open bound is 5; upper bound is 7; sorted ascending. 1565 PASS event.target.result. valueis expectedIndex1566 PASS event.target.result.key is testData[6] 1567 PASS event.target.result. valueis expectedIndex1565 PASS event.target.result.primaryKey is expectedIndex 1566 PASS event.target.result.key is testData[6] 1567 PASS event.target.result.primaryKey is expectedIndex 1568 1568 PASS event.target.result.key is testData[7] 1569 1569 PASS event.target.result is null 1570 1570 1571 1571 Next test: lower bound is 5; upper open bound is 7; sorted ascending. 1572 PASS event.target.result. valueis expectedIndex1572 PASS event.target.result.primaryKey is expectedIndex 1573 1573 PASS event.target.result.key is testData[5] 1574 1574 PASS event.target.result is null 1575 1575 1576 1576 Next test: lower bound is 5; upper bound is 7; sorted ascending. 1577 PASS event.target.result. valueis expectedIndex1578 PASS event.target.result.key is testData[5] 1579 PASS event.target.result. valueis expectedIndex1580 PASS event.target.result.key is testData[6] 1581 PASS event.target.result. valueis expectedIndex1577 PASS event.target.result.primaryKey is expectedIndex 1578 PASS event.target.result.key is testData[5] 1579 PASS event.target.result.primaryKey is expectedIndex 1580 PASS event.target.result.key is testData[6] 1581 PASS event.target.result.primaryKey is expectedIndex 1582 1582 PASS event.target.result.key is testData[7] 1583 1583 PASS event.target.result is null … … 1587 1587 1588 1588 Next test: lower open bound is 5; upper bound is 7; sorted descending. 1589 PASS event.target.result. valueis expectedIndex1590 PASS event.target.result.key is testData[7] 1591 PASS event.target.result. valueis expectedIndex1589 PASS event.target.result.primaryKey is expectedIndex 1590 PASS event.target.result.key is testData[7] 1591 PASS event.target.result.primaryKey is expectedIndex 1592 1592 PASS event.target.result.key is testData[6] 1593 1593 PASS event.target.result is null 1594 1594 1595 1595 Next test: lower bound is 5; upper open bound is 7; sorted descending. 1596 PASS event.target.result. valueis expectedIndex1596 PASS event.target.result.primaryKey is expectedIndex 1597 1597 PASS event.target.result.key is testData[5] 1598 1598 PASS event.target.result is null 1599 1599 1600 1600 Next test: lower bound is 5; upper bound is 7; sorted descending. 1601 PASS event.target.result. valueis expectedIndex1602 PASS event.target.result.key is testData[7] 1603 PASS event.target.result. valueis expectedIndex1604 PASS event.target.result.key is testData[6] 1605 PASS event.target.result. valueis expectedIndex1601 PASS event.target.result.primaryKey is expectedIndex 1602 PASS event.target.result.key is testData[7] 1603 PASS event.target.result.primaryKey is expectedIndex 1604 PASS event.target.result.key is testData[6] 1605 PASS event.target.result.primaryKey is expectedIndex 1606 1606 PASS event.target.result.key is testData[5] 1607 1607 PASS event.target.result is null … … 1611 1611 1612 1612 Next test: lower bound is 6; sorted ascending. 1613 PASS event.target.result. valueis expectedIndex1614 PASS event.target.result.key is testData[6] 1615 PASS event.target.result. valueis expectedIndex1613 PASS event.target.result.primaryKey is expectedIndex 1614 PASS event.target.result.key is testData[6] 1615 PASS event.target.result.primaryKey is expectedIndex 1616 1616 PASS event.target.result.key is testData[7] 1617 1617 PASS event.target.result is null 1618 1618 1619 1619 Next test: upper open bound is 6; sorted ascending. 1620 PASS event.target.result. valueis expectedIndex1621 PASS event.target.result.key is testData[0] 1622 PASS event.target.result. valueis expectedIndex1623 PASS event.target.result.key is testData[1] 1624 PASS event.target.result. valueis expectedIndex1625 PASS event.target.result.key is testData[2] 1626 PASS event.target.result. valueis expectedIndex1627 PASS event.target.result.key is testData[3] 1628 PASS event.target.result. valueis expectedIndex1629 PASS event.target.result.key is testData[4] 1630 PASS event.target.result. valueis expectedIndex1620 PASS event.target.result.primaryKey is expectedIndex 1621 PASS event.target.result.key is testData[0] 1622 PASS event.target.result.primaryKey is expectedIndex 1623 PASS event.target.result.key is testData[1] 1624 PASS event.target.result.primaryKey is expectedIndex 1625 PASS event.target.result.key is testData[2] 1626 PASS event.target.result.primaryKey is expectedIndex 1627 PASS event.target.result.key is testData[3] 1628 PASS event.target.result.primaryKey is expectedIndex 1629 PASS event.target.result.key is testData[4] 1630 PASS event.target.result.primaryKey is expectedIndex 1631 1631 PASS event.target.result.key is testData[5] 1632 1632 PASS event.target.result is null 1633 1633 1634 1634 Next test: upper bound is 6; sorted ascending. 1635 PASS event.target.result. valueis expectedIndex1636 PASS event.target.result.key is testData[0] 1637 PASS event.target.result. valueis expectedIndex1638 PASS event.target.result.key is testData[1] 1639 PASS event.target.result. valueis expectedIndex1640 PASS event.target.result.key is testData[2] 1641 PASS event.target.result. valueis expectedIndex1642 PASS event.target.result.key is testData[3] 1643 PASS event.target.result. valueis expectedIndex1644 PASS event.target.result.key is testData[4] 1645 PASS event.target.result. valueis expectedIndex1646 PASS event.target.result.key is testData[5] 1647 PASS event.target.result. valueis expectedIndex1648 PASS event.target.result.key is testData[6] 1649 PASS event.target.result. valueis expectedIndex1635 PASS event.target.result.primaryKey is expectedIndex 1636 PASS event.target.result.key is testData[0] 1637 PASS event.target.result.primaryKey is expectedIndex 1638 PASS event.target.result.key is testData[1] 1639 PASS event.target.result.primaryKey is expectedIndex 1640 PASS event.target.result.key is testData[2] 1641 PASS event.target.result.primaryKey is expectedIndex 1642 PASS event.target.result.key is testData[3] 1643 PASS event.target.result.primaryKey is expectedIndex 1644 PASS event.target.result.key is testData[4] 1645 PASS event.target.result.primaryKey is expectedIndex 1646 PASS event.target.result.key is testData[5] 1647 PASS event.target.result.primaryKey is expectedIndex 1648 PASS event.target.result.key is testData[6] 1649 PASS event.target.result.primaryKey is expectedIndex 1650 1650 PASS event.target.result.key is testData[7] 1651 1651 PASS event.target.result is null … … 1655 1655 1656 1656 Next test: lower bound is 6; sorted descending. 1657 PASS event.target.result. valueis expectedIndex1658 PASS event.target.result.key is testData[7] 1659 PASS event.target.result. valueis expectedIndex1657 PASS event.target.result.primaryKey is expectedIndex 1658 PASS event.target.result.key is testData[7] 1659 PASS event.target.result.primaryKey is expectedIndex 1660 1660 PASS event.target.result.key is testData[6] 1661 1661 PASS event.target.result is null 1662 1662 1663 1663 Next test: upper open bound is 6; sorted descending. 1664 PASS event.target.result. valueis expectedIndex1665 PASS event.target.result.key is testData[5] 1666 PASS event.target.result. valueis expectedIndex1667 PASS event.target.result.key is testData[4] 1668 PASS event.target.result. valueis expectedIndex1669 PASS event.target.result.key is testData[3] 1670 PASS event.target.result. valueis expectedIndex1671 PASS event.target.result.key is testData[2] 1672 PASS event.target.result. valueis expectedIndex1673 PASS event.target.result.key is testData[1] 1674 PASS event.target.result. valueis expectedIndex1664 PASS event.target.result.primaryKey is expectedIndex 1665 PASS event.target.result.key is testData[5] 1666 PASS event.target.result.primaryKey is expectedIndex 1667 PASS event.target.result.key is testData[4] 1668 PASS event.target.result.primaryKey is expectedIndex 1669 PASS event.target.result.key is testData[3] 1670 PASS event.target.result.primaryKey is expectedIndex 1671 PASS event.target.result.key is testData[2] 1672 PASS event.target.result.primaryKey is expectedIndex 1673 PASS event.target.result.key is testData[1] 1674 PASS event.target.result.primaryKey is expectedIndex 1675 1675 PASS event.target.result.key is testData[0] 1676 1676 PASS event.target.result is null 1677 1677 1678 1678 Next test: upper bound is 6; sorted descending. 1679 PASS event.target.result. valueis expectedIndex1680 PASS event.target.result.key is testData[7] 1681 PASS event.target.result. valueis expectedIndex1682 PASS event.target.result.key is testData[6] 1683 PASS event.target.result. valueis expectedIndex1684 PASS event.target.result.key is testData[5] 1685 PASS event.target.result. valueis expectedIndex1686 PASS event.target.result.key is testData[4] 1687 PASS event.target.result. valueis expectedIndex1688 PASS event.target.result.key is testData[3] 1689 PASS event.target.result. valueis expectedIndex1690 PASS event.target.result.key is testData[2] 1691 PASS event.target.result. valueis expectedIndex1692 PASS event.target.result.key is testData[1] 1693 PASS event.target.result. valueis expectedIndex1679 PASS event.target.result.primaryKey is expectedIndex 1680 PASS event.target.result.key is testData[7] 1681 PASS event.target.result.primaryKey is expectedIndex 1682 PASS event.target.result.key is testData[6] 1683 PASS event.target.result.primaryKey is expectedIndex 1684 PASS event.target.result.key is testData[5] 1685 PASS event.target.result.primaryKey is expectedIndex 1686 PASS event.target.result.key is testData[4] 1687 PASS event.target.result.primaryKey is expectedIndex 1688 PASS event.target.result.key is testData[3] 1689 PASS event.target.result.primaryKey is expectedIndex 1690 PASS event.target.result.key is testData[2] 1691 PASS event.target.result.primaryKey is expectedIndex 1692 PASS event.target.result.key is testData[1] 1693 PASS event.target.result.primaryKey is expectedIndex 1694 1694 PASS event.target.result.key is testData[0] 1695 1695 PASS event.target.result is null … … 1705 1705 1706 1706 Next test: lower bound is 6; upper bound is 6; sorted ascending. 1707 PASS event.target.result. valueis expectedIndex1708 PASS event.target.result.key is testData[6] 1709 PASS event.target.result. valueis expectedIndex1707 PASS event.target.result.primaryKey is expectedIndex 1708 PASS event.target.result.key is testData[6] 1709 PASS event.target.result.primaryKey is expectedIndex 1710 1710 PASS event.target.result.key is testData[7] 1711 1711 PASS event.target.result is null … … 1721 1721 1722 1722 Next test: lower bound is 6; upper bound is 6; sorted descending. 1723 PASS event.target.result. valueis expectedIndex1724 PASS event.target.result.key is testData[7] 1725 PASS event.target.result. valueis expectedIndex1723 PASS event.target.result.primaryKey is expectedIndex 1724 PASS event.target.result.key is testData[7] 1725 PASS event.target.result.primaryKey is expectedIndex 1726 1726 PASS event.target.result.key is testData[6] 1727 1727 PASS event.target.result is null … … 1737 1737 1738 1738 Next test: lower bound is 6; upper bound is 7; sorted ascending. 1739 PASS event.target.result. valueis expectedIndex1740 PASS event.target.result.key is testData[6] 1741 PASS event.target.result. valueis expectedIndex1739 PASS event.target.result.primaryKey is expectedIndex 1740 PASS event.target.result.key is testData[6] 1741 PASS event.target.result.primaryKey is expectedIndex 1742 1742 PASS event.target.result.key is testData[7] 1743 1743 PASS event.target.result is null … … 1753 1753 1754 1754 Next test: lower bound is 6; upper bound is 7; sorted descending. 1755 PASS event.target.result. valueis expectedIndex1756 PASS event.target.result.key is testData[7] 1757 PASS event.target.result. valueis expectedIndex1755 PASS event.target.result.primaryKey is expectedIndex 1756 PASS event.target.result.key is testData[7] 1757 PASS event.target.result.primaryKey is expectedIndex 1758 1758 PASS event.target.result.key is testData[6] 1759 1759 PASS event.target.result is null … … 1763 1763 1764 1764 Next test: lower bound is 7; sorted ascending. 1765 PASS event.target.result. valueis expectedIndex1766 PASS event.target.result.key is testData[6] 1767 PASS event.target.result. valueis expectedIndex1765 PASS event.target.result.primaryKey is expectedIndex 1766 PASS event.target.result.key is testData[6] 1767 PASS event.target.result.primaryKey is expectedIndex 1768 1768 PASS event.target.result.key is testData[7] 1769 1769 PASS event.target.result is null 1770 1770 1771 1771 Next test: upper open bound is 7; sorted ascending. 1772 PASS event.target.result. valueis expectedIndex1773 PASS event.target.result.key is testData[0] 1774 PASS event.target.result. valueis expectedIndex1775 PASS event.target.result.key is testData[1] 1776 PASS event.target.result. valueis expectedIndex1777 PASS event.target.result.key is testData[2] 1778 PASS event.target.result. valueis expectedIndex1779 PASS event.target.result.key is testData[3] 1780 PASS event.target.result. valueis expectedIndex1781 PASS event.target.result.key is testData[4] 1782 PASS event.target.result. valueis expectedIndex1772 PASS event.target.result.primaryKey is expectedIndex 1773 PASS event.target.result.key is testData[0] 1774 PASS event.target.result.primaryKey is expectedIndex 1775 PASS event.target.result.key is testData[1] 1776 PASS event.target.result.primaryKey is expectedIndex 1777 PASS event.target.result.key is testData[2] 1778 PASS event.target.result.primaryKey is expectedIndex 1779 PASS event.target.result.key is testData[3] 1780 PASS event.target.result.primaryKey is expectedIndex 1781 PASS event.target.result.key is testData[4] 1782 PASS event.target.result.primaryKey is expectedIndex 1783 1783 PASS event.target.result.key is testData[5] 1784 1784 PASS event.target.result is null 1785 1785 1786 1786 Next test: upper bound is 7; sorted ascending. 1787 PASS event.target.result. valueis expectedIndex1788 PASS event.target.result.key is testData[0] 1789 PASS event.target.result. valueis expectedIndex1790 PASS event.target.result.key is testData[1] 1791 PASS event.target.result. valueis expectedIndex1792 PASS event.target.result.key is testData[2] 1793 PASS event.target.result. valueis expectedIndex1794 PASS event.target.result.key is testData[3] 1795 PASS event.target.result. valueis expectedIndex1796 PASS event.target.result.key is testData[4] 1797 PASS event.target.result. valueis expectedIndex1798 PASS event.target.result.key is testData[5] 1799 PASS event.target.result. valueis expectedIndex1800 PASS event.target.result.key is testData[6] 1801 PASS event.target.result. valueis expectedIndex1787 PASS event.target.result.primaryKey is expectedIndex 1788 PASS event.target.result.key is testData[0] 1789 PASS event.target.result.primaryKey is expectedIndex 1790 PASS event.target.result.key is testData[1] 1791 PASS event.target.result.primaryKey is expectedIndex 1792 PASS event.target.result.key is testData[2] 1793 PASS event.target.result.primaryKey is expectedIndex 1794 PASS event.target.result.key is testData[3] 1795 PASS event.target.result.primaryKey is expectedIndex 1796 PASS event.target.result.key is testData[4] 1797 PASS event.target.result.primaryKey is expectedIndex 1798 PASS event.target.result.key is testData[5] 1799 PASS event.target.result.primaryKey is expectedIndex 1800 PASS event.target.result.key is testData[6] 1801 PASS event.target.result.primaryKey is expectedIndex 1802 1802 PASS event.target.result.key is testData[7] 1803 1803 PASS event.target.result is null … … 1807 1807 1808 1808 Next test: lower bound is 7; sorted descending. 1809 PASS event.target.result. valueis expectedIndex1810 PASS event.target.result.key is testData[7] 1811 PASS event.target.result. valueis expectedIndex1809 PASS event.target.result.primaryKey is expectedIndex 1810 PASS event.target.result.key is testData[7] 1811 PASS event.target.result.primaryKey is expectedIndex 1812 1812 PASS event.target.result.key is testData[6] 1813 1813 PASS event.target.result is null 1814 1814 1815 1815 Next test: upper open bound is 7; sorted descending. 1816 PASS event.target.result. valueis expectedIndex1817 PASS event.target.result.key is testData[5] 1818 PASS event.target.result. valueis expectedIndex1819 PASS event.target.result.key is testData[4] 1820 PASS event.target.result. valueis expectedIndex1821 PASS event.target.result.key is testData[3] 1822 PASS event.target.result. valueis expectedIndex1823 PASS event.target.result.key is testData[2] 1824 PASS event.target.result. valueis expectedIndex1825 PASS event.target.result.key is testData[1] 1826 PASS event.target.result. valueis expectedIndex1816 PASS event.target.result.primaryKey is expectedIndex 1817 PASS event.target.result.key is testData[5] 1818 PASS event.target.result.primaryKey is expectedIndex 1819 PASS event.target.result.key is testData[4] 1820 PASS event.target.result.primaryKey is expectedIndex 1821 PASS event.target.result.key is testData[3] 1822 PASS event.target.result.primaryKey is expectedIndex 1823 PASS event.target.result.key is testData[2] 1824 PASS event.target.result.primaryKey is expectedIndex 1825 PASS event.target.result.key is testData[1] 1826 PASS event.target.result.primaryKey is expectedIndex 1827 1827 PASS event.target.result.key is testData[0] 1828 1828 PASS event.target.result is null 1829 1829 1830 1830 Next test: upper bound is 7; sorted descending. 1831 PASS event.target.result. valueis expectedIndex1832 PASS event.target.result.key is testData[7] 1833 PASS event.target.result. valueis expectedIndex1834 PASS event.target.result.key is testData[6] 1835 PASS event.target.result. valueis expectedIndex1836 PASS event.target.result.key is testData[5] 1837 PASS event.target.result. valueis expectedIndex1838 PASS event.target.result.key is testData[4] 1839 PASS event.target.result. valueis expectedIndex1840 PASS event.target.result.key is testData[3] 1841 PASS event.target.result. valueis expectedIndex1842 PASS event.target.result.key is testData[2] 1843 PASS event.target.result. valueis expectedIndex1844 PASS event.target.result.key is testData[1] 1845 PASS event.target.result. valueis expectedIndex1831 PASS event.target.result.primaryKey is expectedIndex 1832 PASS event.target.result.key is testData[7] 1833 PASS event.target.result.primaryKey is expectedIndex 1834 PASS event.target.result.key is testData[6] 1835 PASS event.target.result.primaryKey is expectedIndex 1836 PASS event.target.result.key is testData[5] 1837 PASS event.target.result.primaryKey is expectedIndex 1838 PASS event.target.result.key is testData[4] 1839 PASS event.target.result.primaryKey is expectedIndex 1840 PASS event.target.result.key is testData[3] 1841 PASS event.target.result.primaryKey is expectedIndex 1842 PASS event.target.result.key is testData[2] 1843 PASS event.target.result.primaryKey is expectedIndex 1844 PASS event.target.result.key is testData[1] 1845 PASS event.target.result.primaryKey is expectedIndex 1846 1846 PASS event.target.result.key is testData[0] 1847 1847 PASS event.target.result is null … … 1857 1857 1858 1858 Next test: lower bound is 7; upper bound is 6; sorted ascending. 1859 PASS event.target.result. valueis expectedIndex1860 PASS event.target.result.key is testData[6] 1861 PASS event.target.result. valueis expectedIndex1859 PASS event.target.result.primaryKey is expectedIndex 1860 PASS event.target.result.key is testData[6] 1861 PASS event.target.result.primaryKey is expectedIndex 1862 1862 PASS event.target.result.key is testData[7] 1863 1863 PASS event.target.result is null … … 1873 1873 1874 1874 Next test: lower bound is 7; upper bound is 6; sorted descending. 1875 PASS event.target.result. valueis expectedIndex1876 PASS event.target.result.key is testData[7] 1877 PASS event.target.result. valueis expectedIndex1875 PASS event.target.result.primaryKey is expectedIndex 1876 PASS event.target.result.key is testData[7] 1877 PASS event.target.result.primaryKey is expectedIndex 1878 1878 PASS event.target.result.key is testData[6] 1879 1879 PASS event.target.result is null … … 1889 1889 1890 1890 Next test: lower bound is 7; upper bound is 7; sorted ascending. 1891 PASS event.target.result. valueis expectedIndex1892 PASS event.target.result.key is testData[6] 1893 PASS event.target.result. valueis expectedIndex1891 PASS event.target.result.primaryKey is expectedIndex 1892 PASS event.target.result.key is testData[6] 1893 PASS event.target.result.primaryKey is expectedIndex 1894 1894 PASS event.target.result.key is testData[7] 1895 1895 PASS event.target.result is null … … 1905 1905 1906 1906 Next test: lower bound is 7; upper bound is 7; sorted descending. 1907 PASS event.target.result. valueis expectedIndex1908 PASS event.target.result.key is testData[7] 1909 PASS event.target.result. valueis expectedIndex1907 PASS event.target.result.primaryKey is expectedIndex 1908 PASS event.target.result.key is testData[7] 1909 PASS event.target.result.primaryKey is expectedIndex 1910 1910 PASS event.target.result.key is testData[6] 1911 1911 PASS event.target.result is null 1912 1912 1913 1913 Next test: null key path sorted ascending. 1914 PASS event.target.result. valueis expectedIndex1915 PASS event.target.result.key is testData[0] 1916 PASS event.target.result. valueis expectedIndex1917 PASS event.target.result.key is testData[1] 1918 PASS event.target.result. valueis expectedIndex1919 PASS event.target.result.key is testData[2] 1920 PASS event.target.result. valueis expectedIndex1921 PASS event.target.result.key is testData[3] 1922 PASS event.target.result. valueis expectedIndex1923 PASS event.target.result.key is testData[4] 1924 PASS event.target.result. valueis expectedIndex1925 PASS event.target.result.key is testData[5] 1926 PASS event.target.result. valueis expectedIndex1927 PASS event.target.result.key is testData[6] 1928 PASS event.target.result. valueis expectedIndex1914 PASS event.target.result.primaryKey is expectedIndex 1915 PASS event.target.result.key is testData[0] 1916 PASS event.target.result.primaryKey is expectedIndex 1917 PASS event.target.result.key is testData[1] 1918 PASS event.target.result.primaryKey is expectedIndex 1919 PASS event.target.result.key is testData[2] 1920 PASS event.target.result.primaryKey is expectedIndex 1921 PASS event.target.result.key is testData[3] 1922 PASS event.target.result.primaryKey is expectedIndex 1923 PASS event.target.result.key is testData[4] 1924 PASS event.target.result.primaryKey is expectedIndex 1925 PASS event.target.result.key is testData[5] 1926 PASS event.target.result.primaryKey is expectedIndex 1927 PASS event.target.result.key is testData[6] 1928 PASS event.target.result.primaryKey is expectedIndex 1929 1929 PASS event.target.result.key is testData[7] 1930 1930 PASS event.target.result is null 1931 1931 1932 1932 Next test: null key path sorted descending. 1933 PASS event.target.result. valueis expectedIndex1934 PASS event.target.result.key is testData[7] 1935 PASS event.target.result. valueis expectedIndex1936 PASS event.target.result.key is testData[6] 1937 PASS event.target.result. valueis expectedIndex1938 PASS event.target.result.key is testData[5] 1939 PASS event.target.result. valueis expectedIndex1940 PASS event.target.result.key is testData[4] 1941 PASS event.target.result. valueis expectedIndex1942 PASS event.target.result.key is testData[3] 1943 PASS event.target.result. valueis expectedIndex1944 PASS event.target.result.key is testData[2] 1945 PASS event.target.result. valueis expectedIndex1946 PASS event.target.result.key is testData[1] 1947 PASS event.target.result. valueis expectedIndex1933 PASS event.target.result.primaryKey is expectedIndex 1934 PASS event.target.result.key is testData[7] 1935 PASS event.target.result.primaryKey is expectedIndex 1936 PASS event.target.result.key is testData[6] 1937 PASS event.target.result.primaryKey is expectedIndex 1938 PASS event.target.result.key is testData[5] 1939 PASS event.target.result.primaryKey is expectedIndex 1940 PASS event.target.result.key is testData[4] 1941 PASS event.target.result.primaryKey is expectedIndex 1942 PASS event.target.result.key is testData[3] 1943 PASS event.target.result.primaryKey is expectedIndex 1944 PASS event.target.result.key is testData[2] 1945 PASS event.target.result.primaryKey is expectedIndex 1946 PASS event.target.result.key is testData[1] 1947 PASS event.target.result.primaryKey is expectedIndex 1948 1948 PASS event.target.result.key is testData[0] 1949 1949 PASS event.target.result is null -
trunk/LayoutTests/storage/indexeddb/index-cursor.html
r80076 r80171 209 209 } 210 210 211 shouldBe("event.target.result. value", "expectedIndex");211 shouldBe("event.target.result.primaryKey", "expectedIndex"); 212 212 shouldBe("event.target.result.key", "testData[" + expectedIndex + "]"); 213 213 window.expectedIndex = ascending ? expectedIndex + 1 : expectedIndex - 1; -
trunk/Source/WebCore/ChangeLog
r80169 r80171 1 2011-02-28 Jeremy Orlow <jorlow@chromium.org> 2 3 Reviewed by James Robinson. 4 5 Split IDBCursor.value into IDBCursor.primaryKey and IDBCursor.value 6 https://bugs.webkit.org/show_bug.cgi?id=55443 7 8 Implement http://www.w3.org/Bugs/Public/show_bug.cgi?id=11948 9 10 The idea is to have an IDBCursor and an IDBCursorWithValue interface which 11 inherits from the former. index.openKeyCursor will return the former and 12 index/objectStore.openCursor will return the latter. We'll add a primaryKey 13 attribute to IDBCursor. It will always be the key of the associated object 14 store entry. For index.openCursor cursors, the key attribute will be the key 15 of the index. For objectStore.openCursors, it'll be the same as the 16 primaryKey. The value will be the value of the objectStore entry. 17 18 * WebCore.gypi: 19 * bindings/scripts/CodeGeneratorV8.pm: 20 * bindings/v8/SerializedScriptValue.cpp: 21 (WebCore::SerializedScriptValue::deserializeAndSetProperty): 22 * bindings/v8/SerializedScriptValue.h: 23 * bindings/v8/custom/V8IDBAnyCustom.cpp: 24 (WebCore::toV8): 25 * storage/IDBAny.cpp: 26 (WebCore::IDBAny::idbCursorWithValue): 27 (WebCore::IDBAny::set): 28 * storage/IDBAny.h: 29 * storage/IDBCursor.cpp: 30 (WebCore::IDBCursor::create): 31 (WebCore::IDBCursor::primaryKey): 32 (WebCore::IDBCursor::value): 33 * storage/IDBCursor.h: 34 * storage/IDBCursor.idl: 35 * storage/IDBCursorBackendImpl.cpp: 36 (WebCore::IDBCursorBackendImpl::IDBCursorBackendImpl): 37 (WebCore::IDBCursorBackendImpl::primaryKey): 38 (WebCore::IDBCursorBackendImpl::value): 39 (WebCore::IDBCursorBackendImpl::update): 40 (WebCore::IDBCursorBackendImpl::currentRowExists): 41 (WebCore::IDBCursorBackendImpl::continueFunctionInternal): 42 (WebCore::IDBCursorBackendImpl::deleteFunction): 43 (WebCore::IDBCursorBackendImpl::loadCurrentRow): 44 * storage/IDBCursorBackendImpl.h: 45 (WebCore::IDBCursorBackendImpl::create): 46 * storage/IDBCursorBackendInterface.h: 47 * storage/IDBCursorWithValue.cpp: Copied from Source/WebCore/storage/IDBCursor.idl. 48 (WebCore::IDBCursorWithValue::create): 49 (WebCore::IDBCursorWithValue::IDBCursorWithValue): 50 (WebCore::IDBCursorWithValue::~IDBCursorWithValue): 51 * storage/IDBCursorWithValue.h: Copied from Source/WebCore/storage/IDBCursorBackendInterface.h. 52 * storage/IDBCursorWithValue.idl: Copied from Source/WebCore/storage/IDBCursor.idl. 53 * storage/IDBIndex.cpp: 54 (WebCore::IDBIndex::openCursor): 55 (WebCore::IDBIndex::openKeyCursor): 56 * storage/IDBIndexBackendImpl.cpp: 57 (WebCore::IDBIndexBackendImpl::openCursorInternal): 58 (WebCore::IDBIndexBackendImpl::openCursor): 59 (WebCore::IDBIndexBackendImpl::openKeyCursor): 60 * storage/IDBIndexBackendImpl.h: 61 * storage/IDBObjectStore.cpp: 62 (WebCore::IDBObjectStore::openCursor): 63 * storage/IDBObjectStoreBackendImpl.cpp: 64 (WebCore::IDBObjectStoreBackendImpl::openCursorInternal): 65 * storage/IDBRequest.cpp: 66 (WebCore::IDBRequest::IDBRequest): 67 (WebCore::IDBRequest::setCursorType): 68 (WebCore::IDBRequest::onSuccess): 69 (WebCore::IDBRequest::dispatchEvent): 70 * storage/IDBRequest.h: 71 1 72 2011-03-02 Aravind Akella <aravind.akella@nokia.com> 2 73 -
trunk/Source/WebCore/WebCore.gypi
r80151 r80171 277 277 'storage/IDBAny.idl', 278 278 'storage/IDBCursor.idl', 279 'storage/IDBCursorWithValue.idl', 279 280 'storage/IDBDatabaseError.idl', 280 281 'storage/IDBDatabaseException.idl', … … 4090 4091 'storage/IDBCursor.cpp', 4091 4092 'storage/IDBCursor.h', 4093 'storage/IDBCursorWithValue.cpp', 4094 'storage/IDBCursorWithValue.h', 4092 4095 'storage/IDBCursorBackendImpl.cpp', 4093 4096 'storage/IDBCursorBackendImpl.h', -
trunk/Source/WebCore/bindings/v8/SerializedScriptValue.cpp
r79209 r80171 1147 1147 } 1148 1148 1149 void SerializedScriptValue::deserializeAndSetProperty(v8::Handle<v8::Object> object, const char* propertyName, 1150 v8::PropertyAttribute attribute, PassRefPtr<SerializedScriptValue> value) 1151 { 1152 deserializeAndSetProperty(object, propertyName, attribute, value.get()); 1153 } 1154 1149 1155 PassRefPtr<SerializedScriptValue> SerializedScriptValue::create(v8::Handle<v8::Value> value, bool& didThrow) 1150 1156 { -
trunk/Source/WebCore/bindings/v8/SerializedScriptValue.h
r77558 r80171 40 40 class SerializedScriptValue : public ThreadSafeShared<SerializedScriptValue> { 41 41 public: 42 static void deserializeAndSetProperty(v8::Handle<v8::Object> object, const char* propertyName,42 static void deserializeAndSetProperty(v8::Handle<v8::Object>, const char* propertyName, 43 43 v8::PropertyAttribute, SerializedScriptValue*); 44 static void deserializeAndSetProperty(v8::Handle<v8::Object>, const char* propertyName, 45 v8::PropertyAttribute, PassRefPtr<SerializedScriptValue>); 44 46 45 47 // If a serialization error occurs (e.g., cyclic input value) this -
trunk/Source/WebCore/bindings/v8/custom/V8IDBAnyCustom.cpp
r68795 r80171 34 34 #include "SerializedScriptValue.h" 35 35 #include "V8IDBCursor.h" 36 #include "V8IDBCursorWithValue.h" 36 37 #include "V8IDBDatabase.h" 37 38 #include "V8IDBFactory.h" … … 55 56 case IDBAny::IDBCursorType: 56 57 return toV8(impl->idbCursor()); 58 case IDBAny::IDBCursorWithValueType: 59 return toV8(impl->idbCursorWithValue()); 57 60 case IDBAny::IDBDatabaseType: 58 61 return toV8(impl->idbDatabase()); -
trunk/Source/WebCore/storage/IDBAny.cpp
r68795 r80171 29 29 #if ENABLE(INDEXED_DATABASE) 30 30 31 #include "IDBCursor .h"31 #include "IDBCursorWithValue.h" 32 32 #include "IDBDatabase.h" 33 33 #include "IDBFactory.h" … … 63 63 ASSERT(m_type == IDBCursorType); 64 64 return m_idbCursor; 65 } 66 67 68 PassRefPtr<IDBCursorWithValue> IDBAny::idbCursorWithValue() 69 { 70 ASSERT(m_type == IDBCursorWithValueType); 71 return m_idbCursorWithValue; 65 72 } 66 73 … … 111 118 ASSERT(m_type == UndefinedType); 112 119 m_type = NullType; 120 } 121 122 void IDBAny::set(PassRefPtr<IDBCursorWithValue> value) 123 { 124 ASSERT(m_type == UndefinedType); 125 m_type = IDBCursorWithValueType; 126 m_idbCursorWithValue = value; 113 127 } 114 128 -
trunk/Source/WebCore/storage/IDBAny.h
r68795 r80171 36 36 37 37 class IDBCursor; 38 class IDBCursorWithValue; 38 39 class IDBDatabase; 39 40 class IDBFactory; … … 68 69 NullType, 69 70 IDBCursorType, 71 IDBCursorWithValueType, 70 72 IDBDatabaseType, 71 73 IDBFactoryType, … … 80 82 // Use type() to figure out which one of these you're allowed to call. 81 83 PassRefPtr<IDBCursor> idbCursor(); 84 PassRefPtr<IDBCursorWithValue> idbCursorWithValue(); 82 85 PassRefPtr<IDBDatabase> idbDatabase(); 83 86 PassRefPtr<IDBFactory> idbFactory(); … … 91 94 void setNull(); 92 95 void set(PassRefPtr<IDBCursor>); 96 void set(PassRefPtr<IDBCursorWithValue>); 93 97 void set(PassRefPtr<IDBDatabase>); 94 98 void set(PassRefPtr<IDBFactory>); … … 106 110 // Only one of the following should ever be in use at any given time. 107 111 RefPtr<IDBCursor> m_idbCursor; 112 RefPtr<IDBCursorWithValue> m_idbCursorWithValue; 108 113 RefPtr<IDBDatabase> m_idbDatabase; 109 114 RefPtr<IDBFactory> m_idbFactory; -
trunk/Source/WebCore/storage/IDBCursor.cpp
r80055 r80171 40 40 namespace WebCore { 41 41 42 PassRefPtr<IDBCursor> IDBCursor::create(PassRefPtr<IDBCursorBackendInterface> backend, IDBRequest* request, IDBTransaction* transaction) 43 { 44 return adoptRef(new IDBCursor(backend, request, transaction)); 45 } 46 42 47 IDBCursor::IDBCursor(PassRefPtr<IDBCursorBackendInterface> backend, IDBRequest* request, IDBTransaction* transaction) 43 48 : m_backend(backend) … … 64 69 } 65 70 66 PassRefPtr<IDBAny> IDBCursor::value() const 71 PassRefPtr<IDBKey> IDBCursor::primaryKey() const 72 { 73 return m_backend->primaryKey(); 74 } 75 76 PassRefPtr<SerializedScriptValue> IDBCursor::value() const 67 77 { 68 78 return m_backend->value(); -
trunk/Source/WebCore/storage/IDBCursor.h
r77689 r80171 30 30 31 31 #include "ExceptionCode.h" 32 #include "IDBKey.h" 32 33 #include <wtf/PassRefPtr.h> 33 34 #include <wtf/RefCounted.h> … … 39 40 class IDBCallbacks; 40 41 class IDBCursorBackendInterface; 41 class IDBKey;42 42 class IDBRequest; 43 43 class IDBTransaction; … … 53 53 PREV_NO_DUPLICATE = 3, 54 54 }; 55 static PassRefPtr<IDBCursor> create(PassRefPtr<IDBCursorBackendInterface> backend, IDBRequest* request, IDBTransaction* transaction) 56 { 57 return adoptRef(new IDBCursor(backend, request, transaction)); 58 } 59 ~IDBCursor(); 55 static PassRefPtr<IDBCursor> create(PassRefPtr<IDBCursorBackendInterface>, IDBRequest*, IDBTransaction*); 56 virtual ~IDBCursor(); 60 57 61 58 // FIXME: Try to modify the code generator so this is unneeded. … … 65 62 unsigned short direction() const; 66 63 PassRefPtr<IDBKey> key() const; 67 PassRefPtr<IDBAny> value() const; 64 PassRefPtr<IDBKey> primaryKey() const; 65 PassRefPtr<SerializedScriptValue> value() const; 68 66 PassRefPtr<IDBRequest> update(ScriptExecutionContext*, PassRefPtr<SerializedScriptValue>, ExceptionCode&); 69 67 void continueFunction(PassRefPtr<IDBKey>, ExceptionCode&); 70 68 PassRefPtr<IDBRequest> deleteFunction(ScriptExecutionContext*, ExceptionCode&); 71 69 72 pr ivate:70 protected: 73 71 explicit IDBCursor(PassRefPtr<IDBCursorBackendInterface>, IDBRequest*, IDBTransaction*); 74 72 73 private: 75 74 RefPtr<IDBCursorBackendInterface> m_backend; 76 75 RefPtr<IDBRequest> m_request; -
trunk/Source/WebCore/storage/IDBCursor.idl
r77371 r80171 36 36 readonly attribute unsigned short direction; 37 37 readonly attribute IDBKey key; 38 readonly attribute IDB Any value;38 readonly attribute IDBKey primaryKey; 39 39 40 40 [CallWith=ScriptExecutionContext] IDBRequest update(in SerializedScriptValue value) -
trunk/Source/WebCore/storage/IDBCursorBackendImpl.cpp
r79426 r80171 46 46 namespace WebCore { 47 47 48 IDBCursorBackendImpl::IDBCursorBackendImpl(IDBBackingStore* backingStore, PassRefPtr<IDBKeyRange> keyRange, IDBCursor::Direction direction, PassOwnPtr<SQLiteStatement> query, bool isSerializedScriptValueCursor, IDBTransactionBackendInterface* transaction, IDBObjectStoreBackendInterface* objectStore)48 IDBCursorBackendImpl::IDBCursorBackendImpl(IDBBackingStore* backingStore, PassRefPtr<IDBKeyRange> keyRange, IDBCursor::Direction direction, PassOwnPtr<SQLiteStatement> query, CursorType cursorType, IDBTransactionBackendInterface* transaction, IDBObjectStoreBackendInterface* objectStore) 49 49 : m_backingStore(backingStore) 50 50 , m_keyRange(keyRange) 51 51 , m_direction(direction) 52 52 , m_query(query) 53 , m_ isSerializedScriptValueCursor(isSerializedScriptValueCursor)53 , m_cursorType(cursorType) 54 54 , m_transaction(transaction) 55 55 , m_objectStore(objectStore) … … 72 72 } 73 73 74 PassRefPtr<IDB Any> IDBCursorBackendImpl::value() const74 PassRefPtr<IDBKey> IDBCursorBackendImpl::primaryKey() const 75 75 { 76 if (m_isSerializedScriptValueCursor) 77 return IDBAny::create(m_currentSerializedScriptValue.get()); 78 return IDBAny::create(m_currentIDBKeyValue.get()); 76 return m_currentPrimaryKey; 77 } 78 79 PassRefPtr<SerializedScriptValue> IDBCursorBackendImpl::value() const 80 { 81 ASSERT(m_cursorType != IndexKeyCursor); 82 return m_currentValue; 79 83 } 80 84 81 85 void IDBCursorBackendImpl::update(PassRefPtr<SerializedScriptValue> value, PassRefPtr<IDBCallbacks> callbacks, ExceptionCode& ec) 82 86 { 83 if (!m_query || m_currentId == InvalidId || !m_isSerializedScriptValueCursor) {87 if (!m_query || m_currentId == InvalidId || m_cursorType == IndexKeyCursor) { 84 88 ec = IDBDatabaseException::NOT_ALLOWED_ERR; 85 89 return; 86 90 } 87 91 88 RefPtr<IDBKey> key = m_currentIDBKeyValue ? m_currentIDBKeyValue : m_currentKey; 89 m_objectStore->put(value, key.release(), IDBObjectStoreBackendInterface::CursorUpdate, callbacks, m_transaction.get(), ec); 92 m_objectStore->put(value, m_currentPrimaryKey, IDBObjectStoreBackendInterface::CursorUpdate, callbacks, m_transaction.get(), ec); 90 93 } 91 94 … … 101 104 bool IDBCursorBackendImpl::currentRowExists() 102 105 { 103 String sql = m_cur rentIDBKeyValue ? "SELECT id FROM IndexData WHERE id = ?" : "SELECT id FROM ObjectStoreData WHERE id = ?";106 String sql = m_cursorType == ObjectStoreCursor ? "SELECT id FROM ObjectStoreData WHERE id = ?" : "SELECT id FROM IndexData WHERE id = ?"; 104 107 SQLiteStatement statement(m_backingStore->db(), sql); 105 108 … … 122 125 cursor->m_currentId = InvalidId; 123 126 cursor->m_currentKey = 0; 124 cursor->m_current SerializedScriptValue= 0;125 cursor->m_current IDBKeyValue = 0;127 cursor->m_currentPrimaryKey = 0; 128 cursor->m_currentValue = 0; 126 129 callbacks->onSuccess(SerializedScriptValue::nullValue()); 127 130 return; … … 151 154 void IDBCursorBackendImpl::deleteFunction(PassRefPtr<IDBCallbacks> prpCallbacks, ExceptionCode& ec) 152 155 { 153 if (!m_query || m_currentId == InvalidId || !m_isSerializedScriptValueCursor) {156 if (!m_query || m_currentId == InvalidId || m_cursorType == IndexKeyCursor) { 154 157 ec = IDBDatabaseException::NOT_ALLOWED_ERR; 155 158 return; 156 159 } 157 160 158 RefPtr<IDBKey> key = m_currentIDBKeyValue ? m_currentIDBKeyValue : m_currentKey; 159 m_objectStore->deleteFunction(key.release(), prpCallbacks, m_transaction.get(), ec); 161 m_objectStore->deleteFunction(m_currentPrimaryKey, prpCallbacks, m_transaction.get(), ec); 160 162 } 161 163 … … 163 165 void IDBCursorBackendImpl::loadCurrentRow() 164 166 { 165 // The column numbers depend on the query in IDBObjectStoreBackendImpl::openCursorInternal or 166 // IDBIndexBackendImpl::openCursorInternal. 167 // The column numbers depend on the query in IDBObjectStoreBackendImpl::openCursorInternal and/or IDBIndexBackendImpl::openCursorInternal. 167 168 m_currentId = m_query->getColumnInt64(0); 168 169 m_currentKey = IDBKey::fromQuery(*m_query, 1); 169 if (m_isSerializedScriptValueCursor) 170 m_currentSerializedScriptValue = SerializedScriptValue::createFromWire(m_query->getColumnBlobAsString(4)); 171 172 m_currentIDBKeyValue = IDBKey::fromQuery(*m_query, 5); 170 m_currentValue = SerializedScriptValue::createFromWire(m_query->getColumnBlobAsString(4)); 171 m_currentPrimaryKey = IDBKey::fromQuery(*m_query, 5); 173 172 } 174 173 -
trunk/Source/WebCore/storage/IDBCursorBackendImpl.h
r79426 r80171 50 50 class IDBCursorBackendImpl : public IDBCursorBackendInterface { 51 51 public: 52 static PassRefPtr<IDBCursorBackendImpl> create(IDBBackingStore* backingStore, PassRefPtr<IDBKeyRange> keyRange, IDBCursor::Direction direction, PassOwnPtr<SQLiteStatement> query, bool isSerializedScriptValueCursor, IDBTransactionBackendInterface* transaction, IDBObjectStoreBackendInterface* objectStore)52 static PassRefPtr<IDBCursorBackendImpl> create(IDBBackingStore* backingStore, PassRefPtr<IDBKeyRange> keyRange, IDBCursor::Direction direction, PassOwnPtr<SQLiteStatement> query, CursorType cursorType, IDBTransactionBackendInterface* transaction, IDBObjectStoreBackendInterface* objectStore) 53 53 { 54 return adoptRef(new IDBCursorBackendImpl(backingStore, keyRange, direction, query, isSerializedScriptValueCursor, transaction, objectStore));54 return adoptRef(new IDBCursorBackendImpl(backingStore, keyRange, direction, query, cursorType, transaction, objectStore)); 55 55 } 56 56 virtual ~IDBCursorBackendImpl(); … … 58 58 virtual unsigned short direction() const; 59 59 virtual PassRefPtr<IDBKey> key() const; 60 virtual PassRefPtr<IDBAny> value() const; 60 virtual PassRefPtr<IDBKey> primaryKey() const; 61 virtual PassRefPtr<SerializedScriptValue> value() const; 61 62 virtual void update(PassRefPtr<SerializedScriptValue>, PassRefPtr<IDBCallbacks>, ExceptionCode&); 62 63 virtual void continueFunction(PassRefPtr<IDBKey>, PassRefPtr<IDBCallbacks>, ExceptionCode&); … … 64 65 65 66 private: 66 IDBCursorBackendImpl(IDBBackingStore*, PassRefPtr<IDBKeyRange>, IDBCursor::Direction, PassOwnPtr<SQLiteStatement> query, bool isSerializedScriptValueCursor, IDBTransactionBackendInterface*, IDBObjectStoreBackendInterface*);67 IDBCursorBackendImpl(IDBBackingStore*, PassRefPtr<IDBKeyRange>, IDBCursor::Direction, PassOwnPtr<SQLiteStatement> query, CursorType, IDBTransactionBackendInterface*, IDBObjectStoreBackendInterface*); 67 68 68 69 bool currentRowExists(); … … 79 80 IDBCursor::Direction m_direction; 80 81 OwnPtr<SQLiteStatement> m_query; 81 bool m_isSerializedScriptValueCursor;82 CursorType m_cursorType; 82 83 int64_t m_currentId; 83 84 84 // The key in the objectStore or index that this cursor iterates over.85 85 RefPtr<IDBKey> m_currentKey; 86 87 // m_isSerializedScriptValueCursor will only be available for object cursors. 88 RefPtr<SerializedScriptValue> m_currentSerializedScriptValue; 89 90 // FIXME: make the primary key available via script for all types of cursors. 91 // For cursors on indices, this is the key in the objectstore that corresponds to the current entry in the index. 92 RefPtr<IDBKey> m_currentIDBKeyValue; 86 RefPtr<IDBKey> m_currentPrimaryKey; 87 RefPtr<SerializedScriptValue> m_currentValue; 93 88 94 89 RefPtr<IDBTransactionBackendInterface> m_transaction; -
trunk/Source/WebCore/storage/IDBCursorBackendInterface.h
r74342 r80171 46 46 virtual ~IDBCursorBackendInterface() {} 47 47 48 enum CursorType { 49 InvalidCursorType = 0, 50 IndexCursor, 51 IndexKeyCursor, 52 ObjectStoreCursor 53 }; 54 48 55 virtual unsigned short direction() const = 0; 49 56 virtual PassRefPtr<IDBKey> key() const = 0; 50 virtual PassRefPtr<IDBAny> value() const = 0; 57 virtual PassRefPtr<IDBKey> primaryKey() const = 0; 58 virtual PassRefPtr<SerializedScriptValue> value() const = 0; 51 59 52 60 virtual void update(PassRefPtr<SerializedScriptValue>, PassRefPtr<IDBCallbacks>, ExceptionCode&) = 0; -
trunk/Source/WebCore/storage/IDBCursorWithValue.cpp
r80170 r80171 1 1 /* 2 * Copyright (C) 201 0Google Inc. All rights reserved.2 * Copyright (C) 2011 Google Inc. All rights reserved. 3 3 * 4 4 * Redistribution and use in source and binary forms, with or without … … 24 24 */ 25 25 26 module storage { 26 #include "config.h" 27 #include "IDBCursorWithValue.h" 27 28 28 interface [ 29 Conditional=INDEXED_DATABASE 30 ] IDBCursor { 31 const unsigned short NEXT = 0; 32 const unsigned short NEXT_NO_DUPLICATE = 1; 33 const unsigned short PREV = 2; 34 const unsigned short PREV_NO_DUPLICATE = 3; 29 #if ENABLE(INDEXED_DATABASE) 35 30 36 readonly attribute unsigned short direction; 37 readonly attribute IDBKey key; 38 readonly attribute IDBAny value; 31 #include "IDBCursorBackendInterface.h" 32 #include "IDBKey.h" 39 33 40 [CallWith=ScriptExecutionContext] IDBRequest update(in SerializedScriptValue value) 41 raises (IDBDatabaseException); 42 [ImplementationFunction=continueFunction] void continue(in [Optional] IDBKey key) 43 raises (IDBDatabaseException); 44 [CallWith=ScriptExecutionContext, ImplementationFunction=deleteFunction] IDBRequest delete() 45 raises (IDBDatabaseException); 46 }; 34 namespace WebCore { 35 36 PassRefPtr<IDBCursorWithValue> IDBCursorWithValue::create(PassRefPtr<IDBCursorBackendInterface> backend, IDBRequest* request, IDBTransaction* transaction) 37 { 38 return adoptRef(new IDBCursorWithValue(backend, request, transaction)); 47 39 } 40 41 IDBCursorWithValue::IDBCursorWithValue(PassRefPtr<IDBCursorBackendInterface> backend, IDBRequest* request, IDBTransaction* transaction) 42 : IDBCursor(backend, request, transaction) 43 { 44 } 45 46 IDBCursorWithValue::~IDBCursorWithValue() 47 { 48 } 49 50 } // namespace WebCore 51 52 #endif // ENABLE(INDEXED_DATABASE) -
trunk/Source/WebCore/storage/IDBCursorWithValue.h
r80170 r80171 1 1 /* 2 * Copyright (C) 201 0Google Inc. All rights reserved.2 * Copyright (C) 2011 Google Inc. All rights reserved. 3 3 * 4 4 * Redistribution and use in source and binary forms, with or without … … 24 24 */ 25 25 26 #ifndef IDBCursor BackendInterface_h27 #define IDBCursor BackendInterface_h26 #ifndef IDBCursorWithValue_h 27 #define IDBCursorWithValue_h 28 28 29 29 #if ENABLE(INDEXED_DATABASE) 30 30 31 #include "ExceptionCode.h" 32 #include <wtf/PassRefPtr.h> 33 #include <wtf/RefCounted.h> 34 #include <wtf/Threading.h> 31 #include "IDBCursor.h" 35 32 36 33 namespace WebCore { 37 34 38 class IDBAny; 39 class IDBCallbacks; 40 class IDBKey; 41 class IDBRequest; 42 class SerializedScriptValue; 35 class IDBCursorWithValue : public IDBCursor { 36 public: 37 static PassRefPtr<IDBCursorWithValue> create(PassRefPtr<IDBCursorBackendInterface>, IDBRequest*, IDBTransaction*); 38 virtual ~IDBCursorWithValue(); 43 39 44 class IDBCursorBackendInterface : public ThreadSafeShared<IDBCursorBackendInterface> { 45 public: 46 virtual ~IDBCursorBackendInterface() {} 40 // The value attribute defined in the IDL is simply implemented in IDBCursor (but not exposed via 41 // its IDL). This is to make the implementation more simple while matching what the spec says. 47 42 48 virtual unsigned short direction() const = 0; 49 virtual PassRefPtr<IDBKey> key() const = 0; 50 virtual PassRefPtr<IDBAny> value() const = 0; 51 52 virtual void update(PassRefPtr<SerializedScriptValue>, PassRefPtr<IDBCallbacks>, ExceptionCode&) = 0; 53 virtual void continueFunction(PassRefPtr<IDBKey> key, PassRefPtr<IDBCallbacks>, ExceptionCode&) = 0; 54 virtual void deleteFunction(PassRefPtr<IDBCallbacks>, ExceptionCode&) = 0; 43 private: 44 explicit IDBCursorWithValue(PassRefPtr<IDBCursorBackendInterface>, IDBRequest*, IDBTransaction*); 55 45 }; 56 46 … … 59 49 #endif 60 50 61 #endif // IDBCursor BackendInterface_h51 #endif // IDBCursorWithValue_h -
trunk/Source/WebCore/storage/IDBCursorWithValue.idl
r80170 r80171 28 28 interface [ 29 29 Conditional=INDEXED_DATABASE 30 ] IDBCursor { 31 const unsigned short NEXT = 0; 32 const unsigned short NEXT_NO_DUPLICATE = 1; 33 const unsigned short PREV = 2; 34 const unsigned short PREV_NO_DUPLICATE = 3; 35 36 readonly attribute unsigned short direction; 37 readonly attribute IDBKey key; 38 readonly attribute IDBAny value; 39 40 [CallWith=ScriptExecutionContext] IDBRequest update(in SerializedScriptValue value) 41 raises (IDBDatabaseException); 42 [ImplementationFunction=continueFunction] void continue(in [Optional] IDBKey key) 43 raises (IDBDatabaseException); 44 [CallWith=ScriptExecutionContext, ImplementationFunction=deleteFunction] IDBRequest delete() 45 raises (IDBDatabaseException); 30 ] IDBCursorWithValue : IDBCursor { 31 readonly attribute SerializedScriptValue value; 46 32 }; 47 33 } -
trunk/Source/WebCore/storage/IDBIndex.cpp
r80055 r80171 62 62 63 63 RefPtr<IDBRequest> request = IDBRequest::create(context, IDBAny::create(this), m_transaction.get()); 64 request->setCursorType(IDBCursorBackendInterface::IndexCursor); 64 65 m_backend->openCursor(keyRange, direction, request, m_transaction->backend(), ec); 65 66 if (ec) { … … 79 80 80 81 RefPtr<IDBRequest> request = IDBRequest::create(context, IDBAny::create(this), m_transaction.get()); 82 request->setCursorType(IDBCursorBackendInterface::IndexKeyCursor); 81 83 m_backend->openKeyCursor(keyRange, direction, request, m_transaction->backend(), ec); 82 84 if (ec) { -
trunk/Source/WebCore/storage/IDBIndexBackendImpl.cpp
r79426 r80171 67 67 } 68 68 69 void IDBIndexBackendImpl::openCursorInternal(ScriptExecutionContext*, PassRefPtr<IDBIndexBackendImpl> index, PassRefPtr<IDBKeyRange> range, unsigned short untypedDirection, bool objectCursor, PassRefPtr<IDBCallbacks> callbacks, PassRefPtr<IDBTransactionBackendInterface> transaction)69 void IDBIndexBackendImpl::openCursorInternal(ScriptExecutionContext*, PassRefPtr<IDBIndexBackendImpl> index, PassRefPtr<IDBKeyRange> range, unsigned short untypedDirection, IDBCursorBackendInterface::CursorType cursorType, PassRefPtr<IDBCallbacks> callbacks, PassRefPtr<IDBTransactionBackendInterface> transaction) 70 70 { 71 71 // Several files depend on this order of selects. … … 109 109 ASSERT(objectStore && !ec); 110 110 111 RefPtr<IDBCursorBackendInterface> cursor = IDBCursorBackendImpl::create(index->m_backingStore.get(), range, direction, query.release(), objectCursor, transaction.get(), objectStore.get());111 RefPtr<IDBCursorBackendInterface> cursor = IDBCursorBackendImpl::create(index->m_backingStore.get(), range, direction, query.release(), cursorType, transaction.get(), objectStore.get()); 112 112 callbacks->onSuccess(cursor.release()); 113 113 } … … 119 119 RefPtr<IDBCallbacks> callbacks = prpCallbacks; 120 120 RefPtr<IDBTransactionBackendInterface> transaction = transactionPtr; 121 if (!transaction->scheduleTask(createCallbackTask(&openCursorInternal, index, keyRange, direction, true, callbacks, transaction)))121 if (!transaction->scheduleTask(createCallbackTask(&openCursorInternal, index, keyRange, direction, IDBCursorBackendInterface::IndexCursor, callbacks, transaction))) 122 122 ec = IDBDatabaseException::NOT_ALLOWED_ERR; 123 123 } … … 129 129 RefPtr<IDBCallbacks> callbacks = prpCallbacks; 130 130 RefPtr<IDBTransactionBackendInterface> transaction = transactionPtr; 131 if (!transaction->scheduleTask(createCallbackTask(&openCursorInternal, index, keyRange, direction, false, callbacks, transaction)))131 if (!transaction->scheduleTask(createCallbackTask(&openCursorInternal, index, keyRange, direction, IDBCursorBackendInterface::IndexKeyCursor, callbacks, transaction))) 132 132 ec = IDBDatabaseException::NOT_ALLOWED_ERR; 133 133 } -
trunk/Source/WebCore/storage/IDBIndexBackendImpl.h
r79426 r80171 27 27 #define IDBIndexBackendImpl_h 28 28 29 #if ENABLE(INDEXED_DATABASE) 30 31 #include "IDBCursorBackendInterface.h" 29 32 #include "IDBIndexBackendInterface.h" 30 31 #if ENABLE(INDEXED_DATABASE)32 33 33 34 namespace WebCore { … … 78 79 SQLiteDatabase& sqliteDatabase() const; 79 80 80 static void openCursorInternal(ScriptExecutionContext*, PassRefPtr<IDBIndexBackendImpl>, PassRefPtr<IDBKeyRange>, unsigned short direction, bool objectCursor, PassRefPtr<IDBCallbacks>, PassRefPtr<IDBTransactionBackendInterface>);81 static void openCursorInternal(ScriptExecutionContext*, PassRefPtr<IDBIndexBackendImpl>, PassRefPtr<IDBKeyRange>, unsigned short direction, IDBCursorBackendInterface::CursorType, PassRefPtr<IDBCallbacks>, PassRefPtr<IDBTransactionBackendInterface>); 81 82 static void getInternal(ScriptExecutionContext*, PassRefPtr<IDBIndexBackendImpl>, PassRefPtr<IDBKey>, bool getObject, PassRefPtr<IDBCallbacks>); 82 83 -
trunk/Source/WebCore/storage/IDBObjectStore.cpp
r80055 r80171 158 158 159 159 RefPtr<IDBRequest> request = IDBRequest::create(context, IDBAny::create(this), m_transaction.get()); 160 request->setCursorType(IDBCursorBackendInterface::ObjectStoreCursor); 160 161 m_objectStore->openCursor(range, direction, request, m_transaction->backend(), ec); 161 162 if (ec) { -
trunk/Source/WebCore/storage/IDBObjectStoreBackendImpl.cpp
r79445 r80171 489 489 490 490 // Several files depend on this order of selects. 491 String sql = "SELECT id, keyString, keyDate, keyNumber, value FROM ObjectStoreData WHERE ";491 String sql = "SELECT id, keyString, keyDate, keyNumber, value, keyString, keyDate, keyNumber FROM ObjectStoreData WHERE "; 492 492 if (lowerBound) 493 493 sql += range->lower()->lowerCursorWhereFragment(range->lowerWhereClauseComparisonOperator()); … … 518 518 } 519 519 520 RefPtr<IDBCursorBackendInterface> cursor = IDBCursorBackendImpl::create(objectStore->m_backingStore.get(), range, direction, query.release(), true, transaction.get(), objectStore.get());520 RefPtr<IDBCursorBackendInterface> cursor = IDBCursorBackendImpl::create(objectStore->m_backingStore.get(), range, direction, query.release(), IDBCursorBackendInterface::ObjectStoreCursor, transaction.get(), objectStore.get()); 521 521 callbacks->onSuccess(cursor.release()); 522 522 } -
trunk/Source/WebCore/storage/IDBRequest.cpp
r80055 r80171 37 37 #include "EventNames.h" 38 38 #include "EventQueue.h" 39 #include "IDBCursor .h"39 #include "IDBCursorWithValue.h" 40 40 #include "IDBDatabase.h" 41 41 #include "IDBEventDispatcher.h" … … 59 59 , m_readyState(LOADING) 60 60 , m_finished(false) 61 , m_cursorType(IDBCursorBackendInterface::InvalidCursorType) 61 62 { 62 63 if (m_transaction) { … … 166 167 } 167 168 169 void IDBRequest::setCursorType(IDBCursorBackendInterface::CursorType cursorType) 170 { 171 ASSERT(m_cursorType == IDBCursorBackendInterface::InvalidCursorType); 172 m_cursorType = cursorType; 173 } 174 168 175 void IDBRequest::onError(PassRefPtr<IDBDatabaseError> error) 169 176 { … … 182 189 { 183 190 ASSERT(!m_errorCode && m_errorMessage.isNull() && !m_result); 184 m_result = IDBAny::create(IDBCursor::create(backend, this, m_transaction.get())); 191 ASSERT(m_cursorType != IDBCursorBackendInterface::InvalidCursorType); 192 if (m_cursorType == IDBCursorBackendInterface::IndexKeyCursor) 193 m_result = IDBAny::create(IDBCursor::create(backend, this, m_transaction.get())); 194 else 195 m_result = IDBAny::create(IDBCursorWithValue::create(backend, this, m_transaction.get())); 185 196 enqueueEvent(createSuccessEvent()); 186 197 } … … 286 297 287 298 // If the result was of type IDBCursor, then we'll fire again. 288 if (m_result && m_result->type() != IDBAny::IDBCursorType )299 if (m_result && m_result->type() != IDBAny::IDBCursorType && m_result->type() != IDBAny::IDBCursorWithValueType) 289 300 m_finished = true; 290 301 -
trunk/Source/WebCore/storage/IDBRequest.h
r80055 r80171 69 69 void markEarlyDeath(); 70 70 bool resetReadyState(IDBTransaction*); 71 void setCursorType(IDBCursorBackendInterface::CursorType); 71 72 IDBAny* source(); 72 73 void abort(); … … 117 118 Vector<RefPtr<Event> > m_enqueuedEvents; 118 119 120 // Only used if the result type will be a cursor. 121 IDBCursorBackendInterface::CursorType m_cursorType; 122 119 123 EventTargetData m_eventTargetData; 120 124 }; -
trunk/Source/WebKit/chromium/ChangeLog
r80166 r80171 1 2011-02-28 Jeremy Orlow <jorlow@chromium.org> 2 3 Reviewed by James Robinson. 4 5 Split IDBCursor.value into IDBCursor.primaryKey and IDBCursor.value 6 https://bugs.webkit.org/show_bug.cgi?id=55443 7 8 * public/WebIDBCursor.h: 9 (WebKit::WebIDBCursor::primaryKey): 10 (WebKit::WebIDBCursor::value): 11 * src/IDBCursorBackendProxy.cpp: 12 (WebCore::IDBCursorBackendProxy::primaryKey): 13 (WebCore::IDBCursorBackendProxy::value): 14 * src/IDBCursorBackendProxy.h: 15 * src/WebIDBCursorImpl.cpp: 16 (WebKit::WebIDBCursorImpl::key): 17 (WebKit::WebIDBCursorImpl::primaryKey): 18 (WebKit::WebIDBCursorImpl::value): 19 * src/WebIDBCursorImpl.h: 20 1 21 2011-03-02 Daniel Cheng <dcheng@chromium.org> 2 22 -
trunk/Source/WebKit/chromium/public/WebIDBCursor.h
r80056 r80171 56 56 return WebIDBKey::createInvalid(); 57 57 } 58 // One or the other will set, depending on what type of cursor this is. 59 virtual void value(WebSerializedScriptValue& serializedScriptValue, WebIDBKey& idbKey) const { WEBKIT_ASSERT_NOT_REACHED(); } 58 // FIXME: Remove the following 2 methods and uncomment third after roll. 59 virtual WebSerializedScriptValue value() const 60 { 61 WebSerializedScriptValue serializedScriptValue; 62 WebIDBKey key; 63 value(serializedScriptValue, key); 64 return serializedScriptValue; 65 } 66 virtual void value(WebSerializedScriptValue& serializedScriptValue, WebIDBKey& key) const 67 { 68 serializedScriptValue = value(); 69 } 70 // virtual WebSerializedScriptValue value() const 71 // { 72 // WEBKIT_ASSERT_NOT_REACHED(); 73 // return WebSerializedScriptValue(); 74 // } 60 75 61 76 virtual void update(const WebSerializedScriptValue&, WebIDBCallbacks*, WebExceptionCode&) { WEBKIT_ASSERT_NOT_REACHED(); } -
trunk/Source/WebKit/chromium/src/IDBCursorBackendProxy.cpp
r74342 r80171 63 63 } 64 64 65 PassRefPtr<IDB Any> IDBCursorBackendProxy::value() const65 PassRefPtr<IDBKey> IDBCursorBackendProxy::primaryKey() const 66 66 { 67 WebKit::WebSerializedScriptValue webScriptValue; 68 WebKit::WebIDBKey webKey; 69 m_idbCursor->value(webScriptValue, webKey); 70 if (!webScriptValue.isNull()) { 71 ASSERT(webKey.type() == WebKit::WebIDBKey::InvalidType); 72 return IDBAny::create<SerializedScriptValue>(webScriptValue); 73 } 74 ASSERT(webKey.type() != WebKit::WebIDBKey::InvalidType); 75 return IDBAny::create<IDBKey>(webKey); 67 return m_idbCursor->primaryKey(); 68 } 69 70 PassRefPtr<SerializedScriptValue> IDBCursorBackendProxy::value() const 71 { 72 return m_idbCursor->value(); 76 73 } 77 74 -
trunk/Source/WebKit/chromium/src/IDBCursorBackendProxy.h
r74342 r80171 45 45 virtual unsigned short direction() const; 46 46 virtual PassRefPtr<IDBKey> key() const; 47 virtual PassRefPtr<IDBAny> value() const; 47 virtual PassRefPtr<IDBKey> primaryKey() const; 48 virtual PassRefPtr<SerializedScriptValue> value() const; 48 49 virtual void update(PassRefPtr<SerializedScriptValue>, PassRefPtr<IDBCallbacks>, ExceptionCode&); 49 50 virtual void continueFunction(PassRefPtr<IDBKey>, PassRefPtr<IDBCallbacks>, ExceptionCode&); -
trunk/Source/WebKit/chromium/src/WebIDBCursorImpl.cpp
r74342 r80171 53 53 WebIDBKey WebIDBCursorImpl::key() const 54 54 { 55 return WebIDBKey(m_idbCursorBackend->key());55 return m_idbCursorBackend->key(); 56 56 } 57 57 58 void WebIDBCursorImpl::value(WebSerializedScriptValue& serializedScriptValue, WebIDBKey& idbKey) const58 WebIDBKey WebIDBCursorImpl::primaryKey() const 59 59 { 60 // Verify we're starting off with blank slates. 61 ASSERT(serializedScriptValue.isNull()); 62 ASSERT(idbKey.type() == WebIDBKey::InvalidType); 60 return m_idbCursorBackend->primaryKey(); 61 } 63 62 64 RefPtr<IDBAny> any = m_idbCursorBackend->value(); 65 if (any->type() == IDBAny::SerializedScriptValueType) 66 serializedScriptValue.assign(any->serializedScriptValue()); 67 else if (any->type() == IDBAny::IDBKeyType) 68 idbKey.assign(any->idbKey()); 69 else 70 ASSERT_NOT_REACHED(); 63 WebSerializedScriptValue WebIDBCursorImpl::value() const 64 { 65 return m_idbCursorBackend->value(); 71 66 } 72 67 -
trunk/Source/WebKit/chromium/src/WebIDBCursorImpl.h
r74342 r80171 45 45 virtual unsigned short direction() const; 46 46 virtual WebIDBKey key() const; 47 virtual void value(WebSerializedScriptValue&, WebIDBKey&) const; 47 virtual WebIDBKey primaryKey() const; 48 virtual WebSerializedScriptValue value() const; 48 49 virtual void update(const WebSerializedScriptValue&, WebIDBCallbacks*, WebExceptionCode&); 49 50 virtual void continueFunction(const WebIDBKey&, WebIDBCallbacks*, WebExceptionCode&);
Note: See TracChangeset
for help on using the changeset viewer.