class Capybara::RSpecMatchers::Matcher

Attributes

failure_message[R]
failure_message_when_negated[R]

Public Class Methods

new(*args, &filter_block) click to toggle source
# File lib/capybara/rspec/matchers.rb, line 12
def initialize(*args, &filter_block)
  @args = args.dup
  @filter_block = filter_block
end

Public Instance Methods

wrap(actual) click to toggle source
# File lib/capybara/rspec/matchers.rb, line 17
def wrap(actual)
  actual = actual.to_capybara_node if actual.respond_to?(:to_capybara_node)
  @context_el = if actual.respond_to?(:has_selector?)
    actual
  else
    Capybara.string(actual.to_s)
  end
end

Private Instance Methods

session_options() click to toggle source
# File lib/capybara/rspec/matchers.rb, line 51
def session_options
  @context_el ||= nil
  if @context_el.respond_to? :session_options
    @context_el.session_options
  elsif @context_el.respond_to? :current_scope
    @context_el.current_scope.session_options
  else
    Capybara.session_options
  end
end
session_query_args() click to toggle source
# File lib/capybara/rspec/matchers.rb, line 42
def session_query_args
  if @args.last.is_a? Hash
    @args.last[:session_options] = session_options
  else
    @args.push(session_options: session_options)
  end
  @args
end
wrap_does_not_match?(actual) { |wrap(actual)| ... } click to toggle source
# File lib/capybara/rspec/matchers.rb, line 35
def wrap_does_not_match?(actual)
  yield(wrap(actual))
rescue Capybara::ExpectationNotMet => err
  @failure_message_when_negated = err.message
  false
end
wrap_matches?(actual) { |wrap(actual)| ... } click to toggle source
# File lib/capybara/rspec/matchers.rb, line 28
def wrap_matches?(actual)
  yield(wrap(actual))
rescue Capybara::ExpectationNotMet => err
  @failure_message = err.message
  false
end