Sha256: 3aa486eed0dab5202e2df231640380f92edfe2e30e448cb6b7fdc3365bc3fb23

Contents?: true

Size: 971 Bytes

Versions: 1

Compression:

Stored size: 971 Bytes

Contents

module Watir
  module Locators
    class TextField
      class Matcher < Element::Matcher
        private

        def elements_match?(element, values_to_match)
          case element.tag_name.downcase
          when 'input'
            %i[text label visible_text].each do |key|
              next unless values_to_match.key?(key)

              values_to_match[:value] = values_to_match.delete(key)
            end
          when 'label'
            %i[value label].each do |key|
              next unless values_to_match.key?(key)

              values_to_match[:text] = values_to_match.delete(key)
            end
          else
            return
          end

          super
        end

        def text_regexp_deprecation(*)
          # does not apply to text_field
        end

        def validate_tag(element, _expected)
          tag_name = fetch_value(element, :tag_name)
          matches_values?(tag_name, 'input')
        end
      end
    end
  end
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
watir-6.16.2 lib/watir/locators/text_field/matcher.rb