diff options
Diffstat (limited to 'packages/idb-bridge/src/MemoryBackend.test.ts')
-rw-r--r-- | packages/idb-bridge/src/MemoryBackend.test.ts | 31 |
1 files changed, 31 insertions, 0 deletions
diff --git a/packages/idb-bridge/src/MemoryBackend.test.ts b/packages/idb-bridge/src/MemoryBackend.test.ts new file mode 100644 index 000000000..3d2d0fbc9 --- /dev/null +++ b/packages/idb-bridge/src/MemoryBackend.test.ts @@ -0,0 +1,31 @@ +import test from 'ava'; +import MemoryBackend from './MemoryBackend'; +import BridgeIDBFactory from './BridgeIDBFactory'; + +test.cb("basics", (t) => { + + const backend = new MemoryBackend(); + const idb = new BridgeIDBFactory(backend); + + const request = idb.open("library"); + request.onupgradeneeded = () => { + const db = request.result; + const store = db.createObjectStore("books", {keyPath: "isbn"}); + const titleIndex = store.createIndex("by_title", "title", {unique: true}); + const authorIndex = store.createIndex("by_author", "author"); + + // Populate with initial data. + store.put({title: "Quarry Memories", author: "Fred", isbn: 123456}); + store.put({title: "Water Buffaloes", author: "Fred", isbn: 234567}); + store.put({title: "Bedrock Nights", author: "Barney", isbn: 345678}); + }; + + request.onsuccess = () => { + t.end(); + }; + + request.onerror = () => { + t.fail(); + }; + +}); |