class Watir::Locators::Anchor::SelectorBuilder
Private Instance Methods
build_link_text(selector)
click to toggle source
# File lib/watir/locators/anchor/selector_builder.rb, line 11 def build_link_text(selector) return unless can_convert_to_link_text?(selector) selector.delete(:tag_name) {link_text: selector.delete(:visible_text)} end
build_partial_link_text(selector)
click to toggle source
# File lib/watir/locators/anchor/selector_builder.rb, line 23 def build_partial_link_text(selector) return unless convert_to_partial_link_text?(selector) selector.delete(:tag_name) {partial_link_text: selector.delete(:visible_text).source} end
build_wd_selector(selector)
click to toggle source
Calls superclass method
# File lib/watir/locators/anchor/selector_builder.rb, line 7 def build_wd_selector(selector) build_link_text(selector) || build_partial_link_text(selector) || super end
can_convert_to_link_text?(selector)
click to toggle source
# File lib/watir/locators/anchor/selector_builder.rb, line 18 def can_convert_to_link_text?(selector) selector.keys.sort == %i[tag_name visible_text] && selector[:visible_text].is_a?(String) end
convert_to_partial_link_text?(selector)
click to toggle source
# File lib/watir/locators/anchor/selector_builder.rb, line 30 def convert_to_partial_link_text?(selector) regex = selector[:visible_text] selector.keys.sort == %i[tag_name visible_text] && !regex.casefold? && RegexpDisassembler.new(regex).substrings.first == regex.source end