# File lib/capybara/result.rb, line 34 def failure_message message = if @query.options[:count] "expected #{@query.description} to be found #{@query.options[:count]} #{declension("time", "times", @query.options[:count])}" elsif @query.options[:between] "expected #{@query.description} to be found between #{@query.options[:between].first} and #{@query.options[:between].last} times" elsif @query.options[:maximum] "expected #{@query.description} to be found at most #{@query.options[:maximum]} #{declension("time", "times", @query.options[:maximum])}" elsif @query.options[:minimum] "expected #{@query.description} to be found at least #{@query.options[:minimum]} #{declension("time", "times", @query.options[:minimum])}" else "expected to find #{@query.description}" end if count > 0 message << ", found #{count} #{declension("match", "matches")}: " << @result.map(&:text).map(&:inspect).join(", ") else message << " but there were no matches" end unless @rest.empty? elements = @rest.map(&:text).map(&:inspect).join(", ") message << ". Also found " << elements << ", which matched the selector but not all filters." end message end
# File lib/capybara/result.rb, line 21 def find! raise find_error if @result.size != 1 @result.first end
# File lib/capybara/result.rb, line 26 def find_error if @result.size == 0 Capybara::ElementNotFound.new("Unable to find #{@query.description}") elsif @result.size > 1 Capybara::Ambiguous.new("Ambiguous match, found #{size} elements matching #{@query.description}") end end
Generated with the Darkfish Rdoc Generator 2.