@@ -36,4 +36,56 @@ describe("ConfluenceRenderer", () => {
3636 + '</ac:structured-macro>'
3737 + "\n");
3838 });
39+
40+ it("converts <details> tags to Confluence expand macro", () => {
41+ const input = `<details>
42+ <summary>Short Summary</summary>
43+ More elaborate text ` + '`with other things like monospace`' + `
44+ </details>`;
45+ expect(new ConfluenceRenderer().html(input))
46+ .toBe('<ac:structured-macro ac:name="expand">'
47+ + '<ac:parameter ac:name="title">'
48+ + 'Short Summary'
49+ + '</ac:parameter>'
50+ + '<ac:rich-text-body>'
51+ + '<ac:structured-macro ac:name="code" ac:schema-version="1">'
52+ + '<ac:parameter ac:name=""language">'
53+ + 'none'
54+ + '</ac:parameter>'
55+ + '<ac:parameter ac:name="theme">'
56+ + 'RDark'
57+ + '</ac:parameter>'
58+ + '<ac:parameter ac:name="borderStyle">'
59+ + 'solid'
60+ + '</ac:parameter>'
61+ + '<ac:parameter ac:name="linenumbers">'
62+ + 'true'
63+ + '</ac:parameter>'
64+ + '<ac:parameter ac:name="collapse">'
65+ + 'false'
66+ + '</ac:parameter>'
67+ + '<ac:plain-text-body>'
68+ + '<![CDATA[ More elaborate text `with other things like monospace`]]>'
69+ + '</ac:plain-text-body>'
70+ + '</ac:structured-macro>'
71+ + "\n"
72+ + '</ac:rich-text-body>'
73+ + '</ac:structured-macro>');
74+ })
75+
76+ it("converts <details> tags without summary to Confluence expand macro", () => {
77+ const input = `<details>Lorem ipsum dolor sit amet, consectetur adipisicing elit. Adipisci aliquam beatae culpa debitis deserunt dolor ea, exercitationem ipsa, magni maxime molestias nemo nostrum possimus quibusdam quo repudiandae sint veritatis voluptatibus.</details>`;
78+ expect(new ConfluenceRenderer().html(input))
79+ .toBe('<ac:structured-macro ac:name="expand">'
80+ + '<ac:parameter ac:name="title">'
81+ + 'Click here to expand ...'
82+ + '</ac:parameter>'
83+ + '<ac:rich-text-body>'
84+ + '<p>'
85+ + 'Lorem ipsum dolor sit amet, consectetur adipisicing elit. Adipisci aliquam beatae culpa debitis deserunt dolor ea, exercitationem ipsa, magni maxime molestias nemo nostrum possimus quibusdam quo repudiandae sint veritatis voluptatibus.'
86+ + '</p>'
87+ + "\n"
88+ + '</ac:rich-text-body>'
89+ + '</ac:structured-macro>');
90+ })
3991});
0 commit comments