Sha256: 168c3168d4ed8d5162cc112f15171fffa722aa728496d5dfdc9f5c441656b74a

Contents?: true

Size: 659 Bytes

Versions: 65

Compression:

Stored size: 659 Bytes

Contents

# frozen_string_literal: true

Capybara.add_selector(:fieldset, locator_type: [String, Symbol]) do
  xpath do |locator, legend: nil, **|
    locator_matchers = (XPath.attr(:id) == locator.to_s) | XPath.child(:legend)[XPath.string.n.is(locator.to_s)]
    locator_matchers |= XPath.attr(test_id) == locator.to_s if test_id
    xpath = XPath.descendant(:fieldset)[locator && locator_matchers]
    xpath = xpath[XPath.child(:legend)[XPath.string.n.is(legend)]] if legend
    xpath
  end

  node_filter(:disabled, :boolean) { |node, value| !(value ^ node.disabled?) }
  expression_filter(:disabled) { |xpath, val| val ? xpath : xpath[~XPath.attr(:disabled)] }
end

Version data entries

65 entries across 52 versions & 6 rubygems

Version Path
capybara-3.20.2 lib/capybara/selector/definition/fieldset.rb
capybara-3.20.1 lib/capybara/selector/definition/fieldset.rb
capybara-3.20.0 lib/capybara/selector/definition/fieldset.rb
capybara-3.19.1 lib/capybara/selector/definition/fieldset.rb
capybara-3.19.0 lib/capybara/selector/definition/fieldset.rb