1
0
mirror of https://github.com/meineerde/redmine.git synced 2026-02-11 13:15:20 +00:00

Case-insensitive matching fails for Unicode filenames when referring to attachments in text formatting (#27780).

Patch by Go MAEDA.


git-svn-id: http://svn.redmine.org/redmine/trunk@20835 e93f8b46-1217-0410-a6f0-8f06a7374b81
This commit is contained in:
Go MAEDA 2021-03-20 23:29:21 +00:00
parent c1b5489a86
commit 7337343f56
2 changed files with 16 additions and 1 deletions

View File

@ -368,8 +368,10 @@ class Attachment < ActiveRecord::Base
end
def self.latest_attach(attachments, filename)
return unless filename.valid_encoding?
attachments.sort_by(&:created_on).reverse.detect do |att|
filename.casecmp(att.filename) == 0
filename.casecmp?(att.filename)
end
end

View File

@ -473,6 +473,19 @@ class AttachmentTest < ActiveSupport::TestCase
Attachment.latest_attach(Attachment.limit(2).to_a, string)
end
def test_latest_attach_should_support_unicode_case_folding
a_capital = Attachment.create!(
:author => User.find(1),
:file => mock_file(:filename => 'Ā.TXT')
)
a_small = Attachment.create!(
:author => User.find(1),
:file => mock_file(:filename => 'ā.txt')
)
assert_equal(a_small, Attachment.latest_attach([a_capital, a_small], 'Ā.TXT'))
end
def test_thumbnailable_should_be_true_for_images
skip unless convert_installed?
assert_equal true, Attachment.new(:filename => 'test.jpg').thumbnailable?