Skip to content

Commit a188b02

Browse files
committed
🌿 Add tests for encoding # in params
1 parent 4e31100 commit a188b02

File tree

1 file changed

+24
-0
lines changed

1 file changed

+24
-0
lines changed

denops_std/bufname/bufname_test.ts

Lines changed: 24 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -137,6 +137,18 @@ Deno.test("format encodes ';' and '#' in 'expr'", () => {
137137
const exp = "denops:///hello%3Bworld%23hello";
138138
assertEquals(dst, exp);
139139
});
140+
Deno.test("format encodes '#' in 'params'", () => {
141+
const src = {
142+
scheme: "denops",
143+
expr: "/absolute/path/to/worktree",
144+
params: {
145+
foo: "#foo",
146+
},
147+
};
148+
const dst = format(src);
149+
const exp = "denops:///absolute/path/to/worktree;foo=%23foo";
150+
assertEquals(dst, exp);
151+
});
140152

141153
Deno.test("parse throws exception when 'expr' contains unusable characters", () => {
142154
const src = "denops:///<>|?*";
@@ -262,3 +274,15 @@ Deno.test("parse decode percent-encoded characters (';' and '#') in 'expr'", ()
262274
};
263275
assertEquals(dst, exp);
264276
});
277+
Deno.test("parse decode percent-encoded characters ('#') in 'params'", () => {
278+
const src = "denops:///absolute/path/to/worktree;foo=%23foo";
279+
const dst = parse(src);
280+
const exp = {
281+
scheme: "denops",
282+
expr: "/absolute/path/to/worktree",
283+
params: {
284+
foo: "#foo",
285+
},
286+
};
287+
assertEquals(dst, exp);
288+
});

0 commit comments

Comments
 (0)