diff --git a/test/helpers/content_filters_test.rb b/test/helpers/content_filters_test.rb index c9ecb63..11df023 100644 --- a/test/helpers/content_filters_test.rb +++ b/test/helpers/content_filters_test.rb @@ -158,6 +158,14 @@ class ContentFiltersTest < ActionView::TestCase assert_match /Hello bold it gone link
second line

Heading

quoted
line 1\nline 2
  1. first
) + message = Message.create! room: rooms(:pets), body: body, client_message_id: "0021", creator: users(:jason) + + assert_equal body, ContentFilters::TextMessagePresentationFilters.apply(message.body.body).to_html + assert_includes message_presentation(message), body + end + test "message with a table keeps the table" do body = "

Name

Jason

" message = Message.create! room: rooms(:pets), body: body, client_message_id: "0016", creator: users(:jason) diff --git a/test/system/composer_test.rb b/test/system/composer_test.rb index ab409b6..c63c028 100644 --- a/test/system/composer_test.rb +++ b/test/system/composer_test.rb @@ -86,6 +86,31 @@ class ComposerTest < ApplicationSystemTestCase assert_equal [ users(:jason) ], message.reload.mentionees end + test "editing a formatted trix message keeps its formatting" do + body = %(
Hello bold italic gone link
second line

Heading

quoted
line 1\nline 2
  1. first
) + message = Message.create! room: rooms(:designers), body: body, client_message_id: "trix-formatted", creator: users(:jz) + + join_room rooms(:designers) + + within_message message do + reveal_message_actions + find(".message__edit-btn").click + assert_edit_editor_text "Heading" + click_on "Save changes" + end + + assert_selector last_message_selector("strong"), text: "bold" + assert_selector last_message_selector("em"), text: "italic" + assert_selector last_message_selector("s, del"), text: "gone" + assert_selector last_message_selector(%(a[href="https://example.com/"])), text: "link" + assert_selector last_message_selector("h1"), text: "Heading" + assert_selector last_message_selector("blockquote"), text: "quoted" + assert_selector last_message_selector("pre"), text: /line 1\s*line 2/ + assert_selector last_message_selector("ul li"), text: "two" + assert_selector last_message_selector("ol li"), text: "first" + assert_message_text /Hello bold italic gone link\s*second line/ + end + test "editing a message whose mention was saved under Trix keeps the mention" do body = %(
Hey
) message = Message.create! room: rooms(:designers), body: body, client_message_id: "trix-edited", creator: users(:jz)