module Capybara::Node::DocumentMatchers

Public Instance Methods

assert_no_title(title, **options) click to toggle source

Asserts that the page doesn't have the given title.

@macro title_query_params @raise [Capybara::ExpectationNotMet] if the assertion hasn't succeeded during wait time @return [true]

# File lib/capybara/node/document_matchers.rb, line 30
def assert_no_title(title, **options)
  _verify_title(title, options) { |query| raise Capybara::ExpectationNotMet, query.negative_failure_message if query.resolves_for?(self) }
end
assert_title(title, **options) click to toggle source

Asserts that the page has the given title.

@!macro title_query_params

@overload $0(string, **options)
  @param string [String]           The string that title should include
@overload $0(regexp, **options)
  @param regexp [Regexp]           The regexp that title should match to
@option options [Numeric] :wait (Capybara.default_max_wait_time) Maximum time that Capybara will wait for title to eq/match given string/regexp argument
@option options [Boolean] :exact (false) When passed a string should the match be exact or just substring

@raise [Capybara::ExpectationNotMet] if the assertion hasn't succeeded during wait time @return [true]

# File lib/capybara/node/document_matchers.rb, line 19
def assert_title(title, **options)
  _verify_title(title, options) { |query| raise Capybara::ExpectationNotMet, query.failure_message unless query.resolves_for?(self) }
end
has_no_title?(title, **options) click to toggle source

Checks if the page doesn't have the given title.

@macro title_query_params @return [Boolean]

# File lib/capybara/node/document_matchers.rb, line 50
def has_no_title?(title, **options)
  make_predicate(options) { assert_no_title(title, options) }
end
has_title?(title, **options) click to toggle source

Checks if the page has the given title.

@macro title_query_params @return [Boolean]

# File lib/capybara/node/document_matchers.rb, line 40
def has_title?(title, **options)
  make_predicate(options) { assert_title(title, options) }
end

Private Instance Methods

_verify_title(title, options) { |query| ... } click to toggle source
# File lib/capybara/node/document_matchers.rb, line 56
def _verify_title(title, options)
  query = Capybara::Queries::TitleQuery.new(title, options)
  synchronize(query.wait) { yield(query) }
  true
end