Skip to content

Instantly share code, notes, and snippets.

@zetter
Forked from ericboehs/gist:7125105
Last active December 26, 2015 09:59
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save zetter/7133549 to your computer and use it in GitHub Desktop.
Save zetter/7133549 to your computer and use it in GitHub Desktop.
Fix to work with current version of poltergeist. Don't recommend using.
module Capybara::Poltergeist
class Client
def redirect_stdout
prev_stdout = STDOUT.dup
prev_stderror = STDERR.dup
prev_stdout.autoclose = false
$stdout = @write_io
STDOUT.reopen(@write_io)
prev_stderror.autoclose = false
$stderr = @write_io
STDERR.reopen(@write_io)
yield
ensure
STDOUT.reopen(prev_stdout)
$stdout = STDOUT
STDERR.reopen(prev_stderror)
$stderr = STDERR
end
end
end
class WarningSuppressor
class << self
def write(message)
if message =~ /QFont::setPixelSize: Pixel size <= 0/ || message =~/CoreText performance note:/ then 0 else puts(message);1;end
end
end
end
Capybara.register_driver :poltergeist do |app|
Capybara::Poltergeist::Driver.new(app, phantomjs_logger: WarningSuppressor)
end
Capybara.javascript_driver = :poltergeist
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment