aboutsummaryrefslogtreecommitdiff
path: root/packages/idb-bridge/src/idb-wpt-ported/wptsupport.ts
diff options
context:
space:
mode:
authorFlorian Dold <florian@dold.me>2021-02-08 19:59:19 +0100
committerFlorian Dold <florian@dold.me>2021-02-08 19:59:19 +0100
commit8c92499d85917693d2f87252419f0eeccd239a2b (patch)
tree569d0ee1c25d62caf0ac87131ecfa8166d12c62b /packages/idb-bridge/src/idb-wpt-ported/wptsupport.ts
parent5ff5a686e4f15dea839b18fda9275687557d23a7 (diff)
downloadwallet-core-8c92499d85917693d2f87252419f0eeccd239a2b.tar.xz
idb: add first web platform tests, fix issues detected by them
Diffstat (limited to 'packages/idb-bridge/src/idb-wpt-ported/wptsupport.ts')
-rw-r--r--packages/idb-bridge/src/idb-wpt-ported/wptsupport.ts30
1 files changed, 30 insertions, 0 deletions
diff --git a/packages/idb-bridge/src/idb-wpt-ported/wptsupport.ts b/packages/idb-bridge/src/idb-wpt-ported/wptsupport.ts
new file mode 100644
index 000000000..10c11b7a6
--- /dev/null
+++ b/packages/idb-bridge/src/idb-wpt-ported/wptsupport.ts
@@ -0,0 +1,30 @@
+import { ExecutionContext } from "ava";
+import { BridgeIDBFactory } from "..";
+import { IDBOpenDBRequest } from "../idbtypes";
+import MemoryBackend from "../MemoryBackend";
+import compareKeys from "../util/cmp";
+
+BridgeIDBFactory.enableTracing = true;
+const idbFactory = new BridgeIDBFactory(new MemoryBackend());
+
+const self = {
+ indexedDB: idbFactory,
+};
+
+export function createdb(
+ t: ExecutionContext<unknown>,
+ dbname?: string,
+ version?: number,
+): IDBOpenDBRequest {
+ var rq_open: IDBOpenDBRequest;
+ dbname = dbname ? dbname : "testdb-" + new Date().getTime() + Math.random();
+ if (version) rq_open = self.indexedDB.open(dbname, version);
+ else rq_open = self.indexedDB.open(dbname);
+ return rq_open;
+}
+
+export function assert_key_equals(actual: any, expected: any, description?: string) {
+ if (0 != compareKeys(actual, expected)) {
+ throw Error("expected keys to be the same");
+ }
+}