Skip to content
This repository has been archived by the owner on Mar 3, 2020. It is now read-only.

Fix JSON::ParseError on save_screenshot failure #618

Closed
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Jump to
Jump to file
Failed to load files.
Diff view
Diff view
10 changes: 10 additions & 0 deletions spec/driver_rendering_spec.rb
Expand Up @@ -90,4 +90,14 @@ def render(options)
driver.evaluate_script('window.innerHeight').should eq 600
end
end

context "with invalid filepath" do
before do
@file_name = File.dirname(@file_name)
end

it "raises an InvalidResponseError" do
expect { render({}) }.to raise_error(Capybara::Webkit::InvalidResponseError)
end
end
end
8 changes: 7 additions & 1 deletion src/Render.cpp
@@ -1,6 +1,7 @@
#include "Render.h"
#include "WebPage.h"
#include "WebPageManager.h"
#include "ErrorMessage.h"

Render::Render(WebPageManager *manager, QStringList &arguments, QObject *parent) : SocketCommand(manager, arguments, parent) {
}
Expand All @@ -14,5 +15,10 @@ void Render::start() {

bool result = page()->render( imagePath, size );

finish(result);
if (result) {
finish(true);
} else {
const QString failure = QString("[Capybara WebKit] Unable to save %1x%2 image to %3").arg(width).arg(height).arg(imagePath);
finish(false, new ErrorMessage(failure));
}
}