Skip to content

Commit 3080125

Browse files
committed
🌿 Improve test of entries in is
1 parent a03dda9 commit 3080125

File tree

1 file changed

+13
-15
lines changed

1 file changed

+13
-15
lines changed

is_test.ts

Lines changed: 13 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -19,21 +19,19 @@ import is, {
1919
isUndefined,
2020
} from "./is.ts";
2121

22-
Deno.test("is defines aliases of functions", () => {
23-
assertStrictEquals(is.String, isString);
24-
assertStrictEquals(is.Number, isNumber);
25-
assertStrictEquals(is.Boolean, isBoolean);
26-
assertStrictEquals(is.Array, isArray);
27-
assertStrictEquals(is.ArrayOf, isArrayOf);
28-
assertStrictEquals(is.TupleOf, isTupleOf);
29-
assertStrictEquals(is.Record, isRecord);
30-
assertStrictEquals(is.RecordOf, isRecordOf);
31-
assertStrictEquals(is.ObjectOf, isObjectOf);
32-
assertStrictEquals(is.Function, isFunction);
33-
assertStrictEquals(is.Null, isNull);
34-
assertStrictEquals(is.Undefined, isUndefined);
35-
assertStrictEquals(is.Nullish, isNullish);
36-
assertStrictEquals(is.OneOf, isOneOf);
22+
Deno.test("is defines aliases of functions", async () => {
23+
const mod = await import("./is.ts");
24+
const cases = Object.entries(mod)
25+
.filter(([k, _]) => k.startsWith("is"))
26+
.map(([k, v]) => [k.slice(2), v] as const);
27+
for (const [alias, fn] of cases) {
28+
assertStrictEquals(is[alias as keyof typeof is], fn);
29+
}
30+
assertEquals(
31+
Object.keys(is).length,
32+
cases.length,
33+
"The number of entries in `is` is not equal to `is*` functions",
34+
);
3735
});
3836

3937
Deno.test("isString", async (t) => {

0 commit comments

Comments
 (0)