Skip to content

Instantly share code, notes, and snippets.

@subakva
Forked from ericboehs/gist:7125105
Last active December 30, 2015 12:19
Show Gist options
  • Save subakva/7828118 to your computer and use it in GitHub Desktop.
Save subakva/7828118 to your computer and use it in GitHub Desktop.
require 'capybara/poltergeist'
module Capybara::Poltergeist
class Client
private
def redirect_stdout
prev_out = STDOUT.dup
prev_out.autoclose = false
$stdout = @write_io
STDOUT.reopen(@write_io)
prev_err = STDERR.dup
prev_err.autoclose = false
$stderr = @write_io
STDERR.reopen(@write_io)
yield
ensure
STDOUT.reopen(prev_out)
$stdout = STDOUT
STDERR.reopen(prev_err)
$stderr = STDERR
end
end
end
class Capybara::WarningSuppressor
class << self
def write(message)
ignore_patterns = [
/Method userSpaceScaleFactor in class NSView is deprecated/,
/QFont::setPixelSize: Pixel size <= 0/,
/CoreText performance note:/
]
if ignore_patterns.any? { |pattern| message =~ pattern }
0
else
puts(message);
1
end
end
end
end
Capybara.register_driver :poltergeist do |app|
Capybara::Poltergeist::Driver.new(app, phantomjs_logger: Capybara::WarningSuppressor)
end
Capybara.javascript_driver = :poltergeist
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment