add tests for visit attr hook
This commit is contained in:
parent
d39979645d
commit
6a03f421b3
1 changed files with 40 additions and 0 deletions
|
@ -144,3 +144,43 @@ Deno.test({
|
||||||
assertEquals(res, "<!doctype html><html><body></body></html>");
|
assertEquals(res, "<!doctype html><html><body></body></html>");
|
||||||
},
|
},
|
||||||
});
|
});
|
||||||
|
|
||||||
|
Deno.test({
|
||||||
|
name: "should change attr key",
|
||||||
|
fn: () => {
|
||||||
|
const layout = E("a", {
|
||||||
|
target: "_blank",
|
||||||
|
href: "/hello/world",
|
||||||
|
rel: "nofollow noopener",
|
||||||
|
}, "hello world");
|
||||||
|
|
||||||
|
const ren = new StrRenderer({
|
||||||
|
onVisitAttr: ([key, val]) => [`data-${key}`, val],
|
||||||
|
});
|
||||||
|
const res = ren.render(layout);
|
||||||
|
|
||||||
|
assertEquals(
|
||||||
|
res,
|
||||||
|
'<a data-target="_blank" data-href="/hello/world" data-rel="nofollow noopener">hello world</a>',
|
||||||
|
);
|
||||||
|
},
|
||||||
|
});
|
||||||
|
|
||||||
|
Deno.test({
|
||||||
|
name: "should change attr value",
|
||||||
|
fn: () => {
|
||||||
|
const layout = E("a", {
|
||||||
|
href: "/hello/world",
|
||||||
|
}, "hello world");
|
||||||
|
|
||||||
|
const ren = new StrRenderer({
|
||||||
|
onVisitAttr: ([key, val]) => [key, "/eng" + val],
|
||||||
|
});
|
||||||
|
const res = ren.render(layout);
|
||||||
|
|
||||||
|
assertEquals(
|
||||||
|
res,
|
||||||
|
'<a href="/eng/hello/world">hello world</a>',
|
||||||
|
);
|
||||||
|
},
|
||||||
|
});
|
||||||
|
|
Reference in a new issue