diff --git a/plugins/chat/app/models/chat/message.rb b/plugins/chat/app/models/chat/message.rb index fe1e7bd7b6a..e81edec3fe4 100644 --- a/plugins/chat/app/models/chat/message.rb +++ b/plugins/chat/app/models/chat/message.rb @@ -211,6 +211,7 @@ module Chat strikethrough blockquote emphasis + replacements ] def self.cook(message, opts = {}) diff --git a/plugins/chat/spec/models/chat/message_spec.rb b/plugins/chat/spec/models/chat/message_spec.rb index 93158296a9d..9ad53bcf44e 100644 --- a/plugins/chat/spec/models/chat/message_spec.rb +++ b/plugins/chat/spec/models/chat/message_spec.rb @@ -20,16 +20,25 @@ describe Chat::Message do expect(cooked).to eq("
<h1>test</h1>
") end + it "correctly extracts mentions with dots" do + user = Fabricate(:user) + cooked = described_class.cook("@#{user.username}...test") + + expect(cooked).to eq( + "@#{user.username}…test
", + ) + end + it "does not support headings" do cooked = described_class.cook("## heading 2") expect(cooked).to eq("## heading 2
") end - it "does not support horizontal rules" do + it "supports horizontal replacement" do cooked = described_class.cook("---") - expect(cooked).to eq("---
") + expect(cooked).to eq("—
") end it "supports backticks rule" do @@ -95,7 +104,7 @@ describe Chat::Message do-COOKEDMark me...this will go down in history.
+Mark me…this will go down in history.