allow local storage; prevent crash if line is missing

This commit is contained in:
Marc Wäckerlin
2015-11-09 22:33:31 +00:00
parent 1198cac399
commit 14fb15f117
5 changed files with 40 additions and 2 deletions

View File

@@ -537,6 +537,7 @@ class Script: public QObject {
QString filename, int linenr,
int indent) try {
std::shared_ptr<Command> command;
if (!in.size()) throw MissingLine();
QString line(in.takeFirst().trimmed());
QString cmd(line), args;
int space(line.indexOf(' '));

View File

@@ -49,6 +49,12 @@ class MissingArguments: public ParseError {
ParseError("missing arguments, requires "+req+", got: "+args) {}
};
class MissingLine: public ParseError {
public:
MissingLine():
ParseError("line expectet at end of file") {}
};
class TestFailed: public Exception {
public:
TestFailed(QString why): Exception("Test Failed: "+why) {}

View File

@@ -11,6 +11,7 @@
#include <networkaccessmanager.hxx>
#include <QWebPage>
#include <QWebFrame>
#include <QWebSettings>
#include <QWidget>
#include <QFileDialog>
#include <QFile>
@@ -31,6 +32,11 @@ class TestWebPage: public QWebPage {
QWebPage(parent),
_unattended(unattended) {
setNetworkAccessManager(new NetworkAccessManager(this));
settings()->setOfflineStorageDefaultQuota(1024*1024*1024);
settings()->setOfflineStoragePath("/tmp/");
settings()->setAttribute(QWebSettings::OfflineStorageDatabaseEnabled, true);
//settings()->setAttribute(QWebSettings::OfflineWebApplicationCacheEnabled, true);
settings()->setAttribute(QWebSettings::LocalStorageEnabled, true);
}
virtual ~TestWebPage() {
if (!_nextFile.isEmpty() && !std::uncaught_exception())