Files
Vít Ondruch 709bcf7eec Fix compatibility with Minitest 5.19+ (#114)
The `MiniTest` was renamed to `Minitest`:

https://github.com/minitest/minitest/commit/9a57c520ceac76abfe6105866f8548a94eb357b6

And the `MiniTest` constant is now loaded just when `MT_COMPAT` environment variable is set:

https://github.com/minitest/minitest/commit/a2c6c18570f6f0a1bf6af70fe3b6d9599a13fdd6

This fixes following issue:

~~~
$ ruby -Ilib:test -e 'Dir.glob "./test/**/*_test.rb", &method(:require)'
/builddir/build/BUILD/test/test_helper.rb:17:in `<top (required)>': uninitialized constant MiniTest (NameError)
class MiniTest::Test
      ^^^^^^^^
Did you mean?  Minitest
	from <internal:/usr/share/rubygems/rubygems/core_ext/kernel_require.rb>:85:in `require'
	from <internal:/usr/share/rubygems/rubygems/core_ext/kernel_require.rb>:85:in `require'
	from /builddir/build/BUILD/image_processing-1.12.2/usr/share/gems/gems/image_processing-1.12.2/test/builder_test.rb:1:in `<top (required)>'
	from <internal:/usr/share/rubygems/rubygems/core_ext/kernel_require.rb>:85:in `require'
	from <internal:/usr/share/rubygems/rubygems/core_ext/kernel_require.rb>:85:in `require'
	from <internal:dir>:220:in `glob'
	from -e:1:in `<main>'
~~~
2023-08-31 14:10:34 +02:00

68 lines
1.4 KiB
Ruby

require "bundler/setup"
ENV["MT_NO_EXPECTATIONS"] = "1" # disable Minitest's expectations monkey-patches
require "minitest/autorun"
require "minitest/pride"
require "minitest/hooks/default"
require "minispec-metadata"
ENV["VIPS_WARNING"] = "0" # disable libvips warnings
require "dhash-vips"
require "vips"
require "mini_magick"
class Minitest::Test
def fixture_image(name)
File.open("test/fixtures/#{name}", "rb")
end
def copy_to_tempfile(io, extension = nil)
tempfile = Tempfile.new(["copy", *extension], binmode: true)
IO.copy_stream(io, tempfile)
io.rewind
tempfile.tap(&:open)
end
def assert_similar(image1, image2)
assert_operator distance(image1, image2), :<=, 3
end
def refute_similar(image1, image2)
assert_operator distance(image1, image2), :>, 3
end
def assert_dimensions(dimensions, file)
assert_equal dimensions, Vips::Image.new_from_file(file.path).size
end
def assert_type(type, file)
assert_equal type, MiniMagick::Image.new(file.path).type
end
private
def distance(image1, image2)
hash1 = DHashVips::IDHash.fingerprint(image1.path)
hash2 = DHashVips::IDHash.fingerprint(image2.path)
DHashVips::IDHash.distance hash1, hash2
end
end
class Minitest::Spec
def self.deprecated(name, &block)
it("#{name} (deprecated)") do
deprecated{instance_exec(&block)}
end
end
def deprecated
$stderr = StringIO.new
yield
$stderr = STDERR
end
end