39 lines
1.3 KiB
Plaintext
39 lines
1.3 KiB
Plaintext
Test features of IndexedDB's unique indices.
|
|
|
|
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)
|
|
db.createObjectStore('store')
|
|
store.createIndex('index', 'x', {unique: true})
|
|
setVersionCompleted():
|
|
transaction = db.transaction(['store'], 'readwrite')
|
|
transaction.objectStore('store').put({x: 1}, 'foo')
|
|
addMoreData():
|
|
transaction.objectStore('store').put({x: 1}, 'bar')
|
|
addMoreDataFailed():
|
|
event.preventDefault()
|
|
PASS event.target.error.name is 'ConstraintError'
|
|
transaction.objectStore('store').put({x: 0}, 'foo')
|
|
changeDataSuccess():
|
|
transaction.objectStore('store').index('index').openCursor(IDBKeyRange.lowerBound(1))
|
|
cursorSuccess():
|
|
PASS event.target.result is null
|
|
transaction.objectStore('store').index('index').openKeyCursor(IDBKeyRange.lowerBound(1))
|
|
keyCursorSuccess():
|
|
PASS event.target.result is null
|
|
transaction.objectStore('store').put({x: 1}, 'bar')
|
|
addMoreDataSucces():
|
|
transaction.objectStore('store').delete('bar')
|
|
deleteSuccess():
|
|
transaction.objectStore('store').put({x: 1}, 'baz')
|
|
finalAddSuccess():
|
|
transaction.objectStore('store').put({x: 1}, 'baz')
|
|
PASS successfullyParsed is true
|
|
|
|
TEST COMPLETE
|
|
|