Sha256: 984e83671921907063abfff97c4fd332137a82eec36c2e86c964314d0160d258

Contents?: true

Size: 1.38 KB

Versions: 18

Compression:

Stored size: 1.38 KB

Contents

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
          rescue Webrat::TimeoutError
            false
        end

        def does_not_match?(response)
          response.session.wait_for do
            !response.selenium.is_element_present("xpath=#{@expected}")
          end
          rescue Webrat::TimeoutError
            false
        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

      def assert_have_xpath(expected)
        hs = HaveXpath.new(expected)
        assert hs.matches?(response), hs.failure_message
      end

      def assert_have_no_xpath(expected)
        hs = HaveXpath.new(expected)
        assert !hs.matches?(response), hs.negative_failure_message
      end
    end
  end
end

Version data entries

18 entries across 18 versions & 9 rubygems

Version Path
radiant-1.0.0 ruby-debug/ruby/1.8/gems/webrat-0.7.3/lib/webrat/selenium/matchers/have_xpath.rb
indirect-webrat-0.7.5 lib/webrat/selenium/matchers/have_xpath.rb
indirect-webrat-0.7.4 lib/webrat/selenium/matchers/have_xpath.rb
webrat-0.7.3 lib/webrat/selenium/matchers/have_xpath.rb
jbd-webrat-0.7.2.rails3 lib/webrat/selenium/matchers/have_xpath.rb
webrat-0.7.2 lib/webrat/selenium/matchers/have_xpath.rb
webrat-0.7.2.beta.2 lib/webrat/selenium/matchers/have_xpath.rb
mutle-webrat-0.7.2.beta.1 lib/webrat/selenium/matchers/have_xpath.rb
thoughtbot-webrat-0.7.2.pre lib/webrat/selenium/matchers/have_xpath.rb
webrat-0.7.2.beta.1 lib/webrat/selenium/matchers/have_xpath.rb
honkster-webrat-0.7.1.2 lib/webrat/selenium/matchers/have_xpath.rb
honkster-webrat-0.7.1.1 lib/webrat/selenium/matchers/have_xpath.rb
revo-webrat-0.7.0.1 lib/webrat/selenium/matchers/have_xpath.rb
webrat-0.7.1 lib/webrat/selenium/matchers/have_xpath.rb
davidtrogers-webrat-0.7.0 lib/webrat/selenium/matchers/have_xpath.rb
revo-webrat-0.7.0 lib/webrat/selenium/matchers/have_xpath.rb
revo-webrat-0.7.1.pre lib/webrat/selenium/matchers/have_xpath.rb
webrat-0.7.0 lib/webrat/selenium/matchers/have_xpath.rb