class Capybara::Queries::SiblingQuery

Public Instance Methods

description(applied = false) click to toggle source
# File lib/capybara/queries/sibling_query.rb, line 16
def description(applied = false)
  desc = super
  sibling_query = @sibling_node&.instance_variable_get(:@query)
  desc += " that is a sibling of #{sibling_query.description}" if sibling_query
  desc
end
resolve_for(node, exact = nil) click to toggle source

@api private

# File lib/capybara/queries/sibling_query.rb, line 6
def resolve_for(node, exact = nil)
  @sibling_node = node
  node.synchronize do
    match_results = super(node.session.current_scope, exact)
    node.all(:xpath, XPath.preceding_sibling + XPath.following_sibling) do |el|
      match_results.include?(el)
    end
  end
end