1
0
Fork 0
mirror of https://github.com/teamcapybara/capybara.git synced 2022-11-09 12:08:07 -05:00
teamcapybara--capybara/lib/capybara/queries/title_query.rb

40 lines
1,019 B
Ruby
Raw Normal View History

2016-03-07 16:52:19 -08:00
# frozen_string_literal: true
2018-01-08 12:23:54 -08:00
module Capybara
# @api private
module Queries
class TitleQuery < BaseQuery
2016-08-17 16:14:39 -07:00
def initialize(expected_title, **options)
@expected_title = expected_title.is_a?(Regexp) ? expected_title : expected_title.to_s
@options = options
2017-05-28 08:54:55 -07:00
super(@options)
@search_regexp = Helpers.to_regexp(@expected_title, all_whitespace: true, exact: options.fetch(:exact, false))
assert_valid_keys
end
def resolves_for?(node)
(@actual_title = node.title).match?(@search_regexp)
end
def failure_message
failure_message_helper
end
def negative_failure_message
failure_message_helper(' not')
end
2018-01-09 14:05:50 -08:00
private
def failure_message_helper(negated = '')
2018-01-08 12:23:54 -08:00
verb = @expected_title.is_a?(Regexp) ? 'match' : 'include'
"expected #{@actual_title.inspect}#{negated} to #{verb} #{@expected_title.inspect}"
end
def valid_keys
2018-01-08 12:23:54 -08:00
%i[wait exact]
end
end
end
end