fix some <pre> edge cases unescaping entities inside <pre><code> tags whitespace handling
1 file changed, 33 insertions(+), 0 deletions(-)
changed files
M format_test.go → format_test.go
@@ -102,6 +102,39 @@ <time>19:00</time>–<time>20:00</time> </div> `, }, + { + name: "HTML entities in pre/code blocks are preserved", + input: `<pre><code><tab></code></pre>`, + expected: `<pre> +<code><tab></code></pre> +`, + }, + { + name: "multiple HTML entities in pre blocks are preserved", + input: `<pre><html> & "quotes"</pre>`, + expected: `<pre><html> & "quotes"</pre> +`, + }, + { + name: "HTML entities in nested code within pre are preserved", + input: `<pre>Some text <code><tag></code> more text</pre>`, + expected: `<pre> +Some text <code><tag></code> more text</pre> +`, + }, + { + name: "ampersands in pre blocks are preserved", + input: `<pre>npm install && npm test</pre>`, + expected: `<pre>npm install && npm test</pre> +`, + }, + { + name: "complex HTML entities in code blocks are preserved", + input: `<pre><code>const html = "<div class="test">Hello & goodbye</div>";</code></pre>`, + expected: `<pre> +<code>const html = "<div class="test">Hello & goodbye</div>";</code></pre> +`, + }, } for _, test := range tests {