From bcf370d689673031073ba2ac5588afe41cc315c9 Mon Sep 17 00:00:00 2001 From: Younes SERRAJ Date: Sun, 21 Apr 2019 19:07:22 +0200 Subject: Allow ActiveStorage to generate variants of BMP images --- activestorage/CHANGELOG.md | 4 ++++ activestorage/lib/active_storage/engine.rb | 2 ++ activestorage/test/fixtures/files/colors.bmp | Bin 0 -> 2810 bytes activestorage/test/models/variant_test.rb | 11 +++++++++++ 4 files changed, 17 insertions(+) create mode 100644 activestorage/test/fixtures/files/colors.bmp (limited to 'activestorage') diff --git a/activestorage/CHANGELOG.md b/activestorage/CHANGELOG.md index 54fc949172..d524ecf7d6 100644 --- a/activestorage/CHANGELOG.md +++ b/activestorage/CHANGELOG.md @@ -1,3 +1,7 @@ +* Permit generating variants of BMP images. + + *Younes Serraj* + ## Rails 6.0.0.beta3 (March 11, 2019) ## * No changes. diff --git a/activestorage/lib/active_storage/engine.rb b/activestorage/lib/active_storage/engine.rb index fc75a8f816..cbb205627e 100644 --- a/activestorage/lib/active_storage/engine.rb +++ b/activestorage/lib/active_storage/engine.rb @@ -33,6 +33,7 @@ module ActiveStorage image/jpeg image/pjpeg image/tiff + image/bmp image/vnd.adobe.photoshop image/vnd.microsoft.icon ) @@ -56,6 +57,7 @@ module ActiveStorage image/jpg image/jpeg image/tiff + image/bmp image/vnd.adobe.photoshop image/vnd.microsoft.icon application/pdf diff --git a/activestorage/test/fixtures/files/colors.bmp b/activestorage/test/fixtures/files/colors.bmp new file mode 100644 index 0000000000..3cc1e8764d Binary files /dev/null and b/activestorage/test/fixtures/files/colors.bmp differ diff --git a/activestorage/test/models/variant_test.rb b/activestorage/test/models/variant_test.rb index d98935eb9f..92e3384042 100644 --- a/activestorage/test/models/variant_test.rb +++ b/activestorage/test/models/variant_test.rb @@ -144,6 +144,17 @@ class ActiveStorage::VariantTest < ActiveSupport::TestCase assert_equal 33, image.height end + test "resized variation of BMP blob" do + blob = create_file_blob(filename: "colors.bmp") + variant = blob.variant(resize: "15x15").processed + assert_match(/colors\.bmp/, variant.service_url) + + image = read_image(variant) + assert_equal "BMP", image.type + assert_equal 15, image.width + assert_equal 8, image.height + end + test "optimized variation of GIF blob" do blob = create_file_blob(filename: "image.gif", content_type: "image/gif") -- cgit v1.2.3