blob: 51e77054949739ed366018009bb9cdfe6256ddd0 [file] [log] [blame]
[Worker] Test IndexedDB cursor.advance().
On success, you will see a series of "PASS" messages, followed by "TEST COMPLETE".
Starting worker: resources/cursor-advance.js
[Worker] dbname = "cursor-advance.js"
[Worker] indexedDB.deleteDatabase(dbname)
[Worker] indexedDB.open(dbname)
[Worker]
[Worker] prepareDatabase():
[Worker] objectStore = db.createObjectStore(objectStoreName);
[Worker] Now create the indexes.
[Worker] objectStore.createIndex(indexData[i].name, indexData[i].keyPath, indexData[i].options);
[Worker] objectStore.createIndex(indexData[i].name, indexData[i].keyPath, indexData[i].options);
[Worker] objectStore.createIndex(indexData[i].name, indexData[i].keyPath, indexData[i].options);
[Worker] trans = db.transaction(objectStoreName, 'readwrite')
[Worker] objectStore = trans.objectStore(objectStoreName)
[Worker] First, add all our data to the object store.
[Worker] request = objectStore.add(objectStoreData[i].value, objectStoreData[i].key);
[Worker] request = objectStore.add(objectStoreData[i].value, objectStoreData[i].key);
[Worker] request = objectStore.add(objectStoreData[i].value, objectStoreData[i].key);
[Worker] request = objectStore.add(objectStoreData[i].value, objectStoreData[i].key);
[Worker] request = objectStore.add(objectStoreData[i].value, objectStoreData[i].key);
[Worker] request = objectStore.add(objectStoreData[i].value, objectStoreData[i].key);
[Worker] request = objectStore.add(objectStoreData[i].value, objectStoreData[i].key);
[Worker] request = objectStore.add(objectStoreData[i].value, objectStoreData[i].key);
[Worker] request = objectStore.add(objectStoreData[i].value, objectStoreData[i].key);
[Worker] request = objectStore.add(objectStoreData[i].value, objectStoreData[i].key);
[Worker] request = objectStore.add(objectStoreData[i].value, objectStoreData[i].key);
[Worker] request = objectStore.add(objectStoreData[i].value, objectStoreData[i].key);
[Worker] request = objectStore.add(objectStoreData[i].value, objectStoreData[i].key);
[Worker] testSimple()
[Worker] trans = db.transaction(objectStoreName)
[Worker] store = trans.objectStore(objectStoreName)
[Worker] request = store.openCursor()
[Worker] cursor.advance(1)
PASS [Worker] expected is "{\"key\":\"237-23-7733\",\"value\":{\"name\":\"Ann\",\"height\":52,\"weight\":110},\"primaryKey\":\"237-23-7733\"}"
[Worker] testContinueThenAdvance()
[Worker] trans = db.transaction(objectStoreName)
[Worker] store = trans.objectStore(objectStoreName)
[Worker] request = store.openCursor()
[Worker] cursor.continue();
[Worker] cursor.continue();
[Worker] cursor.continue();
[Worker] cursor.advance(1)
PASS [Worker] expected is "{\"key\":\"237-23-7736\",\"value\":{\"name\":\"Joe\",\"height\":65,\"weight\":150},\"primaryKey\":\"237-23-7736\"}"
[Worker] testAdvanceMultiple()
[Worker] trans = db.transaction(objectStoreName)
[Worker] store = trans.objectStore(objectStoreName)
[Worker] request = store.openCursor()
[Worker] cursor.advance(3)
PASS [Worker] expected is "{\"key\":\"237-23-7735\",\"value\":{\"name\":\"Sue\",\"height\":58,\"weight\":130},\"primaryKey\":\"237-23-7735\"}"
[Worker] testAdvanceIndex()
[Worker] trans = db.transaction(objectStoreName)
[Worker] store = trans.objectStore(objectStoreName)
[Worker] request = store.openCursor()
[Worker] cursor.advance(3)
PASS [Worker] expected is "{\"key\":\"Jef\",\"value\":{\"name\":\"Jef\",\"height\":65,\"weight\":120},\"primaryKey\":\"237-23-7739\"}"
[Worker] testAdvanceIndexNoDupe()
[Worker] trans = db.transaction(objectStoreName)
[Worker] store = trans.objectStore(objectStoreName)
[Worker] request = store.openCursor(null, 'nextunique')
[Worker] cursor.advance(3)
PASS [Worker] expected is "{\"key\":130,\"value\":{\"name\":\"Sue\",\"height\":58,\"weight\":130},\"primaryKey\":\"237-23-7735\"}"
[Worker] testAdvanceIndexPrev()
[Worker] trans = db.transaction(objectStoreName)
[Worker] store = trans.objectStore(objectStoreName)
[Worker] request = store.openCursor(null, 'prev')
[Worker] cursor.advance(3)
PASS [Worker] expected is "{\"key\":150,\"value\":{\"name\":\"Joe\",\"height\":65,\"weight\":150},\"primaryKey\":\"237-23-7736\"}"
[Worker] testAdvanceIndexPrevNoDupe()
[Worker] trans = db.transaction(objectStoreName)
[Worker] store = trans.objectStore(objectStoreName)
[Worker] request = store.openCursor(null, 'prevunique')
[Worker] cursor.advance(3)
PASS [Worker] expected is "{\"key\":120,\"value\":{\"name\":\"Bob\",\"height\":60,\"weight\":120},\"primaryKey\":\"237-23-7732\"}"
[Worker] testAdvanceToEnd()
[Worker] trans = db.transaction(objectStoreName)
[Worker] store = trans.objectStore(objectStoreName)
[Worker] request = store.openCursor()
[Worker] cursor.advance(100)
PASS [Worker] expected is "null"
[Worker] testPrefetchInRange()
[Worker] trans = db.transaction(objectStoreName)
[Worker] objectStore = trans.objectStore(objectStoreName)
[Worker] request = objectStore.openCursor()
[Worker]
[Worker] prefetch():
PASS [Worker] expected is "{\"key\":\"237-23-7732\",\"value\":{\"name\":\"Bob\",\"height\":60,\"weight\":120},\"primaryKey\":\"237-23-7732\"}"
[Worker] cursor.continue()
[Worker]
[Worker] prefetch():
PASS [Worker] expected is "{\"key\":\"237-23-7733\",\"value\":{\"name\":\"Ann\",\"height\":52,\"weight\":110},\"primaryKey\":\"237-23-7733\"}"
[Worker] cursor.continue()
[Worker]
[Worker] prefetch():
PASS [Worker] expected is "{\"key\":\"237-23-7734\",\"value\":{\"name\":\"Ron\",\"height\":73,\"weight\":180},\"primaryKey\":\"237-23-7734\"}"
[Worker] cursor.continue()
[Worker]
[Worker] prefetch():
PASS [Worker] expected is "{\"key\":\"237-23-7735\",\"value\":{\"name\":\"Sue\",\"height\":58,\"weight\":130},\"primaryKey\":\"237-23-7735\"}"
[Worker] cursor.advance(2)
[Worker]
[Worker] prefetch():
PASS [Worker] expected is "{\"key\":\"237-23-7737\",\"value\":{\"name\":\"Pat\",\"height\":65,\"weight\":100},\"primaryKey\":\"237-23-7737\"}"
[Worker] cursor.continue()
[Worker]
[Worker] prefetch():
PASS [Worker] expected is "{\"key\":\"237-23-7738\",\"value\":{\"name\":\"Leo\",\"height\":65,\"weight\":180},\"primaryKey\":\"237-23-7738\"}"
[Worker] cursor.continue()
[Worker]
[Worker] prefetch():
PASS [Worker] expected is "{\"key\":\"237-23-7739\",\"value\":{\"name\":\"Jef\",\"height\":65,\"weight\":120},\"primaryKey\":\"237-23-7739\"}"
[Worker] cursor.continue()
[Worker]
[Worker] prefetch():
PASS [Worker] expected is "{\"key\":\"237-23-7740\",\"value\":{\"name\":\"Sam\",\"height\":71,\"weight\":110},\"primaryKey\":\"237-23-7740\"}"
[Worker] cursor.continue()
[Worker]
[Worker] prefetch():
PASS [Worker] expected is "{\"key\":\"237-23-7741\",\"value\":{\"name\":\"Bug\",\"height\":63,\"weight\":100},\"primaryKey\":\"237-23-7741\"}"
[Worker] cursor.continue()
[Worker]
[Worker] prefetch():
PASS [Worker] expected is "{\"key\":\"237-23-7742\",\"value\":{\"name\":\"Tub\",\"height\":69,\"weight\":180},\"primaryKey\":\"237-23-7742\"}"
[Worker] cursor.continue()
[Worker]
[Worker] prefetch():
PASS [Worker] expected is "{\"key\":\"237-23-7743\",\"value\":{\"name\":\"Rug\",\"height\":77,\"weight\":120},\"primaryKey\":\"237-23-7743\"}"
[Worker] cursor.continue()
[Worker]
[Worker] prefetch():
PASS [Worker] expected is "{\"key\":\"237-23-7744\",\"value\":{\"name\":\"Pug\",\"height\":66,\"weight\":110},\"primaryKey\":\"237-23-7744\"}"
[Worker] cursor.continue()
[Worker]
[Worker] prefetch():
[Worker] testPrefetchOutOfRange()
[Worker] trans = db.transaction(objectStoreName)
[Worker] objectStore = trans.objectStore(objectStoreName)
[Worker] request = objectStore.openCursor()
[Worker]
[Worker] prefetch():
PASS [Worker] expected is "{\"key\":\"237-23-7732\",\"value\":{\"name\":\"Bob\",\"height\":60,\"weight\":120},\"primaryKey\":\"237-23-7732\"}"
[Worker] cursor.continue()
[Worker]
[Worker] prefetch():
PASS [Worker] expected is "{\"key\":\"237-23-7733\",\"value\":{\"name\":\"Ann\",\"height\":52,\"weight\":110},\"primaryKey\":\"237-23-7733\"}"
[Worker] cursor.continue()
[Worker]
[Worker] prefetch():
PASS [Worker] expected is "{\"key\":\"237-23-7734\",\"value\":{\"name\":\"Ron\",\"height\":73,\"weight\":180},\"primaryKey\":\"237-23-7734\"}"
[Worker] cursor.continue()
[Worker]
[Worker] prefetch():
PASS [Worker] expected is "{\"key\":\"237-23-7735\",\"value\":{\"name\":\"Sue\",\"height\":58,\"weight\":130},\"primaryKey\":\"237-23-7735\"}"
[Worker] cursor.advance(7)
[Worker]
[Worker] prefetch():
PASS [Worker] expected is "{\"key\":\"237-23-7742\",\"value\":{\"name\":\"Tub\",\"height\":69,\"weight\":180},\"primaryKey\":\"237-23-7742\"}"
[Worker] cursor.continue()
[Worker]
[Worker] prefetch():
PASS [Worker] expected is "{\"key\":\"237-23-7743\",\"value\":{\"name\":\"Rug\",\"height\":77,\"weight\":120},\"primaryKey\":\"237-23-7743\"}"
[Worker] cursor.continue()
[Worker]
[Worker] prefetch():
PASS [Worker] expected is "{\"key\":\"237-23-7744\",\"value\":{\"name\":\"Pug\",\"height\":66,\"weight\":110},\"primaryKey\":\"237-23-7744\"}"
[Worker] cursor.continue()
[Worker]
[Worker] prefetch():
[Worker] testBadAdvance()
[Worker] trans = db.transaction(objectStoreName, 'readwrite')
[Worker] objectStore = trans.objectStore(objectStoreName)
[Worker] request = objectStore.openCursor()
[Worker]
[Worker] advanceBadly():
[Worker] Expecting TypeError exception from cursor.advance(0)
PASS [Worker] Exception was thrown.
PASS [Worker] cursor.advance(0) threw TypeError: Failed to execute 'advance' on 'IDBCursor': A count argument with value 0 (zero) was supplied, must be greater than 0.
[Worker] Expecting TypeError exception from cursor.advance(-1)
PASS [Worker] Exception was thrown.
PASS [Worker] cursor.advance(-1) threw TypeError: Failed to execute 'advance' on 'IDBCursor': Value is outside the 'unsigned long' value range.
[Worker] Expecting TypeError exception from cursor.advance(0x100000000)
PASS [Worker] Exception was thrown.
PASS [Worker] cursor.advance(0x100000000) threw TypeError: Failed to execute 'advance' on 'IDBCursor': Value is outside the 'unsigned long' value range.
[Worker] Expecting TypeError exception from cursor.advance(0x20000000000000)
PASS [Worker] Exception was thrown.
PASS [Worker] cursor.advance(0x20000000000000) threw TypeError: Failed to execute 'advance' on 'IDBCursor': Value is outside the 'unsigned long' value range.
[Worker]
[Worker] testEdges():
[Worker] trans = db.transaction(objectStoreName, 'readonly')
[Worker] objectStore = trans.objectStore(objectStoreName)
[Worker] request = objectStore.openCursor()
[Worker]
[Worker] onSuccess():
[Worker] cursor = event.target.result
PASS [Worker] cursor is non-null.
[Worker] cursor.advance(0xffffffff)
[Worker]
[Worker] onSuccess():
[Worker] cursor = event.target.result
PASS [Worker] cursor is null
[Worker] testDelete()
[Worker] trans = db.transaction(objectStoreName, 'readwrite')
[Worker] objectStore = trans.objectStore(objectStoreName)
[Worker] request = objectStore.openCursor()
[Worker]
[Worker] deleteSecond():
PASS [Worker] expected is "{\"key\":\"237-23-7732\",\"value\":{\"name\":\"Bob\",\"height\":60,\"weight\":120},\"primaryKey\":\"237-23-7732\"}"
[Worker] cursor.advance(1)
[Worker]
[Worker] deleteSecond():
PASS [Worker] expected is "{\"key\":\"237-23-7733\",\"value\":{\"name\":\"Ann\",\"height\":52,\"weight\":110},\"primaryKey\":\"237-23-7733\"}"
[Worker] cursor.advance(1)
[Worker]
[Worker] deleteSecond():
PASS [Worker] expected is "{\"key\":\"237-23-7734\",\"value\":{\"name\":\"Ron\",\"height\":73,\"weight\":180},\"primaryKey\":\"237-23-7734\"}"
[Worker] cursor.delete()
[Worker]
[Worker] deleteSecond():
PASS [Worker] expected is "{\"key\":\"237-23-7738\",\"value\":{\"name\":\"Leo\",\"height\":65,\"weight\":180},\"primaryKey\":\"237-23-7738\"}"
[Worker] cursor.advance(1)
[Worker]
[Worker] deleteSecond():
PASS [Worker] expected is "{\"key\":\"237-23-7739\",\"value\":{\"name\":\"Jef\",\"height\":65,\"weight\":120},\"primaryKey\":\"237-23-7739\"}"
[Worker] cursor.advance(1)
[Worker]
[Worker] deleteSecond():
PASS [Worker] expected is "{\"key\":\"237-23-7740\",\"value\":{\"name\":\"Sam\",\"height\":71,\"weight\":110},\"primaryKey\":\"237-23-7740\"}"
[Worker] cursor.advance(1)
[Worker]
[Worker] deleteSecond():
PASS [Worker] expected is "{\"key\":\"237-23-7741\",\"value\":{\"name\":\"Bug\",\"height\":63,\"weight\":100},\"primaryKey\":\"237-23-7741\"}"
[Worker] cursor.advance(1)
[Worker]
[Worker] deleteSecond():
PASS [Worker] expected is "{\"key\":\"237-23-7742\",\"value\":{\"name\":\"Tub\",\"height\":69,\"weight\":180},\"primaryKey\":\"237-23-7742\"}"
[Worker] cursor.advance(1)
[Worker]
[Worker] deleteSecond():
PASS [Worker] expected is "{\"key\":\"237-23-7743\",\"value\":{\"name\":\"Rug\",\"height\":77,\"weight\":120},\"primaryKey\":\"237-23-7743\"}"
[Worker] cursor.advance(1)
[Worker]
[Worker] deleteSecond():
PASS [Worker] expected is "{\"key\":\"237-23-7744\",\"value\":{\"name\":\"Pug\",\"height\":66,\"weight\":110},\"primaryKey\":\"237-23-7744\"}"
[Worker] cursor.advance(1)
[Worker]
[Worker] deleteSecond():
PASS successfullyParsed is true
TEST COMPLETE