blob: 31218c2fe3d335572e7ec76c48b15c144f98822a [file] [log] [blame]
Test IndexedDB's objectStore.openKeyCursor + the cursor it produces in depth.
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;
dbname = "objectstore-keycursor.html"
indexedDB.deleteDatabase(dbname)
indexedDB.open(dbname)
objectStore = db.createObjectStore('someObjectStore')
Verify that specifying an invalid direction raises an exception:
Expecting TypeError exception from objectStore.openKeyCursor(0, 'invalid-direction')
PASS Exception was thrown.
PASS objectStore.openKeyCursor(0, 'invalid-direction') threw TypeError: Failed to execute 'openKeyCursor' on 'IDBObjectStore': The direction provided ('invalid-direction') is not one of 'next', 'nextunique', 'prev', or 'prevunique'.
objectStore.add('', testData[nextToAdd])
objectStore.add('', testData[nextToAdd])
objectStore.add('', testData[nextToAdd])
objectStore.add('', testData[nextToAdd])
objectStore.add('', testData[nextToAdd])
objectStore.add('', testData[nextToAdd])
Scheduling tests...
Running tests...
Next test: lower open bound is 0; sorted ascending.
PASS event.target.result.key is testData[1]
PASS event.target.result.key is testData[2]
PASS event.target.result.key is testData[3]
PASS event.target.result.key is testData[4]
PASS event.target.result.key is testData[5]
PASS event.target.result is null
Next test: lower bound is 0; sorted ascending.
PASS event.target.result.key is testData[0]
PASS event.target.result.key is testData[1]
PASS event.target.result.key is testData[2]
PASS event.target.result.key is testData[3]
PASS event.target.result.key is testData[4]
PASS event.target.result.key is testData[5]
PASS event.target.result is null
Next test: upper open bound is 0; sorted ascending.
PASS event.target.result is null
Next test: upper bound is 0; sorted ascending.
PASS event.target.result.key is testData[0]
PASS event.target.result is null
Next test: lower open bound is 0; sorted descending.
PASS event.target.result.key is testData[5]
PASS event.target.result.key is testData[4]
PASS event.target.result.key is testData[3]
PASS event.target.result.key is testData[2]
PASS event.target.result.key is testData[1]
PASS event.target.result is null
Next test: lower bound is 0; sorted descending.
PASS event.target.result.key is testData[5]
PASS event.target.result.key is testData[4]
PASS event.target.result.key is testData[3]
PASS event.target.result.key is testData[2]
PASS event.target.result.key is testData[1]
PASS event.target.result.key is testData[0]
PASS event.target.result is null
Next test: upper open bound is 0; sorted descending.
PASS event.target.result is null
Next test: upper bound is 0; sorted descending.
PASS event.target.result.key is testData[0]
PASS event.target.result is null
Next test: lower open bound is 1; sorted ascending.
PASS event.target.result.key is testData[2]
PASS event.target.result.key is testData[3]
PASS event.target.result.key is testData[4]
PASS event.target.result.key is testData[5]
PASS event.target.result is null
Next test: lower bound is 1; sorted ascending.
PASS event.target.result.key is testData[1]
PASS event.target.result.key is testData[2]
PASS event.target.result.key is testData[3]
PASS event.target.result.key is testData[4]
PASS event.target.result.key is testData[5]
PASS event.target.result is null
Next test: upper open bound is 1; sorted ascending.
PASS event.target.result.key is testData[0]
PASS event.target.result is null
Next test: upper bound is 1; sorted ascending.
PASS event.target.result.key is testData[0]
PASS event.target.result.key is testData[1]
PASS event.target.result is null
Next test: lower open bound is 1; sorted descending.
PASS event.target.result.key is testData[5]
PASS event.target.result.key is testData[4]
PASS event.target.result.key is testData[3]
PASS event.target.result.key is testData[2]
PASS event.target.result is null
Next test: lower bound is 1; sorted descending.
PASS event.target.result.key is testData[5]
PASS event.target.result.key is testData[4]
PASS event.target.result.key is testData[3]
PASS event.target.result.key is testData[2]
PASS event.target.result.key is testData[1]
PASS event.target.result is null
Next test: upper open bound is 1; sorted descending.
PASS event.target.result.key is testData[0]
PASS event.target.result is null
Next test: upper bound is 1; sorted descending.
PASS event.target.result.key is testData[1]
PASS event.target.result.key is testData[0]
PASS event.target.result is null
Next test: lower open bound is 2; sorted ascending.
PASS event.target.result.key is testData[3]
PASS event.target.result.key is testData[4]
PASS event.target.result.key is testData[5]
PASS event.target.result is null
Next test: lower bound is 2; sorted ascending.
PASS event.target.result.key is testData[2]
PASS event.target.result.key is testData[3]
PASS event.target.result.key is testData[4]
PASS event.target.result.key is testData[5]
PASS event.target.result is null
Next test: upper open bound is 2; sorted ascending.
PASS event.target.result.key is testData[0]
PASS event.target.result.key is testData[1]
PASS event.target.result is null
Next test: upper bound is 2; sorted ascending.
PASS event.target.result.key is testData[0]
PASS event.target.result.key is testData[1]
PASS event.target.result.key is testData[2]
PASS event.target.result is null
Next test: lower open bound is 2; sorted descending.
PASS event.target.result.key is testData[5]
PASS event.target.result.key is testData[4]
PASS event.target.result.key is testData[3]
PASS event.target.result is null
Next test: lower bound is 2; sorted descending.
PASS event.target.result.key is testData[5]
PASS event.target.result.key is testData[4]
PASS event.target.result.key is testData[3]
PASS event.target.result.key is testData[2]
PASS event.target.result is null
Next test: upper open bound is 2; sorted descending.
PASS event.target.result.key is testData[1]
PASS event.target.result.key is testData[0]
PASS event.target.result is null
Next test: upper bound is 2; sorted descending.
PASS event.target.result.key is testData[2]
PASS event.target.result.key is testData[1]
PASS event.target.result.key is testData[0]
PASS event.target.result is null
Next test: lower open bound is 3; sorted ascending.
PASS event.target.result.key is testData[4]
PASS event.target.result.key is testData[5]
PASS event.target.result is null
Next test: lower bound is 3; sorted ascending.
PASS event.target.result.key is testData[3]
PASS event.target.result.key is testData[4]
PASS event.target.result.key is testData[5]
PASS event.target.result is null
Next test: upper open bound is 3; sorted ascending.
PASS event.target.result.key is testData[0]
PASS event.target.result.key is testData[1]
PASS event.target.result.key is testData[2]
PASS event.target.result is null
Next test: upper bound is 3; sorted ascending.
PASS event.target.result.key is testData[0]
PASS event.target.result.key is testData[1]
PASS event.target.result.key is testData[2]
PASS event.target.result.key is testData[3]
PASS event.target.result is null
Next test: lower open bound is 3; sorted descending.
PASS event.target.result.key is testData[5]
PASS event.target.result.key is testData[4]
PASS event.target.result is null
Next test: lower bound is 3; sorted descending.
PASS event.target.result.key is testData[5]
PASS event.target.result.key is testData[4]
PASS event.target.result.key is testData[3]
PASS event.target.result is null
Next test: upper open bound is 3; sorted descending.
PASS event.target.result.key is testData[2]
PASS event.target.result.key is testData[1]
PASS event.target.result.key is testData[0]
PASS event.target.result is null
Next test: upper bound is 3; sorted descending.
PASS event.target.result.key is testData[3]
PASS event.target.result.key is testData[2]
PASS event.target.result.key is testData[1]
PASS event.target.result.key is testData[0]
PASS event.target.result is null
Next test: lower open bound is 4; sorted ascending.
PASS event.target.result.key is testData[5]
PASS event.target.result is null
Next test: lower bound is 4; sorted ascending.
PASS event.target.result.key is testData[4]
PASS event.target.result.key is testData[5]
PASS event.target.result is null
Next test: upper open bound is 4; sorted ascending.
PASS event.target.result.key is testData[0]
PASS event.target.result.key is testData[1]
PASS event.target.result.key is testData[2]
PASS event.target.result.key is testData[3]
PASS event.target.result is null
Next test: upper bound is 4; sorted ascending.
PASS event.target.result.key is testData[0]
PASS event.target.result.key is testData[1]
PASS event.target.result.key is testData[2]
PASS event.target.result.key is testData[3]
PASS event.target.result.key is testData[4]
PASS event.target.result is null
Next test: lower open bound is 4; sorted descending.
PASS event.target.result.key is testData[5]
PASS event.target.result is null
Next test: lower bound is 4; sorted descending.
PASS event.target.result.key is testData[5]
PASS event.target.result.key is testData[4]
PASS event.target.result is null
Next test: upper open bound is 4; sorted descending.
PASS event.target.result.key is testData[3]
PASS event.target.result.key is testData[2]
PASS event.target.result.key is testData[1]
PASS event.target.result.key is testData[0]
PASS event.target.result is null
Next test: upper bound is 4; sorted descending.
PASS event.target.result.key is testData[4]
PASS event.target.result.key is testData[3]
PASS event.target.result.key is testData[2]
PASS event.target.result.key is testData[1]
PASS event.target.result.key is testData[0]
PASS event.target.result is null
Next test: lower open bound is 5; sorted ascending.
PASS event.target.result is null
Next test: lower bound is 5; sorted ascending.
PASS event.target.result.key is testData[5]
PASS event.target.result is null
Next test: upper open bound is 5; sorted ascending.
PASS event.target.result.key is testData[0]
PASS event.target.result.key is testData[1]
PASS event.target.result.key is testData[2]
PASS event.target.result.key is testData[3]
PASS event.target.result.key is testData[4]
PASS event.target.result is null
Next test: upper bound is 5; sorted ascending.
PASS event.target.result.key is testData[0]
PASS event.target.result.key is testData[1]
PASS event.target.result.key is testData[2]
PASS event.target.result.key is testData[3]
PASS event.target.result.key is testData[4]
PASS event.target.result.key is testData[5]
PASS event.target.result is null
Next test: lower open bound is 5; sorted descending.
PASS event.target.result is null
Next test: lower bound is 5; sorted descending.
PASS event.target.result.key is testData[5]
PASS event.target.result is null
Next test: upper open bound is 5; sorted descending.
PASS event.target.result.key is testData[4]
PASS event.target.result.key is testData[3]
PASS event.target.result.key is testData[2]
PASS event.target.result.key is testData[1]
PASS event.target.result.key is testData[0]
PASS event.target.result is null
Next test: upper bound is 5; sorted descending.
PASS event.target.result.key is testData[5]
PASS event.target.result.key is testData[4]
PASS event.target.result.key is testData[3]
PASS event.target.result.key is testData[2]
PASS event.target.result.key is testData[1]
PASS event.target.result.key is testData[0]
PASS event.target.result is null
Next test: null key path sorted ascending.
PASS event.target.result.key is testData[0]
PASS event.target.result.key is testData[1]
PASS event.target.result.key is testData[2]
PASS event.target.result.key is testData[3]
PASS event.target.result.key is testData[4]
PASS event.target.result.key is testData[5]
PASS event.target.result is null
Next test: null key path sorted descending.
PASS event.target.result.key is testData[5]
PASS event.target.result.key is testData[4]
PASS event.target.result.key is testData[3]
PASS event.target.result.key is testData[2]
PASS event.target.result.key is testData[1]
PASS event.target.result.key is testData[0]
PASS event.target.result is null
PASS successfullyParsed is true
TEST COMPLETE