| Test IndexedDB: adds, gets, deletes, and re-gets a record in a variety of different object store configurations |
| |
| On success, you will see a series of "PASS" messages, followed by "TEST COMPLETE". |
| |
| |
| data = [ |
| { name: 'inline key; key generator', |
| autoIncrement: true, |
| storedObject: {name: 'Lincoln'}, |
| keyName: 'id', |
| keyValue: undefined, |
| }, |
| { name: 'inline key; no key generator', |
| autoIncrement: false, |
| storedObject: {id: 1, name: 'Lincoln'}, |
| keyName: 'id', |
| keyValue: undefined, |
| }, |
| { name: 'out of line key; key generator', |
| autoIncrement: true, |
| storedObject: {name: 'Lincoln'}, |
| keyName: undefined, |
| keyValue: undefined, |
| }, |
| { name: 'out of line key; no key generator', |
| autoIncrement: false, |
| storedObject: {name: 'Lincoln'}, |
| keyName: undefined, |
| keyValue: 1, |
| } |
| ]; |
| i = 0; |
| |
| indexedDB = self.indexedDB || self.webkitIndexedDB || self.mozIndexedDB || self.msIndexedDB || self.OIndexedDB; |
| |
| indexedDB.deleteDatabase(dbname) |
| indexedDB.open(dbname) |
| objectStore = db.createObjectStore(test.name, { keyPath: test.keyName, autoIncrement: test.autoIncrement }); |
| request = objectStore.add(test.storedObject); |
| id = event.target.result; |
| request = objectStore.get(id); |
| PASS test.storedObject.name is event.target.result.name |
| request = objectStore.delete(id); |
| request = objectStore.get(id); |
| PASS event.target.result === undefined is true |
| indexedDB = self.indexedDB || self.webkitIndexedDB || self.mozIndexedDB || self.msIndexedDB || self.OIndexedDB; |
| |
| indexedDB.deleteDatabase(dbname) |
| indexedDB.open(dbname) |
| objectStore = db.createObjectStore(test.name, { keyPath: test.keyName, autoIncrement: test.autoIncrement }); |
| request = objectStore.add(test.storedObject); |
| id = event.target.result; |
| request = objectStore.get(id); |
| PASS test.storedObject.name is event.target.result.name |
| request = objectStore.delete(id); |
| request = objectStore.get(id); |
| PASS event.target.result === undefined is true |
| indexedDB = self.indexedDB || self.webkitIndexedDB || self.mozIndexedDB || self.msIndexedDB || self.OIndexedDB; |
| |
| indexedDB.deleteDatabase(dbname) |
| indexedDB.open(dbname) |
| objectStore = db.createObjectStore(test.name, { autoIncrement: test.autoIncrement }); |
| request = objectStore.add(test.storedObject); |
| id = event.target.result; |
| request = objectStore.get(id); |
| PASS test.storedObject.name is event.target.result.name |
| request = objectStore.delete(id); |
| request = objectStore.get(id); |
| PASS event.target.result === undefined is true |
| indexedDB = self.indexedDB || self.webkitIndexedDB || self.mozIndexedDB || self.msIndexedDB || self.OIndexedDB; |
| |
| indexedDB.deleteDatabase(dbname) |
| indexedDB.open(dbname) |
| objectStore = db.createObjectStore(test.name, { autoIncrement: test.autoIncrement }); |
| request = objectStore.add(test.storedObject, test.keyValue); |
| id = event.target.result; |
| request = objectStore.get(id); |
| PASS test.storedObject.name is event.target.result.name |
| request = objectStore.delete(id); |
| request = objectStore.get(id); |
| PASS event.target.result === undefined is true |
| PASS successfullyParsed is true |
| |
| TEST COMPLETE |
| |