Test openCursor/openKeyCursor with raw IDBKeys.
On success, you will see a series of "PASS" messages, followed by "TEST COMPLETE".
dbname = "opencursor-key.html"
indexedDB.deleteDatabase(dbname)
indexedDB.open(dbname)
objectStore = db.createObjectStore(objectStoreName);
First, add all our data to the object store.
request = objectStore.add(objectStoreData[i].value, objectStoreData[i].key);
request = objectStore.add(objectStoreData[i].value, objectStoreData[i].key);
request = objectStore.add(objectStoreData[i].value, objectStoreData[i].key);
request = objectStore.add(objectStoreData[i].value, objectStoreData[i].key);
request = objectStore.add(objectStoreData[i].value, objectStoreData[i].key);
request = objectStore.add(objectStoreData[i].value, objectStoreData[i].key);
request = objectStore.add(objectStoreData[i].value, objectStoreData[i].key);
request = objectStore.add(objectStoreData[i].value, objectStoreData[i].key);
request = objectStore.add(objectStoreData[i].value, objectStoreData[i].key);
request = objectStore.add(objectStoreData[i].value, objectStoreData[i].key);
request = objectStore.add(objectStoreData[i].value, objectStoreData[i].key);
request = objectStore.add(objectStoreData[i].value, objectStoreData[i].key);
request = objectStore.add(objectStoreData[i].value, objectStoreData[i].key);
Now create the indexes.
objectStore.createIndex(indexData[i].name, indexData[i].keyPath, indexData[i].options);
objectStore.createIndex(indexData[i].name, indexData[i].keyPath, indexData[i].options);
objectStore.createIndex(indexData[i].name, indexData[i].keyPath, indexData[i].options);
testObjectStore()
trans = db.transaction(objectStoreName, 'readwrite')
objectStore = trans.objectStore(objectStoreName)
request = objectStore.openCursor('237-23-7739')
PASS cursor.key is "237-23-7739"
PASS JSON.stringify(cursor.value) is JSON.stringify(objectStoreData[7].value)
PASS cursor.primaryKey is cursor.key
cursor.continue()
PASS cursor is null
trans = db.transaction(objectStoreName, 'readwrite')
objectStore = trans.objectStore(objectStoreName)
index = objectStore.index('weight')
request = index.openCursor(180)
PASS cursor.key is 180
PASS JSON.stringify(cursor.value) is JSON.stringify(objectStoreData[2].value)
PASS cursor.primaryKey is "237-23-7734"
cursor.continue()
PASS cursor.key is 180
PASS JSON.stringify(cursor.value) is JSON.stringify(objectStoreData[6].value)
PASS cursor.primaryKey is "237-23-7738"
cursor.continue()
PASS cursor.key is 180
PASS JSON.stringify(cursor.value) is JSON.stringify(objectStoreData[10].value)
PASS cursor.primaryKey is "237-23-7742"
cursor.continue()
PASS cursor is null
trans = db.transaction(objectStoreName, 'readwrite')
objectStore = trans.objectStore(objectStoreName)
index = objectStore.index('weight')
request = index.openKeyCursor(180)
PASS cursor.key is 180
PASS cursor.primaryKey is "237-23-7734"
cursor.continue()
PASS cursor.key is 180
PASS cursor.primaryKey is "237-23-7738"
cursor.continue()
PASS cursor.key is 180
PASS cursor.primaryKey is "237-23-7742"
cursor.continue()
PASS cursor is null
PASS successfullyParsed is true
TEST COMPLETE