Sha256: 23727b0f27d5fb2e7fc3fbc5e338d329b779cc41117edf74ec257a1778f16b15
Contents?: true
Size: 1.38 KB
Versions: 4
Compression:
Stored size: 1.38 KB
Contents
# frozen_string_literal: true module Watir module Locators class TextField class SelectorBuilder class XPath < Element::SelectorBuilder::XPath def text_string return super if @adjacent @built[:text] = @selector.delete(:text) if @selector.key?(:text) '' end def additional_string return '' if @adjacent type_string(@selector.delete(:type)) end def tag_string @selector[:tag_name] = 'input' unless @adjacent super end def type_string(type) if type.eql?(true) "[#{negative_type_text}]" elsif Watir::TextField::NON_TEXT_TYPES.include?(type) msg = "TextField Elements can not be located by type: #{type}" raise LocatorException, msg elsif type.nil? "[not(@type) or (#{negative_type_text})]" else "[#{process_attribute(:type, type)}]" end end def negative_type_text Watir::TextField::NON_TEXT_TYPES.map { |type| lhs = lhs_for(:type, downcase: true) rhs = SelectorBuilder::XpathSupport.downcase(SelectorBuilder::XpathSupport.escape(type)) "#{lhs}!=#{rhs}" }.join(' and ') end end end end end end
Version data entries
4 entries across 4 versions & 1 rubygems