56 lines
1.4 KiB
Plaintext
56 lines
1.4 KiB
Plaintext
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
|
|
|