Sha256: 32aa8ceb8115620003687969c4ed0bab1125f19978c6709e5bf51fb6520d288a
Contents?: true
Size: 1.16 KB
Versions: 6
Compression:
Stored size: 1.16 KB
Contents
module Capybara module Searchable def find(*args) all(*args).first end def find_field(locator) find(:xpath, XPath.field(locator)) end alias_method :field_labeled, :find_field def find_link(locator) find(:xpath, XPath.link(locator)) end def find_button(locator) find(:xpath, XPath.button(locator)) end def find_by_id(id) find(:css, "##{id}") end def all(*args) options = if args.last.is_a?(Hash) then args.pop else {} end if args[1].nil? kind, locator = Capybara.default_selector, args.first else kind, locator = args end locator = XPath.from_css(locator) if kind == :css results = all_unfiltered(locator) if options[:text] options[:text] = Regexp.escape(options[:text]) unless options[:text].kind_of?(Regexp) results = results.select { |n| n.text.match(options[:text]) } end if options[:visible] or Capybara.ignore_hidden_elements results = results.select { |n| n.visible? } end results end private def all_unfiltered(locator) raise "Must be overridden" end end end
Version data entries
6 entries across 6 versions & 4 rubygems