| Test IndexedDB behavior when iterating backwards with and without NO_DUPLICATE |
| |
| On success, you will see a series of "PASS" messages, followed by "TEST COMPLETE". |
| |
| |
| indexedDB = self.indexedDB || self.webkitIndexedDB || self.mozIndexedDB || self.msIndexedDB || self.OIndexedDB; |
| |
| indexedDB.deleteDatabase(dbname) |
| indexedDB.open(dbname) |
| store = db.createObjectStore('store') |
| store.createIndex('index', 'sorted') |
| |
| populating store... |
| trans = db.transaction('store', 'readwrite') |
| store = trans.objectStore('store'); |
| store.put({sorted: 3, value: 111}, 1) |
| store.put({sorted: 2, value: 222}, 2) |
| store.put({sorted: 1, value: 333}, 3) |
| store.put({sorted: 10, value: 444}, 17) |
| store.put({sorted: 10, value: 555}, 16) |
| store.put({sorted: 10, value: 666}, 15) |
| |
| testFarRangeCursor: upper bound is well out of range, results always the same, whether open or closed |
| storeReq = store.openCursor(IDBKeyRange.upperBound(7, false), 'prev') |
| PASS cursor.key is 3 |
| PASS cursor.value.value is 333 |
| DONE |
| |
| storeReq = store.openCursor(IDBKeyRange.upperBound(7, true), 'prev') |
| PASS cursor.key is 3 |
| PASS cursor.value.value is 333 |
| DONE |
| |
| storeReq = index.openCursor(IDBKeyRange.upperBound(7, false), 'prev') |
| PASS cursor.key is 3 |
| PASS cursor.value.value is 111 |
| PASS cursor.primaryKey is 1 |
| DONE |
| |
| storeReq = index.openCursor(IDBKeyRange.upperBound(7, true), 'prev') |
| PASS cursor.key is 3 |
| PASS cursor.value.value is 111 |
| PASS cursor.primaryKey is 1 |
| DONE |
| |
| storeReq = index.openKeyCursor(IDBKeyRange.upperBound(7, false), 'prev') |
| PASS cursor.key is 3 |
| PASS cursor.primaryKey is 1 |
| DONE |
| |
| storeReq = index.openKeyCursor(IDBKeyRange.upperBound(7, true), 'prev') |
| PASS cursor.key is 3 |
| PASS cursor.primaryKey is 1 |
| DONE |
| |
| storeReq = store.openCursor(IDBKeyRange.upperBound(3, false), 'prev') |
| PASS cursor.key is 3 |
| PASS cursor.value.value is 333 |
| DONE |
| |
| storeReq = store.openCursor(IDBKeyRange.upperBound(3, true), 'prev') |
| PASS cursor.key is 2 |
| PASS cursor.value.value is 222 |
| DONE |
| |
| storeReq = index.openCursor(IDBKeyRange.upperBound(3, false), 'prev') |
| PASS cursor.key is 3 |
| PASS cursor.value.value is 111 |
| PASS cursor.primaryKey is 1 |
| DONE |
| |
| storeReq = index.openCursor(IDBKeyRange.upperBound(3, true), 'prev') |
| PASS cursor.key is 2 |
| PASS cursor.value.value is 222 |
| PASS cursor.primaryKey is 2 |
| DONE |
| |
| storeReq = index.openKeyCursor(IDBKeyRange.upperBound(3, false), 'prev') |
| PASS cursor.key is 3 |
| PASS cursor.primaryKey is 1 |
| DONE |
| |
| storeReq = index.openKeyCursor(IDBKeyRange.upperBound(3, true), 'prev') |
| PASS cursor.key is 2 |
| PASS cursor.primaryKey is 2 |
| DONE |
| |
| testNoDuplicate: there are 3 values, but we should return always the first one |
| storeReq = store.openCursor(IDBKeyRange.upperBound(15, false), 'prevunique') |
| PASS cursor.key is 15 |
| PASS cursor.value.value is 666 |
| PASS cursor.primaryKey is 15 |
| DONE |
| |
| storeReq = index.openCursor(IDBKeyRange.upperBound(15, false), 'prevunique') |
| PASS cursor.key is 10 |
| PASS cursor.value.value is 666 |
| PASS cursor.primaryKey is 15 |
| DONE |
| |
| storeReq = index.openKeyCursor(IDBKeyRange.upperBound(15, false), 'prevunique') |
| PASS cursor.key is 10 |
| PASS cursor.primaryKey is 15 |
| DONE |
| |
| PASS successfullyParsed is true |
| |
| TEST COMPLETE |
| |