Class: Dekiru::Capybara::Matchers::JsNoErrorMatcher

Inherits:
Object
  • Object
show all
Defined in:
lib/dekiru/capybara/matchers.rb

Instance Method Summary collapse

Instance Method Details

#descriptionObject



16
17
18
# File 'lib/dekiru/capybara/matchers.rb', line 16

def description
  'have no js errors'
end

#failure_messageObject



20
21
22
# File 'lib/dekiru/capybara/matchers.rb', line 20

def failure_message
  @severe_errors.map(&:message).join("\n")
end

#matches?(page) ⇒ Boolean

Returns:

  • (Boolean)


5
6
7
8
9
10
11
12
13
14
# File 'lib/dekiru/capybara/matchers.rb', line 5

def matches?(page)
  errors = page.driver.browser.manage.logs.get(:browser)
  errors.find_all { |error| error.level == 'WARNING' }.each do |error|
    STDERR.puts 'WARN: javascript warning'
    STDERR.puts error.message
  end

  @severe_errors = errors.find_all { |error| error.level == 'SEVERE' }
  @severe_errors.empty?
end