| Test IndexedDB's IDBObjectStore auto-increment feature. |
| |
| On success, you will see a series of "PASS" messages, followed by "TEST COMPLETE". |
| |
| |
| webkitIndexedDB.open('objectstore-autoincrement') |
| openSuccess(): |
| db = event.target.result |
| db.setVersion('new version') |
| setVersionSuccess(): |
| trans = event.target.result |
| PASS trans !== null is true |
| Deleted all object stores. |
| createObjectStore(): |
| store = db.createObjectStore('StoreWithKeyPath', {keyPath: 'id', autoIncrement: true}) |
| db.createObjectStore('StoreWithAutoIncrement', {autoIncrement: true}) |
| db.createObjectStore('PlainOldStore', {autoIncrement: false}) |
| storeNames = db.objectStoreNames |
| PASS store.name is "StoreWithKeyPath" |
| PASS store.keyPath is 'id' |
| PASS storeNames.contains('StoreWithKeyPath') is true |
| PASS storeNames.contains('StoreWithAutoIncrement') is true |
| PASS storeNames.contains('PlainOldStore') is true |
| PASS storeNames.length is 3 |
| setVersionCompleted(): |
| trans = db.transaction([], webkitIDBTransaction.READ_WRITE) |
| store = trans.objectStore('StoreWithKeyPath') |
| Insert into object store with auto increment and key path, with key in the object. |
| store.add({name: 'Jeffersson', number: '7010', id: 3}) |
| addJefferssonSuccess(): |
| PASS event.target.result is 3 |
| Insert into object store with auto increment and key path, without key in the object. |
| store.add({name: 'Lincoln', number: '7012'}) |
| addLincolnWithInjectKeySuccess(): |
| PASS event.target.result is 4 |
| store.get(4) |
| getLincolnAfterInjectedKeySuccess(): |
| PASS event.target.result.name is "Lincoln" |
| PASS event.target.result.number is "7012" |
| PASS event.target.result.id is 4 |
| store = trans.objectStore('StoreWithAutoIncrement') |
| Insert into object store with key gen using explicit key |
| store.add({name: 'Lincoln', number: '7012'}, 5) |
| addLincolnWithExplicitKeySuccess(): |
| PASS event.target.result is 5 |
| store.get(5) |
| getLincolnSuccess(): |
| PASS event.target.result.name is "Lincoln" |
| PASS event.target.result.number is "7012" |
| store.put({name: 'Abraham', number: '2107'}) |
| putAbrahamSuccess(): |
| PASS event.target.result is 6 |
| store.get(6) |
| getAbrahamSuccess(): |
| PASS event.target.result.name is "Abraham" |
| PASS event.target.result.number is "2107" |
| store = trans.objectStore('PlainOldStore') |
| Try adding with no key to object store without auto increment. |
| store.add({name: 'Adam'}) |
| addAdamError(): |
| PASS event.target.errorCode is webkitIDBDatabaseException.DATA_ERR |
| event.preventDefault() |
| store.add({name: 'Adam'}, 1) |
| addAdamSuccess(): |
| PASS event.target.result is 1 |
| PASS successfullyParsed is true |
| |
| TEST COMPLETE |
| |