mirror of
https://github.com/discourse/discourse.git
synced 2025-05-22 03:51:07 +08:00
Add 'keep_cid_imgs' option to HTML to Markdown converter to improve incoming email parsing
This commit is contained in:
@ -3,8 +3,8 @@ require 'html_to_markdown'
|
||||
|
||||
describe HtmlToMarkdown do
|
||||
|
||||
def html_to_markdown(html)
|
||||
HtmlToMarkdown.new(html).to_markdown
|
||||
def html_to_markdown(html, opts={})
|
||||
HtmlToMarkdown.new(html, opts).to_markdown
|
||||
end
|
||||
|
||||
it "remove whitespaces" do
|
||||
@ -55,14 +55,15 @@ describe HtmlToMarkdown do
|
||||
expect(html_to_markdown(%Q{<a href="foo.bar">Discourse</a>})).to eq("Discourse")
|
||||
end
|
||||
|
||||
HTML_WITH_IMG ||= %Q{<img src="https://www.discourse.org/logo.svg" alt="Discourse Logo">}
|
||||
HTML_WITH_IMG ||= %Q{<img src="https://www.discourse.org/logo.svg" alt="Discourse Logo">}
|
||||
HTML_WITH_CID_IMG ||= %Q{<img src="cid:ii_1525434659ddb4cb" alt="Discourse Logo">}
|
||||
|
||||
it "converts <img>" do
|
||||
expect(html_to_markdown(HTML_WITH_IMG)).to eq("")
|
||||
end
|
||||
|
||||
it "keeps <img> with 'keep_img_tags'" do
|
||||
expect(HtmlToMarkdown.new(HTML_WITH_IMG, keep_img_tags: true).to_markdown).to eq(HTML_WITH_IMG)
|
||||
expect(html_to_markdown(HTML_WITH_IMG, keep_img_tags: true)).to eq(HTML_WITH_IMG)
|
||||
end
|
||||
|
||||
it "removes empty & invalid <img>" do
|
||||
@ -71,6 +72,11 @@ describe HtmlToMarkdown do
|
||||
expect(html_to_markdown(%Q{<img src="foo.bar">})).to eq("")
|
||||
end
|
||||
|
||||
it "keeps <img> with src='cid:' whith 'keep_cid_imgs'" do
|
||||
expect(html_to_markdown(HTML_WITH_CID_IMG, keep_cid_imgs: true)).to eq("")
|
||||
expect(html_to_markdown(HTML_WITH_CID_IMG, keep_img_tags: true, keep_cid_imgs: true)).to eq("<img src=\"cid:ii_1525434659ddb4cb\" alt=\"Discourse Logo\">")
|
||||
end
|
||||
|
||||
it "skips hidden <img>" do
|
||||
expect(html_to_markdown(%Q{<img src="https://www.discourse.org/logo.svg" width=0>})).to eq("")
|
||||
expect(html_to_markdown(%Q{<img src="https://www.discourse.org/logo.svg" height="0">})).to eq("")
|
||||
|
Reference in New Issue
Block a user