chromium/third_party/blink/web_tests/storage/indexeddb/objectstore-count-expected.txt

Test IndexedDB's IDBObjectStore.count().

On success, you will see a series of "PASS" messages, followed by "TEST COMPLETE".

dbname = "objectstore-count.html"
indexedDB.deleteDatabase(dbname)
indexedDB.open(dbname)
store = db.createObjectStore('storeName', null)
adding 0 ... 99


verifying count without range
trans = db.transaction('storeName', 'readonly', {durability: 'relaxed'})
PASS trans is non-null.
store = trans.objectStore('storeName')
PASS store is non-null.
request = store.count()
PASS typeof request.result is "number"
PASS request.result is 100


verifying count with range
trans = db.transaction('storeName', 'readonly', {durability: 'relaxed'})
PASS trans is non-null.
store = trans.objectStore('storeName')
PASS store is non-null.


test = {"lower":0,"lowerOpen":false,"upper":99,"upperOpen":false,"expected":100}
request = store.count(IDBKeyRange.bound(test.lower, test.upper, test.lowerOpen, test.upperOpen))
PASS typeof request.result is "number"
PASS request.result is 100


test = {"lower":0,"lowerOpen":true,"upper":99,"upperOpen":false,"expected":99}
request = store.count(IDBKeyRange.bound(test.lower, test.upper, test.lowerOpen, test.upperOpen))
PASS typeof request.result is "number"
PASS request.result is 99


test = {"lower":0,"lowerOpen":false,"upper":99,"upperOpen":true,"expected":99}
request = store.count(IDBKeyRange.bound(test.lower, test.upper, test.lowerOpen, test.upperOpen))
PASS typeof request.result is "number"
PASS request.result is 99


test = {"lower":0,"lowerOpen":true,"upper":99,"upperOpen":true,"expected":98}
request = store.count(IDBKeyRange.bound(test.lower, test.upper, test.lowerOpen, test.upperOpen))
PASS typeof request.result is "number"
PASS request.result is 98


test = {"lower":0,"lowerOpen":false,"upper":100,"upperOpen":false,"expected":100}
request = store.count(IDBKeyRange.bound(test.lower, test.upper, test.lowerOpen, test.upperOpen))
PASS typeof request.result is "number"
PASS request.result is 100


test = {"lower":0,"lowerOpen":false,"upper":100,"upperOpen":false,"expected":100}
request = store.count(IDBKeyRange.bound(test.lower, test.upper, test.lowerOpen, test.upperOpen))
PASS typeof request.result is "number"
PASS request.result is 100


test = {"lower":10,"lowerOpen":false,"upper":100,"upperOpen":false,"expected":90}
request = store.count(IDBKeyRange.bound(test.lower, test.upper, test.lowerOpen, test.upperOpen))
PASS typeof request.result is "number"
PASS request.result is 90


test = {"lower":0,"lowerOpen":false,"upper":0,"upperOpen":false,"expected":1}
request = store.count(IDBKeyRange.bound(test.lower, test.upper, test.lowerOpen, test.upperOpen))
PASS typeof request.result is "number"
PASS request.result is 1


test = {"lower":500,"lowerOpen":false,"upper":500,"upperOpen":false,"expected":0}
request = store.count(IDBKeyRange.bound(test.lower, test.upper, test.lowerOpen, test.upperOpen))
PASS typeof request.result is "number"
PASS request.result is 0


verifying count with key
trans = db.transaction('storeName', 'readonly', {durability: 'relaxed'})
PASS trans is non-null.
store = trans.objectStore('storeName')
PASS store is non-null.
Expecting exception from store.count(NaN)
PASS Exception was thrown.
PASS code is 0
PASS ename is 'DataError'
Exception message: Failed to execute 'count' on 'IDBObjectStore': The parameter is not a valid key.
Expecting exception from store.count({})
PASS Exception was thrown.
PASS code is 0
PASS ename is 'DataError'
Exception message: Failed to execute 'count' on 'IDBObjectStore': The parameter is not a valid key.
Expecting exception from store.count(/regex/)
PASS Exception was thrown.
PASS code is 0
PASS ename is 'DataError'
Exception message: Failed to execute 'count' on 'IDBObjectStore': The parameter is not a valid key.


test = {"key":0,"expected":1}
request = store.count(test.key)
PASS typeof request.result is "number"
PASS request.result is 1


test = {"key":100,"expected":0}
request = store.count(test.key)
PASS typeof request.result is "number"
PASS request.result is 0


test = {"key":null,"expected":100}
request = store.count(test.key)
PASS typeof request.result is "number"
PASS request.result is 100
PASS successfullyParsed is true

TEST COMPLETE