From a4e4125cca8644703d7cff527a39c1a5a9842eba Mon Sep 17 00:00:00 2001 From: Florian Dold Date: Fri, 21 Jun 2019 19:18:36 +0200 Subject: idb: tests working --- packages/idb-bridge/src/util/getIndexKeys.test.ts | 24 +++++++++++++++++++++++ 1 file changed, 24 insertions(+) create mode 100644 packages/idb-bridge/src/util/getIndexKeys.test.ts (limited to 'packages/idb-bridge/src/util/getIndexKeys.test.ts') 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); + }); +}); -- cgit v1.2.3