From 5ff2e65680d0f7aa9d9f2d42861853998491ce35 Mon Sep 17 00:00:00 2001 From: Thomas Walpole Date: Mon, 18 Feb 2013 16:01:52 -0800 Subject: [PATCH] remove unused XPath.css conversion --- lib/capybara/node/finders.rb | 2 +- lib/capybara/node/simple.rb | 6 +++++- lib/capybara/query.rb | 4 ++++ lib/capybara/selector.rb | 4 +--- 4 files changed, 11 insertions(+), 5 deletions(-) diff --git a/lib/capybara/node/finders.rb b/lib/capybara/node/finders.rb index 62aecb02..2c0b73dd 100644 --- a/lib/capybara/node/finders.rb +++ b/lib/capybara/node/finders.rb @@ -147,7 +147,7 @@ module Capybara elements = synchronize do # base.find(query.xpath(exact)).map do |node| if query.selector.preferred_format==:css - base.find(:css, query.locator) + base.find(:css, query.css) else base.find(:xpath, query.xpath(exact)) end.map do |node| diff --git a/lib/capybara/node/simple.rb b/lib/capybara/node/simple.rb index bb5abab6..070d200f 100644 --- a/lib/capybara/node/simple.rb +++ b/lib/capybara/node/simple.rb @@ -154,7 +154,11 @@ module Capybara private def resolve_query(query, exact=nil) - elements = native.xpath(query.xpath(exact)).map do |node| + elements = if query.selector.preferred_format == :css + native.css(query.css) + else + native.xpath(query.xpath(exact)) + end.map do |node| self.class.new(node) end Capybara::Result.new(elements, query) diff --git a/lib/capybara/query.rb b/lib/capybara/query.rb index 88ec0031..3fa86d5d 100644 --- a/lib/capybara/query.rb +++ b/lib/capybara/query.rb @@ -91,6 +91,10 @@ module Capybara @xpath.to_s end end + + def css + @xpath + end private diff --git a/lib/capybara/selector.rb b/lib/capybara/selector.rb index 1bcb7b65..159e1fec 100644 --- a/lib/capybara/selector.rb +++ b/lib/capybara/selector.rb @@ -35,9 +35,7 @@ module Capybara # Same as xpath, but wrap in XPath.css(). def css(&block) @preferred_format = :css - if block - @xpath = xpath { |*args| XPath.css(block.call(*args)) } - end + @xpath = block if block @xpath end