class Capybara::Queries::StyleQuery

Public Class Methods

new(expected_styles, session_options:, **options) click to toggle source
Calls superclass method Capybara::Queries::BaseQuery.new
# File lib/capybara/queries/style_query.rb, line 7
def initialize(expected_styles, session_options:, **options)
  @expected_styles = expected_styles.each_with_object({}) { |(style, value), str_keys| str_keys[style.to_s] = value }
  @options = options
  @actual_styles = {}
  super(@options)
  self.session_options = session_options

  assert_valid_keys
end

Public Instance Methods

failure_message() click to toggle source
# File lib/capybara/queries/style_query.rb, line 29
def failure_message
  +"Expected node to have styles #{@expected_styles.inspect}. " \
   "Actual styles were #{@actual_styles.inspect}"
end
resolves_for?(node) click to toggle source
# File lib/capybara/queries/style_query.rb, line 17
def resolves_for?(node)
  @node = node
  @actual_styles = node.style(*@expected_styles.keys)
  @expected_styles.all? do |style, value|
    if value.is_a? Regexp
      @actual_styles[style] =~ value
    else
      @actual_styles[style] == value
    end
  end
end

Private Instance Methods

valid_keys() click to toggle source
# File lib/capybara/queries/style_query.rb, line 36
def valid_keys
  %i[wait]
end