diff --git a/app/lib/reverse_markdown/converters/custom_pre.rb b/app/lib/reverse_markdown/converters/custom_pre.rb index 6708874c3..8e79e9b0b 100644 --- a/app/lib/reverse_markdown/converters/custom_pre.rb +++ b/app/lib/reverse_markdown/converters/custom_pre.rb @@ -14,7 +14,7 @@ module ReverseMarkdown def treat(node, state) case node.name - when "code" + when "code", "text" node.text when "br" "\n" diff --git a/spec/lib/reverse_markdown/converters/custom_pre_spec.rb b/spec/lib/reverse_markdown/converters/custom_pre_spec.rb index 112700115..c0616958b 100644 --- a/spec/lib/reverse_markdown/converters/custom_pre_spec.rb +++ b/spec/lib/reverse_markdown/converters/custom_pre_spec.rb @@ -24,5 +24,11 @@ RSpec.describe ReverseMarkdown::Converters::CustomPre, type: :lib do result = create_custom_pre.convert(node) expect(result.split[0]).to eq("```html") end + + it "preserves newlines and indentation" do + node = Nokogiri::HTML("
def foo\n  puts 'Hello World'
end
").search("pre")[0] + result = create_custom_pre.convert(node) + expect(result).to eq("\n```\ndef foo\n puts 'Hello World'\nend\n```\n") + end end end