adding fix for phantomjs errors on mavericks *crossing fingers*
This commit is contained in:
@@ -43,3 +43,41 @@ def login(user)
|
|||||||
end
|
end
|
||||||
click_on 'Login'
|
click_on 'Login'
|
||||||
end
|
end
|
||||||
|
|
||||||
|
##Hack to fix PhantomJS errors on Mavericks - https://gist.github.com/ericboehs/7125105
|
||||||
|
module Capybara::Poltergeist
|
||||||
|
class Client
|
||||||
|
private
|
||||||
|
def redirect_stdout
|
||||||
|
prev = STDOUT.dup
|
||||||
|
prev.autoclose = false
|
||||||
|
$stdout = @write_io
|
||||||
|
STDOUT.reopen(@write_io)
|
||||||
|
|
||||||
|
prev = STDERR.dup
|
||||||
|
prev.autoclose = false
|
||||||
|
$stderr = @write_io
|
||||||
|
STDERR.reopen(@write_io)
|
||||||
|
yield
|
||||||
|
ensure
|
||||||
|
STDOUT.reopen(prev)
|
||||||
|
$stdout = STDOUT
|
||||||
|
STDERR.reopen(prev)
|
||||||
|
$stderr = STDERR
|
||||||
|
end
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
class WarningSuppressor
|
||||||
|
class << self
|
||||||
|
def write(message)
|
||||||
|
if message =~ /QFont::setPixelSize: Pixel size <= 0/ || message =~/CoreText performance note:/ || message =~/Method userSpaceScaleFactor in class NSView/ 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
|
||||||
Reference in New Issue
Block a user