diff --git a/lib/webrat/core/matchers/have_selector.rb b/lib/webrat/core/matchers/have_selector.rb index 07e0e641..28f6c24b 100644 --- a/lib/webrat/core/matchers/have_selector.rb +++ b/lib/webrat/core/matchers/have_selector.rb @@ -43,13 +43,7 @@ def query selector << "[#{key}='#{value}']" end - q = Nokogiri::CSS::Parser.parse(selector).map { |ast| ast.to_xpath }.first - - if options[:content] - q << "[contains(., #{xpath_escape(options[:content])})]" - end - - q + Nokogiri::CSS::Parser.parse(selector).map { |ast| ast.to_xpath }.first end def xpath_escape(string) diff --git a/lib/webrat/core/matchers/have_xpath.rb b/lib/webrat/core/matchers/have_xpath.rb index ee967bec..8cdd9be7 100644 --- a/lib/webrat/core/matchers/have_xpath.rb +++ b/lib/webrat/core/matchers/have_xpath.rb @@ -55,6 +55,10 @@ def nokogiri_matches(stringlike) @query = query end + if @options[:content] + query << "[contains(., #{xpath_escape(@options[:content])})]" + end + @document = Webrat::XML.document(stringlike) @document.xpath(*@query) end