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:
parent
c1b5489a86
commit
7337343f56
@ -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
|
||||
|
||||
|
||||
@ -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?
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user