Fix code blocks processing

main
Claire 2022-03-28 23:40:45 +02:00
parent 61cefbebf7
commit 8d6f3f8a37
2 changed files with 9 additions and 1 deletions

View File

@ -9,7 +9,7 @@ class AdvancedTextFormatter < TextFormatter
def block_code(code, _language) def block_code(code, _language)
<<~HTML.squish <<~HTML.squish
<pre><code>#{h(code).gsub("\n", '<br/>')}</code></pre> <pre><code>#{ERB::Util.h(code).gsub("\n", '<br/>')}</code></pre>
HTML HTML
end end

View File

@ -34,6 +34,14 @@ RSpec.describe AdvancedTextFormatter do
end end
end end
context 'given a block code' do
let(:text) { "test\n\n```\nint main(void) {\n return 0;\n}\n```\n" }
it 'formats code using <pre> and <code>' do
is_expected.to include '<pre><code>int main'
end
end
context 'given some quote' do context 'given some quote' do
let(:text) { "> foo\n\nbar" } let(:text) { "> foo\n\nbar" }