aboutsummaryrefslogtreecommitdiff
path: root/packages/idb-bridge/src/util/getIndexKeys.test.ts
diff options
context:
space:
mode:
authorFlorian Dold <florian.dold@gmail.com>2019-06-21 19:18:36 +0200
committerFlorian Dold <florian.dold@gmail.com>2019-06-21 19:18:36 +0200
commita4e4125cca8644703d7cff527a39c1a5a9842eba (patch)
treefb4de931ea0db1f314fcf6850806989a40c9e76e /packages/idb-bridge/src/util/getIndexKeys.test.ts
parent2ee9431f1ba5bf67546bbf85758a01991c40673f (diff)
downloadwallet-core-a4e4125cca8644703d7cff527a39c1a5a9842eba.tar.xz
idb: tests working
Diffstat (limited to 'packages/idb-bridge/src/util/getIndexKeys.test.ts')
-rw-r--r--packages/idb-bridge/src/util/getIndexKeys.test.ts24
1 files changed, 24 insertions, 0 deletions
diff --git a/packages/idb-bridge/src/util/getIndexKeys.test.ts b/packages/idb-bridge/src/util/getIndexKeys.test.ts
new file mode 100644
index 000000000..e1bc9dd00
--- /dev/null
+++ b/packages/idb-bridge/src/util/getIndexKeys.test.ts
@@ -0,0 +1,24 @@
+import test from "ava";
+import { getIndexKeys } from "./getIndexKeys";
+
+test("basics", (t) => {
+ t.deepEqual(getIndexKeys({foo: 42}, "foo", false), [42]);
+ t.deepEqual(getIndexKeys({foo: {bar: 42}}, "foo.bar", false), [42]);
+ t.deepEqual(getIndexKeys({foo: [42, 43]}, "foo.0", false), [42]);
+ t.deepEqual(getIndexKeys({foo: [42, 43]}, "foo.1", false), [43]);
+
+ t.deepEqual(getIndexKeys([1, 2, 3], "", false), [[1, 2, 3]]);
+
+ t.throws(() => {
+ getIndexKeys({foo: 42}, "foo.bar", false);
+ });
+
+ t.deepEqual(getIndexKeys({foo: 42}, "foo", true), [42]);
+ t.deepEqual(getIndexKeys({foo: 42, bar: 10}, ["foo", "bar"], true), [42, 10]);
+ t.deepEqual(getIndexKeys({foo: 42, bar: 10}, ["foo", "bar"], false), [[42, 10]]);
+ t.deepEqual(getIndexKeys({foo: 42, bar: 10}, ["foo", "bar", "spam"], true), [42, 10]);
+
+ t.throws(() => {
+ getIndexKeys({foo: 42, bar: 10}, ["foo", "bar", "spam"], false);
+ });
+});