Sha256: 4abc54d40873c8b20f2e1bb5a91c8d6f99302c6c97539b19ac30c02b56bd116d
Contents?: true
Size: 1.03 KB
Versions: 37
Compression:
Stored size: 1.03 KB
Contents
# frozen_string_literal: true module Capybara # @api private module Queries class StyleQuery < BaseQuery def initialize(expected_styles, session_options:, **options) @expected_styles = stringify_keys(expected_styles) @options = options @actual_styles = {} super(@options) self.session_options = session_options assert_valid_keys end def resolves_for?(node) @node = node @actual_styles = node.style(*@expected_styles.keys) @expected_styles.all? do |style, value| if value.is_a? Regexp value.match? @actual_styles[style] else @actual_styles[style] == value end end end def failure_message +"Expected node to have styles #{@expected_styles.inspect}. " \ "Actual styles were #{@actual_styles.inspect}" end private def stringify_keys(hsh) hsh.transform_keys(&:to_s) end def valid_keys %i[wait] end end end end
Version data entries
37 entries across 27 versions & 4 rubygems