Class: Capybara::RSpecMatchers::Matchers::HaveSelector

Inherits:
CountableWrappedElementMatcher show all
Defined in:
lib/capybara/rspec/matchers/have_selector.rb

Direct Known Subclasses

MatchSelector

Instance Attribute Summary

Attributes inherited from Base

#failure_message, #failure_message_when_negated

Instance Method Summary collapse

Methods included from SpatialSugar

#above, #below, #left_of, #near, #right_of

Methods included from CountSugar

#at_least, #at_most, #exactly, #once, #thrice, #times, #twice

Methods inherited from WrappedElementMatcher

#does_not_match?, #matches?

Methods included from Compound

#and, #and_then, #or

Constructor Details

#initialize(*args, **kw_args, &filter_block) ⇒ HaveSelector

Returns a new instance of HaveSelector.


9
10
11
12
13
14
15
# File 'lib/capybara/rspec/matchers/have_selector.rb', line 9

def initialize(*args, **kw_args, &filter_block)
  super
  if (RUBY_VERSION >= '2.7') && (@args.size < 2) && @kw_args.keys.any?(String) # rubocop:disable Style/GuardClause
    @args.push(@kw_args)
    @kw_args = {}
  end
end

Instance Method Details

#descriptionObject


25
26
27
# File 'lib/capybara/rspec/matchers/have_selector.rb', line 25

def description
  "have #{query.description}"
end

#element_does_not_match?(el) ⇒ Boolean

Returns:

  • (Boolean)

21
22
23
# File 'lib/capybara/rspec/matchers/have_selector.rb', line 21

def element_does_not_match?(el)
  el.assert_no_selector(*@args, **session_query_options, &@filter_block)
end

#element_matches?(el) ⇒ Boolean

Returns:

  • (Boolean)

17
18
19
# File 'lib/capybara/rspec/matchers/have_selector.rb', line 17

def element_matches?(el)
  el.assert_selector(*@args, **session_query_options, &@filter_block)
end

#queryObject


29
30
31
# File 'lib/capybara/rspec/matchers/have_selector.rb', line 29

def query
  @query ||= Capybara::Queries::SelectorQuery.new(*session_query_args, **session_query_options, &@filter_block)
end