-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathtypes.test.ts
68 lines (57 loc) · 1.18 KB
/
types.test.ts
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
import { assert } from "@std/assert";
import {
isArr,
isBool,
isDate,
isErr,
isFn,
isNum,
isObj,
isPromiseLike,
isProp,
isStr,
} from "./types.ts";
Deno.test("isStr", () => {
assert(isStr("Hello"));
assert(!isStr(123));
});
Deno.test("isNum", () => {
assert(isNum(123));
assert(!isNum("Hello"));
});
Deno.test("isBool", () => {
assert(isBool(true));
assert(isBool(false));
assert(!isBool("true"));
});
Deno.test("isFn", () => {
assert(isFn(() => {}));
assert(!isFn(123));
});
Deno.test("isObj", () => {
assert(isObj({}));
assert(!isObj(null));
assert(!isObj([]));
});
Deno.test("isProp", () => {
assert(isProp({ key: "value" }, "key"));
assert(!isProp({ key: "value" }, "nonexistent"));
});
Deno.test("isArr", () => {
assert(isArr([]));
assert(isArr([1, 2, 3]));
assert(!isArr("not an array"));
});
Deno.test("isErr", () => {
assert(isErr(new Error("error")));
assert(!isErr("error"));
});
Deno.test("isDate", () => {
assert(isDate(new Date()));
assert(!isDate("2024-01-01"));
});
Deno.test("isPromiseLike", () => {
assert(isPromiseLike(Promise.resolve()));
assert(isPromiseLike({ then: () => {} }));
assert(!isPromiseLike({}));
});