Sha256: 19074d08d2b7c5e7ecf24d5b36ea56f98847c4aaabba1ccfd692b122f5e760a5

Contents?: true

Size: 1.41 KB

Versions: 3

Compression:

Stored size: 1.41 KB

Contents

# frozen_string_literal: true

module Capybara
  module Screenshot
    module Diff
      module Utils
        def self.detect_available_drivers
          result = []
          begin
            result << :vips if defined?(Vips) || require("vips")
          rescue LoadError
            # vips not present
            Object.send(:remove_const, :Vips) if defined?(Vips)
          end
          begin
            result << :chunky_png if defined?(ChunkyPNG) || require("chunky_png")
          rescue LoadError
            # chunky_png not present
            Object.send(:remove_const, :ChunkyPNG) if defined?(ChunkyPNG)
          end
          result
        end

        def self.find_driver_class_for(driver)
          driver = AVAILABLE_DRIVERS.first if driver == :auto

          LOADED_DRIVERS[driver] ||=
            case driver
            when :chunky_png
              require "capybara/screenshot/diff/drivers/chunky_png_driver"
              Drivers::ChunkyPNGDriver
            when :vips
              require "capybara/screenshot/diff/drivers/vips_driver"
              Drivers::VipsDriver
            else
              fail "Wrong adapter #{driver.inspect}. Available adapters: #{AVAILABLE_DRIVERS.inspect}"
            end
        end

        def self.detect_test_framework_assert
          require "minitest"
          ::Minitest::Assertion
        rescue
          ::RuntimeError
        end
      end
    end
  end
end

Version data entries

3 entries across 3 versions & 1 rubygems

Version Path
capybara-screenshot-diff-1.8.3 lib/capybara/screenshot/diff/drivers/utils.rb
capybara-screenshot-diff-1.8.2 lib/capybara/screenshot/diff/drivers/utils.rb
capybara-screenshot-diff-1.8.1 lib/capybara/screenshot/diff/drivers/utils.rb