From 9293b72a4515fd7780561dc402c9bbc3e04a944c Mon Sep 17 00:00:00 2001 From: Go MAEDA Date: Fri, 24 May 2024 02:16:23 +0000 Subject: [PATCH] Add tests for current alt attribute behavior in images (#40650). Patch by Katsuya HIDAKA (@hidakatsuya). git-svn-id: https://svn.redmine.org/redmine/trunk@22844 e93f8b46-1217-0410-a6f0-8f06a7374b81 --- test/helpers/application_helper_test.rb | 33 +++++++++++++++++++ .../common_mark/application_helper_test.rb | 28 ++++++++++++++++ 2 files changed, 61 insertions(+) diff --git a/test/helpers/application_helper_test.rb b/test/helpers/application_helper_test.rb index cdbad8bc8..443ad4698 100644 --- a/test/helpers/application_helper_test.rb +++ b/test/helpers/application_helper_test.rb @@ -198,6 +198,39 @@ class ApplicationHelperTest < Redmine::HelperTest end end + def test_attached_image_alt_attribute_with_textile + attachments = Attachment.all + with_settings text_formatting: 'textile' do + # When alt text is set + assert_match %r[This is a logo], + textilizable('!logo.gif(alt text)!', attachments: attachments) + + # When alt text and style are set + assert_match %r[This is a logo], + textilizable('!{width:100px}logo.gif(alt text)!', attachments: attachments) + + # When alt text is not set + assert_match %r[This is a logo], + textilizable('!logo.gif!', attachments: attachments) + + # When alt text is not set and the attachment has no description + assert_match %r[], + textilizable('!testfile.PNG!', attachments: attachments) + + # When no matching attachments are found + assert_match %r[], + textilizable('!no-match.jpg!', attachments: attachments) + assert_match %r[alt text], + textilizable('!no-match.jpg(alt text)!', attachments: attachments) + + # When no attachment is registered + assert_match %r[], + textilizable('!logo.gif!', attachments: []) + assert_match %r[alt text], + textilizable('!logo.gif(alt text)!', attachments: []) + end + end + def test_attached_images_on_issue issue = Issue.generate! attachment_1 = Attachment.generate!(:file => mock_file_with_options(:original_filename => "attached_on_issue.png"), :container => issue) diff --git a/test/unit/lib/redmine/wiki_formatting/common_mark/application_helper_test.rb b/test/unit/lib/redmine/wiki_formatting/common_mark/application_helper_test.rb index b5c79335b..c198f64cd 100644 --- a/test/unit/lib/redmine/wiki_formatting/common_mark/application_helper_test.rb +++ b/test/unit/lib/redmine/wiki_formatting/common_mark/application_helper_test.rb @@ -62,5 +62,33 @@ class Redmine::WikiFormatting::CommonMark::ApplicationHelperTest < Redmine::Help end end + def test_attached_image_alt_attribute_with_madkrown + attachments = Attachment.all + with_settings text_formatting: 'common_mark' do + # When alt text is set + assert_match %r[alt text], + textilizable('![alt text](logo.gif)', attachments: attachments) + + # When alt text is not set + assert_match %r[This is a logo], + textilizable('![](logo.gif)', attachments: attachments) + + # When alt text is not set and the attachment has no description + assert_match %r[], + textilizable('![](testfile.PNG)', attachments: attachments) + + # When no matching attachments are found + assert_match %r[], + textilizable('![](no-match.jpg)', attachments: attachments) + assert_match %r[alt text], + textilizable('![alt text](no-match.jpg)', attachments: attachments) + + # When no attachment is registered + assert_match %r[], + textilizable('![](logo.gif)', attachments: []) + assert_match %r[alt text], + textilizable('![alt text](logo.gif)', attachments: []) + end + end end end -- 2.39.5