module Capybara::Screenshot::BrowserHelpers

Constants

FIND_ACTIVE_ELEMENT_SCRIPT
GET_BOUNDING_CLIENT_RECT_SCRIPT
HIDE_CARET_SCRIPT
IMAGE_WAIT_SCRIPT

Public Class Methods

all_visible_regions_for(selector) click to toggle source
# File lib/capybara/screenshot/diff/browser_helpers.rb, line 81
def self.all_visible_regions_for(selector)
  BrowserHelpers.session.all(selector, visible: true).map(&method(:region_for))
end
blur_from_focused_element() click to toggle source
# File lib/capybara/screenshot/diff/browser_helpers.rb, line 68
def self.blur_from_focused_element
  session.evaluate_script(FIND_ACTIVE_ELEMENT_SCRIPT)
end
bounds_for_css(*css_selectors) click to toggle source
# File lib/capybara/screenshot/diff/browser_helpers.rb, line 25
def self.bounds_for_css(*css_selectors)
  css_selectors.reduce([]) do |regions, selector|
    regions.concat(all_visible_regions_for(selector))
  end
end
current_capybara_driver_class() click to toggle source
# File lib/capybara/screenshot/diff/browser_helpers.rb, line 97
def self.current_capybara_driver_class
  session.driver.class
end
hide_caret() click to toggle source
# File lib/capybara/screenshot/diff/browser_helpers.rb, line 53
def self.hide_caret
  session.execute_script(HIDE_CARET_SCRIPT)
end
pending_image_to_load() click to toggle source
# File lib/capybara/screenshot/diff/browser_helpers.rb, line 93
def self.pending_image_to_load
  BrowserHelpers.session.evaluate_script(IMAGE_WAIT_SCRIPT)
end
region_for(element) click to toggle source
# File lib/capybara/screenshot/diff/browser_helpers.rb, line 85
def self.region_for(element)
  element.evaluate_script(GET_BOUNDING_CLIENT_RECT_SCRIPT).map { |point| point.negative? ? 0 : point.ceil.to_i }
end
resize_to(window_size) click to toggle source
# File lib/capybara/screenshot/diff/browser_helpers.rb, line 8
def self.resize_to(window_size)
  if session.driver.respond_to?(:resize)
    session.driver.resize(*window_size)
  elsif BrowserHelpers.selenium?
    session.driver.browser.manage.window.resize_to(*window_size)
  end
end
selenium?() click to toggle source
# File lib/capybara/screenshot/diff/browser_helpers.rb, line 16
def self.selenium?
  current_capybara_driver_class <= Capybara::Selenium::Driver
end
session() click to toggle source
# File lib/capybara/screenshot/diff/browser_helpers.rb, line 89
def self.session
  Capybara.current_session
end
window_size_is_wrong?(expected_window_size = nil) click to toggle source
# File lib/capybara/screenshot/diff/browser_helpers.rb, line 20
def self.window_size_is_wrong?(expected_window_size = nil)
  selenium? && expected_window_size &&
    session.driver.browser.manage.window.size != ::Selenium::WebDriver::Dimension.new(*expected_window_size)
end