Module: Capybara::Screenshot::Diff

Includes:
DSL, Os
Defined in:
lib/capybara/screenshot/diff.rb,
lib/capybara/screenshot/diff/vcs.rb,
lib/capybara/screenshot/diff/version.rb,
lib/capybara/screenshot/diff/test_methods.rb,
lib/capybara/screenshot/diff/drivers/utils.rb,
lib/capybara/screenshot/diff/image_compare.rb,
lib/capybara/screenshot/diff/stabilization.rb,
lib/capybara/screenshot/diff/drivers/vips_driver.rb,
lib/capybara/screenshot/diff/drivers/chunky_png_driver.rb

Overview

Module to track screen shot changes

Defined Under Namespace

Modules: Drivers, Stabilization, TestMethods, Utils, Vcs Classes: ImageCompare

Constant Summary collapse

AVAILABLE_DRIVERS =
Utils.detect_available_drivers.freeze
ASSERTION =
Utils.detect_test_framework_assert
VERSION =
"1.7.0"
LOADED_DRIVERS =
{}

Constants included from Os

Os::ON_LINUX, Os::ON_MAC, Os::ON_WINDOWS

Class Method Summary collapse

Methods included from Os

#os_name

Class Method Details

.default_optionsObject



60
61
62
63
64
65
66
67
68
69
70
71
# File 'lib/capybara/screenshot/diff.rb', line 60

def self.default_options
  {
    area_size_limit: area_size_limit,
    color_distance_limit: color_distance_limit,
    driver: driver,
    shift_distance_limit: shift_distance_limit,
    skip_area: skip_area,
    stability_time_limit: Screenshot.stability_time_limit,
    tolerance: tolerance || (driver == :vips ? 0.001 : nil),
    wait: Capybara.default_max_wait_time
  }
end

.included(klass) ⇒ Object



73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
# File 'lib/capybara/screenshot/diff.rb', line 73

def self.included(klass)
  klass.include TestMethods
  klass.setup do
    if Capybara::Screenshot.window_size
      if page.driver.respond_to?(:resize)
        page.driver.resize(*Capybara::Screenshot.window_size)
      elsif selenium?
        page.driver.browser.manage.window.resize_to(*Capybara::Screenshot.window_size)
      end
    end
  end

  klass.teardown do
    if Capybara::Screenshot.active? && @test_screenshots
      track_failures(@test_screenshots, caller)
      @test_screenshots = nil
    end
  end
end