mirror of
https://github.com/openclaw/openclaw.git
synced 2026-08-28 13:26:04 -06:00
test: detail task list markdown
This commit is contained in:
@@ -265,22 +265,23 @@ describe("toSanitizedMarkdownHtml", () => {
|
||||
describe("task lists", () => {
|
||||
it("renders task list checkboxes", () => {
|
||||
const html = toSanitizedMarkdownHtml("- [ ] Unchecked\n- [x] Checked");
|
||||
expect(html).toContain("<input");
|
||||
expect(html).toContain('type="checkbox"');
|
||||
expect(html).toContain("disabled");
|
||||
expect(html).toContain("Unchecked");
|
||||
expect(html).toContain("Checked");
|
||||
expect(html).toBe(
|
||||
'<ul class="contains-task-list">\n<li class="task-list-item"><input class="task-list-item-checkbox" disabled="" type="checkbox"> Unchecked</li>\n<li class="task-list-item"><input class="task-list-item-checkbox" checked="" disabled="" type="checkbox"> Checked</li>\n</ul>\n',
|
||||
);
|
||||
});
|
||||
|
||||
it("renders links inside task items", () => {
|
||||
const html = toSanitizedMarkdownHtml("- [ ] Task with [link](https://example.com)");
|
||||
expect(html).toContain('<a href="https://example.com"');
|
||||
expect(html).toBe(
|
||||
'<ul class="contains-task-list">\n<li class="task-list-item"><input class="task-list-item-checkbox" disabled="" type="checkbox"> Task with <a href="https://example.com" rel="noreferrer noopener" target="_blank">link</a></li>\n</ul>\n',
|
||||
);
|
||||
});
|
||||
|
||||
it("escapes HTML injection in task items", () => {
|
||||
const html = toSanitizedMarkdownHtml("- [ ] <script>alert(1)</script>");
|
||||
expect(html).not.toContain("<script");
|
||||
expect(html).toContain("<script>");
|
||||
expect(html).toBe(
|
||||
'<ul class="contains-task-list">\n<li class="task-list-item"><input class="task-list-item-checkbox" disabled="" type="checkbox"> <script>alert(1)</script></li>\n</ul>\n',
|
||||
);
|
||||
});
|
||||
|
||||
it("escapes details/summary injection in task items", () => {
|
||||
|
||||
Reference in New Issue
Block a user