Sha256: 51830253472532690c0f52fe6619463cf55ad39c482ffb1d764cd6849442944b

Contents?: true

Size: 1.37 KB

Versions: 59

Compression:

Stored size: 1.37 KB

Contents

module Webrat
  module Selenium
    module Matchers
      class HaveSelector
        def initialize(expected)
          @expected = expected
        end

        def matches?(response)
          response.session.wait_for do
            response.selenium.is_element_present("css=#{@expected}")
          end
          rescue Webrat::TimeoutError
            false
        end

        # ==== Returns
        # String:: The failure message.
        def failure_message
          "expected following text to match selector #{@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 selector #{@expected}:\n#{@document}"
        end
      end

      def have_selector(content)
        HaveSelector.new(content)
      end

      # Asserts that the body of the response contains
      # the supplied selector
      def assert_have_selector(expected)
        hs = HaveSelector.new(expected)
        assert hs.matches?(response), hs.failure_message
      end

      # Asserts that the body of the response
      # does not contain the supplied string or regepx
      def assert_have_no_selector(expected)
        hs = HaveSelector.new(expected)
        assert !hs.matches?(response), hs.negative_failure_message
      end
    end
  end
end

Version data entries

59 entries across 59 versions & 25 rubygems

Version Path
aslakhellesoy-webrat-0.4.4.1 lib/webrat/selenium/matchers/have_selector.rb
casebook-webrat-0.4.4.1 lib/webrat/selenium/matchers/have_selector.rb
cavalle-webrat-0.4.4.1 lib/webrat/selenium/matchers/have_selector.rb
cavalle-webrat-0.4.4.2 lib/webrat/selenium/matchers/have_selector.rb
davidtrogers-webrat-0.4.4.2 lib/webrat/selenium/matchers/have_selector.rb
dbrady-webrat-0.4.4.1 lib/webrat/selenium/matchers/have_selector.rb
dbrady-webrat-0.4.4.2 lib/webrat/selenium/matchers/have_selector.rb
dbrady-webrat-0.4.4 lib/webrat/selenium/matchers/have_selector.rb
diabolo-diabolo-webrat-0.4.4 lib/webrat/selenium/matchers/have_selector.rb
diabolo-webrat-0.4.3 lib/webrat/selenium/matchers/have_selector.rb
diabolo-webrat-0.4.4.1 lib/webrat/selenium/matchers/have_selector.rb
diabolo-webrat-0.4.4.2 lib/webrat/selenium/matchers/have_selector.rb
diabolo-webrat-0.4.4 lib/webrat/selenium/matchers/have_selector.rb
diabolo-webrat-0.5.1 lib/webrat/selenium/matchers/have_selector.rb
dstrelau-webrat-0.5.1 lib/webrat/selenium/matchers/have_selector.rb
emipair-webrat-0.0.1 lib/webrat/selenium/matchers/have_selector.rb
futuresinc-webrat-0.4.4.100 lib/webrat/selenium/matchers/have_selector.rb
futuresinc-webrat-0.4.4.99 lib/webrat/selenium/matchers/have_selector.rb
garnierjm-webrat-0.4.5 lib/webrat/selenium/matchers/have_selector.rb
hardbap-webrat-0.5.1 lib/webrat/selenium/matchers/have_selector.rb