Sha256: 639e922f6a7e76f22a8aaf0f8600a759d38074ab5fd9f193cac520674c898ffd

Contents?: true

Size: 820 Bytes

Versions: 35

Compression:

Stored size: 820 Bytes

Contents

module Watir
  module Locators
    class Row
      class SelectorBuilder < Element::SelectorBuilder
        def build_wd_selector(selectors)
          return if selectors.values.any? { |e| e.kind_of? Regexp }
          selectors.delete(:tag_name) || raise("internal error: no tag_name?!")

          expressions = %w[./tr]
          unless %w[tbody tfoot thead].include?(@query_scope.tag_name.downcase)
            expressions += %w[./tbody/tr ./thead/tr ./tfoot/tr]
          end

          attr_expr = xpath_builder.attribute_expression(nil, selectors)

          unless attr_expr.empty?
            expressions.map! { |e| "#{e}[#{attr_expr}]" }
          end

          xpath = expressions.join(" | ")

          p build_wd_selector: xpath if $DEBUG

          [:xpath, xpath]
        end
      end
    end
  end
end

Version data entries

35 entries across 35 versions & 1 rubygems

Version Path
watir-6.10.3 lib/watir/locators/row/selector_builder.rb
watir-6.10.2 lib/watir/locators/row/selector_builder.rb
watir-6.10.0 lib/watir/locators/row/selector_builder.rb
watir-6.9.1 lib/watir/locators/row/selector_builder.rb
watir-6.9.0 lib/watir/locators/row/selector_builder.rb
watir-6.8.4 lib/watir/locators/row/selector_builder.rb
watir-6.8.3 lib/watir/locators/row/selector_builder.rb
watir-6.8.2 lib/watir/locators/row/selector_builder.rb
watir-6.8.1 lib/watir/locators/row/selector_builder.rb
watir-6.8.0 lib/watir/locators/row/selector_builder.rb
watir-6.7.3 lib/watir/locators/row/selector_builder.rb
watir-6.7.2 lib/watir/locators/row/selector_builder.rb
watir-6.7.1 lib/watir/locators/row/selector_builder.rb
watir-6.7.0 lib/watir/locators/row/selector_builder.rb
watir-6.6.3 lib/watir/locators/row/selector_builder.rb
watir-6.6.2 lib/watir/locators/row/selector_builder.rb
watir-6.6.1 lib/watir/locators/row/selector_builder.rb
watir-6.6.0 lib/watir/locators/row/selector_builder.rb
watir-6.5.0 lib/watir/locators/row/selector_builder.rb
watir-6.4.3 lib/watir/locators/row/selector_builder.rb