Sha256: 548f814e21d0b4bf76eab07e31c26fe9b80310fd128423138bad42ec3b8b0189

Contents?: true

Size: 932 Bytes

Versions: 33

Compression:

Stored size: 932 Bytes

Contents

module Capybara
  module Webkit
    module RspecMatchers
      RSpec::Matchers.define :have_errors do |expected|
        match do |actual|
          actual = resolve(actual)
          actual.error_messages.any?
        end

        failure_message_for_should do |actual|
          "Expected Javascript errors, but there were none."
        end
        
        failure_message_for_should_not do |actual|
          actual = resolve(actual)
          "Expected no Javascript errors, got:\n#{error_messages_for(actual)}"
        end

        def error_messages_for(obj)
          obj.error_messages.map do |m|
            "  - #{m[:message]}"
          end.join("\n")
        end

        def resolve(actual)
          if actual.respond_to? :page
            actual.page.driver
          elsif actual.respond_to? :driver
            actual.driver
          else
            actual
          end
        end
      end
    end
  end
end

Version data entries

33 entries across 33 versions & 4 rubygems

Version Path
capybara-webkit-1.12.0 lib/capybara/webkit/matchers.rb
capybara-webkit-1.11.1 lib/capybara/webkit/matchers.rb
capybara-webkit-1.11.0 lib/capybara/webkit/matchers.rb
capybara-webkit-1.10.1 lib/capybara/webkit/matchers.rb
capybara-webkit-1.10.0 lib/capybara/webkit/matchers.rb
capybara-webkit-1.9.0 lib/capybara/webkit/matchers.rb
capybara-webkit-1.8.0 lib/capybara/webkit/matchers.rb
capybara-webkit-1.7.1 lib/capybara/webkit/matchers.rb
capybara-webkit-1.7.0 lib/capybara/webkit/matchers.rb
capybara-webkit-1.6.0 lib/capybara/webkit/matchers.rb
capybara-webkit-1.5.2 lib/capybara/webkit/matchers.rb
capybara-webkit-1.5.1 lib/capybara/webkit/matchers.rb
capybara-webkit-1.5.0 lib/capybara/webkit/matchers.rb
capybara-webkit-1.4.1 lib/capybara/webkit/matchers.rb
capybara-webkit-1.4.0 lib/capybara/webkit/matchers.rb
capybara-webkit-1.3.1 lib/capybara/webkit/matchers.rb
capybara-webkit-1.3.0 lib/capybara/webkit/matchers.rb
capybara-webkit-1.2.0 lib/capybara/webkit/matchers.rb
bitium-capybara-webkit-1.1.1 lib/capybara/webkit/matchers.rb
capybara-webkit-0.13.2 lib/capybara/webkit/matchers.rb