| Test IndexedDB: request result persists in setTimeout callback |
| |
| 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) |
| objectStore = db.createObjectStore('foo', { keyPath: 'key', autoIncrement: true }); |
| index = objectStore.createIndex('foo', 'index'); |
| openSuccess(): |
| db = null; |
| db = request.result; |
| checkDatabaseType(): |
| PASS db instanceof IDBDatabase is true |
| addRecord(): |
| objectStore = db.transaction('foo', 'readwrite').objectStore('foo'); |
| data = { key: 5, index: 10 }; |
| request = objectStore.add(data); |
| addSuccess(): |
| key = null; |
| key = request.result; |
| checkAddedKey(): |
| PASS key is data.key |
| objectStore = db.transaction('foo').objectStore('foo'); |
| request = objectStore.get(data.key); |
| getSuccess(): |
| record = null; |
| record = request.result; |
| checkRetrievedKey(): |
| PASS record.key is data.key |
| PASS record.index is data.index |
| deleteRecord(): |
| objectStore = db.transaction('foo', 'readwrite').objectStore('foo'); |
| request = objectStore.delete(data.key); |
| deleteSuccess(): |
| PASS successfullyParsed is true |
| |
| TEST COMPLETE |
| |