FIX: broken emojis in topic excerpt (#11667)

When a post is truncated into the excerpt, sometimes we are breaking code of emoji
This commit is contained in:
Krzysztof Kotlarek
2021-01-11 10:40:41 +11:00
committed by GitHub
parent 2e24254773
commit 7f78b6ec10
3 changed files with 29 additions and 2 deletions

View File

@@ -636,6 +636,24 @@ describe PrettyText do
end
end
context "emojis" do
it "should remove broken emoji" do
html = <<~EOS
<img src=\"//localhost:3000/images/emoji/twitter/bike.png?v=9\" title=\":bike:\" class=\"emoji\" alt=\":bike:\"> <img src=\"//localhost:3000/images/emoji/twitter/cat.png?v=9\" title=\":cat:\" class=\"emoji\" alt=\":cat:\"> <img src=\"//localhost:3000/images/emoji/twitter/discourse.png?v=9\" title=\":discourse:\" class=\"emoji\" alt=\":discourse:\">
EOS
expect(PrettyText.excerpt(html, 10, strip_truncated_emoji_code: false)).to eq(":bike: :ca&hellip;")
expect(PrettyText.excerpt(html, 7, strip_truncated_emoji_code: true)).to eq(":bike: &hellip;")
expect(PrettyText.excerpt(html, 8, strip_truncated_emoji_code: true)).to eq(":bike: &hellip;")
expect(PrettyText.excerpt(html, 9, strip_truncated_emoji_code: true)).to eq(":bike: &hellip;")
expect(PrettyText.excerpt(html, 10, strip_truncated_emoji_code: true)).to eq(":bike: &hellip;")
expect(PrettyText.excerpt(html, 11, strip_truncated_emoji_code: true)).to eq(":bike: &hellip;")
expect(PrettyText.excerpt(html, 12, strip_truncated_emoji_code: true)).to eq(":bike: :cat: &hellip;")
expect(PrettyText.excerpt(html, 13, strip_truncated_emoji_code: true)).to eq(":bike: :cat: &hellip;")
expect(PrettyText.excerpt(html, 14, strip_truncated_emoji_code: true)).to eq(":bike: :cat: &hellip;")
end
end
it "should have an option to strip links" do
expect(PrettyText.excerpt("<a href='http://cnn.com'>cnn</a>", 100, strip_links: true)).to eq("cnn")
end