aboutsummaryrefslogtreecommitdiffstats
path: root/test/test_helper.rb
diff options
context:
space:
mode:
authorAnton Khamets <colorfulfool@gmail.com>2017-07-26 20:51:02 +0400
committerGeorge Claghorn <george.claghorn@gmail.com>2017-07-26 12:51:02 -0400
commit6ec6d223400142faf925aa84a15805d8329c4d74 (patch)
treeb5935077ed71bf8856c62e47ea1b86ecd2ff985e /test/test_helper.rb
parent5492c4efa9d869f207ea702d0b328f26c047b75c (diff)
downloadrails-6ec6d223400142faf925aa84a15805d8329c4d74.tar.gz
rails-6ec6d223400142faf925aa84a15805d8329c4d74.tar.bz2
rails-6ec6d223400142faf925aa84a15805d8329c4d74.zip
Compare images by selected attributes (size, colorspace)
Diffstat (limited to 'test/test_helper.rb')
-rw-r--r--test/test_helper.rb30
1 files changed, 24 insertions, 6 deletions
diff --git a/test/test_helper.rb b/test/test_helper.rb
index 154a2f0835..f531cb8079 100644
--- a/test/test_helper.rb
+++ b/test/test_helper.rb
@@ -32,6 +32,8 @@ ActiveStorage::Service.logger = ActiveSupport::Logger.new(STDOUT)
ActiveStorage.verifier = ActiveSupport::MessageVerifier.new("Testing")
class ActiveSupport::TestCase
+ self.file_fixture_path = File.expand_path("../fixtures/files", __FILE__)
+
private
def create_blob(data: "Hello world!", filename: "hello.txt", content_type: "text/plain")
ActiveStorage::Blob.create_after_upload! io: StringIO.new(data), filename: filename, content_type: content_type
@@ -39,18 +41,34 @@ class ActiveSupport::TestCase
def create_image_blob(filename: "racecar.jpg", content_type: "image/jpeg")
ActiveStorage::Blob.create_after_upload! \
- io: File.open(File.expand_path("../fixtures/files/#{filename}", __FILE__)),
+ io: file_fixture(filename).open,
filename: filename, content_type: content_type
end
-
+
def create_blob_before_direct_upload(filename: "hello.txt", byte_size:, checksum:, content_type: "text/plain")
ActiveStorage::Blob.create_before_direct_upload! filename: filename, byte_size: byte_size, checksum: checksum, content_type: content_type
end
+
+
+ def assert_equal_image_dimensions(fixture_filename, variant)
+ expected_image, actual_image = read_image_fixture(fixture_filename), read_image_variant(variant)
+
+ assert_equal expected_image.width, actual_image.width
+ assert_equal expected_image.height, actual_image.height
+ end
+
+ def assert_equal_image_colorspace(fixture_filename, variant)
+ expected_image, actual_image = read_image_fixture(fixture_filename), read_image_variant(variant)
+
+ assert_equal expected_image.colorspace, actual_image.colorspace
+ end
+
+ def read_image_fixture(fixture_filename)
+ MiniMagick::Image.open file_fixture(fixture_filename)
+ end
- def assert_same_image(fixture_filename, variant)
- assert_equal \
- File.binread(File.expand_path("../fixtures/files/#{fixture_filename}", __FILE__)),
- File.binread(variant.service.send(:path_for, variant.key))
+ def read_image_variant(variant)
+ MiniMagick::Image.open variant.service.send(:path_for, variant.key)
end
end