Adding have_xpath matcher for Selenium

This commit is contained in:
Bryan Helmkamp 2008-12-02 22:13:13 -05:00
parent 0888c683a3
commit 881d9f388d

View File

@ -2,6 +2,34 @@ module Webrat
module Selenium
module Matchers
class HaveXpath
def initialize(expected)
@expected = expected
end
def matches?(response)
response.session.wait_for do
response.selenium.is_element_present("xpath=#{@expected}")
end
end
# ==== Returns
# String:: The failure message.
def failure_message
"expected following text to match xpath #{@expected}:\n#{@document}"
end
# ==== Returns
# String:: The failure message to be displayed in negative matches.
def negative_failure_message
"expected following text to not match xpath #{@expected}:\n#{@document}"
end
end
def have_xpath(xpath)
HaveXpath.new(xpath)
end
class HaveSelector
def initialize(expected)
@expected = expected