| Test lazy IndexedDB index population with various key types. |
| |
| 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, 1) |
| |
| onUpgradeNeeded(): |
| db = event.target.result |
| store = db.createObjectStore('store', {autoIncrement: true}) |
| index = store.createIndex('greedy-index', 'id') |
| store.put({id: 0}) |
| store.put({id: new Date(0)}) |
| store.put({id: 'string'}) |
| store.put({id: []}) |
| store.put({id: [0]}) |
| store.put({id: [new Date(0)]}) |
| store.put({id: ['string']}) |
| store.put({id: [[]]}) |
| store.put({id: undefined}) |
| store.put({id: null}) |
| store.put({id: true}) |
| store.put({id: false}) |
| store.put({id: {}}) |
| store.put({id: /(?:)/}) |
| index = store.createIndex('lazy-index', 'id') |
| expectedIndexSize = 8 |
| |
| onSuccess(): |
| db = event.target.result |
| trans = db.transaction('store') |
| store = trans.objectStore('store') |
| greedyIndex = store.index('greedy-index') |
| request = greedyIndex.count() |
| lazyIndex = store.index('lazy-index') |
| request = lazyIndex.count() |
| |
| countSuccess(): |
| PASS event.target.result is expectedIndexSize |
| gotGreedyCount = true |
| |
| countSuccess(): |
| PASS event.target.result is expectedIndexSize |
| gotLazyCount = true |
| |
| onComplete(): |
| PASS gotGreedyCount is true |
| PASS gotLazyCount is true |
| PASS successfullyParsed is true |
| |
| TEST COMPLETE |
| |