14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
|
# File 'lib/minitest/utils/rails/capybara.rb', line 14
def self.use_javascript!(raise_on_javascript_errors: true)
setup do
Capybara.current_driver = Capybara.javascript_driver
end
teardown do
next if failures.any?
next unless raise_on_javascript_errors
errors = page.driver.browser.manage.logs.get(:browser).select do |log|
log.level == "SEVERE"
end
next unless errors.any?
messages = errors
.map(&:message)
.map! {|message| message[/(\d+:\d+ .*?)$/, 1] }
.join("\n")
raise "JavaScript Errors\n#{messages}"
end
end
|