Browse Source

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
tags/4.1.0
Go MAEDA 5 years ago
parent
commit
4c38f46184
2 changed files with 19 additions and 1 deletions
  1. 1
    1
      app/models/attachment.rb
  2. 18
    0
      test/unit/attachment_test.rb

+ 1
- 1
app/models/attachment.rb View File

@@ -209,7 +209,7 @@ class Attachment < ActiveRecord::Base
size = options[:size].to_i
if size > 0
# Limit the number of thumbnails per image
size = (size / 50) * 50
size = (size / 50.0).ceil * 50
# Maximum thumbnail size
size = 800 if size > 800
else

+ 18
- 0
test/unit/attachment_test.rb View File

@@ -480,6 +480,24 @@ class AttachmentTest < ActiveSupport::TestCase
attachment = Attachment.find(16)
assert_nil attachment.thumbnail
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
puts '(ImageMagick convert not available)'
end

Loading…
Cancel
Save