mirror of
https://github.com/meineerde/redmine.git
synced 2025-12-21 16:01:14 +00:00
Makes sure the generated thumbnail is always of at least the requested size (#13688).
Patch by Jens Krämer and Marius BALTEANU. git-svn-id: http://svn.redmine.org/redmine/trunk@17850 e93f8b46-1217-0410-a6f0-8f06a7374b81
This commit is contained in:
parent
29063283da
commit
4c38f46184
@ -209,7 +209,7 @@ class Attachment < ActiveRecord::Base
|
|||||||
size = options[:size].to_i
|
size = options[:size].to_i
|
||||||
if size > 0
|
if size > 0
|
||||||
# Limit the number of thumbnails per image
|
# Limit the number of thumbnails per image
|
||||||
size = (size / 50) * 50
|
size = (size / 50.0).ceil * 50
|
||||||
# Maximum thumbnail size
|
# Maximum thumbnail size
|
||||||
size = 800 if size > 800
|
size = 800 if size > 800
|
||||||
else
|
else
|
||||||
|
|||||||
@ -480,6 +480,24 @@ class AttachmentTest < ActiveSupport::TestCase
|
|||||||
attachment = Attachment.find(16)
|
attachment = Attachment.find(16)
|
||||||
assert_nil attachment.thumbnail
|
assert_nil attachment.thumbnail
|
||||||
end
|
end
|
||||||
|
|
||||||
|
def test_thumbnail_should_be_at_least_of_requested_size
|
||||||
|
set_fixtures_attachments_directory
|
||||||
|
attachment = Attachment.find(16)
|
||||||
|
Attachment.clear_thumbnails
|
||||||
|
[
|
||||||
|
[0, 100],
|
||||||
|
[49, 50],
|
||||||
|
[50, 50],
|
||||||
|
[51, 100],
|
||||||
|
[100, 100],
|
||||||
|
[101, 150],
|
||||||
|
].each do |size, generated_size|
|
||||||
|
thumbnail = attachment.thumbnail(size: size)
|
||||||
|
assert_equal "8e0294de2441577c529f170b6fb8f638_2654_#{generated_size}.thumb",
|
||||||
|
File.basename(thumbnail)
|
||||||
|
end
|
||||||
|
end
|
||||||
else
|
else
|
||||||
puts '(ImageMagick convert not available)'
|
puts '(ImageMagick convert not available)'
|
||||||
end
|
end
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user