-
Notifications
You must be signed in to change notification settings - Fork 0
/
utils.test.ts
41 lines (36 loc) · 1.12 KB
/
utils.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
import { assertEquals } from "https://deno.land/std@0.200.0/assert/mod.ts";
import { get, parse, set } from "./utils.ts";
const test = Deno.test;
test("parse", () => {
let url = "https://www.google.com/search?q=deno";
assertEquals(parse(url), {
path: "https://www.google.com/search",
params: { q: "deno" },
});
assertEquals(get(url, "q"), "deno");
assertEquals(
set(url, { lang: "en" }),
"https://www.google.com/search?q=deno&lang=en",
);
assertEquals(set(url, { q: "node" }), "https://www.google.com/search?q=node");
url = "https://www.google.com/search";
assertEquals(parse(url), {
path: "https://www.google.com/search",
params: {},
});
assertEquals(get(url, "q"), undefined);
url = "https://www.google.com/search?q=deno&lang=en";
assertEquals(parse(url), {
path: "https://www.google.com/search",
params: { q: "deno", lang: "en" },
});
assertEquals(get(url, "q"), "deno");
assertEquals(
set(url, { q: "node" }),
"https://www.google.com/search?q=node&lang=en",
);
assertEquals(
set(url, { lang: "zh" }),
"https://www.google.com/search?q=deno&lang=zh",
);
});