| Test IndexedDB's IDBObjectStore.count(). |
| |
| On success, you will see a series of "PASS" messages, followed by "TEST COMPLETE". |
| |
| |
| window.indexedDB = window.indexedDB || window.webkitIndexedDB |
| window.IDBTransaction = window.IDBTransaction || window.webkitIDBTransaction |
| window.IDBKeyRange = window.IDBKeyRange || window.webkitIDBKeyRange |
| indexedDB.open('objectstore-count') |
| db = event.target.result |
| db.setVersion('new version') |
| |
| preparing database |
| trans = event.target.result |
| PASS trans !== null is true |
| Deleted all object stores. |
| store = db.createObjectStore('storeName', null) |
| adding 0 ... 99 |
| |
| verifying count without range |
| trans = db.transaction('storeName', IDBTransaction.READ_ONLY) |
| PASS trans != null is true |
| store = trans.objectStore('storeName') |
| PASS store != null is true |
| request = store.count() |
| PASS typeof request.result == 'number' is true |
| PASS request.result is 100 |
| |
| verifying count with range |
| trans = db.transaction('storeName', IDBTransaction.READ_ONLY) |
| PASS trans != null is true |
| store = trans.objectStore('storeName') |
| PASS store != null is true |
| |
| 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 == 'number' is true |
| 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 == 'number' is true |
| 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 == 'number' is true |
| 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 == 'number' is true |
| 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 == 'number' is true |
| 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 == 'number' is true |
| 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 == 'number' is true |
| 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 == 'number' is true |
| PASS request.result is 1 |
| |
| test = {"lower":0,"lowerOpen":true,"upper":0,"upperOpen":true,"expected":0} |
| request = store.count(IDBKeyRange.bound(test.lower, test.upper, test.lowerOpen, test.upperOpen)) |
| PASS typeof request.result == 'number' is true |
| PASS request.result is 0 |
| |
| test = {"lower":20,"lowerOpen":true,"upper":10,"upperOpen":true,"expected":0} |
| request = store.count(IDBKeyRange.bound(test.lower, test.upper, test.lowerOpen, test.upperOpen)) |
| PASS typeof request.result == 'number' is true |
| PASS request.result is 0 |
| PASS successfullyParsed is true |
| |
| TEST COMPLETE |
| |