1
0
Fork 0
mirror of https://github.com/thoughtbot/capybara-webkit synced 2023-03-27 23:22:28 -04:00

Better failure when screenshot doesn't save

* Non-writable paths would raise JSON::ParseError
* Now a clearer error is raised
This commit is contained in:
Kohei Suzuki 2014-02-06 15:36:00 +09:00 committed by Joe Ferris
parent d787215939
commit b78ba754e5
2 changed files with 20 additions and 1 deletions

View file

@ -90,4 +90,14 @@ describe Capybara::Webkit::Driver, "rendering an image" do
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

View file

@ -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) {
}
@ -14,5 +15,13 @@ void Render::start() {
bool result = page()->render( imagePath, size );
finish(result);
if (result) {
finish(true);
} else {
const QString failure = QString("Unable to save %1x%2 image to %3").
arg(width).
arg(height).
arg(imagePath);
finish(false, new ErrorMessage(failure));
}
}