112 lines
4.1 KiB
Plaintext
112 lines
4.1 KiB
Plaintext
Test IndexedDB's IDBObjectStore.count().
|
|
|
|
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('storeName', null)
|
|
adding 0 ... 99
|
|
|
|
verifying count without range
|
|
trans = db.transaction('storeName', 'readonly')
|
|
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')
|
|
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')
|
|
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
|
|
|