aboutsummaryrefslogtreecommitdiff
path: root/packages/idb-bridge/src/MemoryBackend.test.ts
diff options
context:
space:
mode:
Diffstat (limited to 'packages/idb-bridge/src/MemoryBackend.test.ts')
-rw-r--r--packages/idb-bridge/src/MemoryBackend.test.ts31
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();
+ };
+
+});