summaryrefslogtreecommitdiffstats
path: root/tests/auto/installer/settings/tst_settings.cpp
diff options
context:
space:
mode:
authorKai Koehne <kai.koehne@digia.com>2013-02-12 10:07:19 +0100
committerKai Koehne <kai.koehne@digia.com>2013-02-13 17:12:53 +0100
commit52c09f5618db5b793cb1a4114c7f35c7d13a3967 (patch)
tree54ddc1973affe210c57046dd8088e97c5a904315 /tests/auto/installer/settings/tst_settings.cpp
parentaa00cc506013b0de8c68e657974a3d1ab5241880 (diff)
Add auto-test for QInstaller::Settings
Change-Id: I693f051636a81c395b3c75701a803ea7593a1fc1 Reviewed-by: Niels Weber <niels.weber@digia.com> Reviewed-by: Karsten Heimrich <karsten.heimrich@digia.com>
Diffstat (limited to 'tests/auto/installer/settings/tst_settings.cpp')
-rw-r--r--tests/auto/installer/settings/tst_settings.cpp89
1 files changed, 89 insertions, 0 deletions
diff --git a/tests/auto/installer/settings/tst_settings.cpp b/tests/auto/installer/settings/tst_settings.cpp
new file mode 100644
index 000000000..2fcd6bf3f
--- /dev/null
+++ b/tests/auto/installer/settings/tst_settings.cpp
@@ -0,0 +1,89 @@
+#include <QTest>
+#include "settings.h"
+#include "errors.h"
+#include "repository.h"
+
+#include <QFile>
+
+using namespace QInstaller;
+
+class tst_Settings : public QObject
+{
+ Q_OBJECT
+
+private slots:
+ void loadConfig();
+ void loadNotExistingConfig();
+ void loadMalformedConfig();
+};
+
+void tst_Settings::loadConfig()
+{
+ Settings settings =
+ Settings::fromFileAndPrefix(":///data/tutorial_config.xml", ":///data");
+
+ // specified values
+ QCOMPARE(settings.applicationName(), QLatin1String("Your application"));
+ QCOMPARE(settings.applicationVersion(), QLatin1String("1.2.3"));
+ QCOMPARE(settings.title(), QLatin1String("Your application Installer"));
+ QCOMPARE(settings.publisher(), QLatin1String("Your vendor"));
+ QCOMPARE(settings.startMenuDir(), QLatin1String("Super App"));
+ QCOMPARE(settings.targetDir(), QLatin1String("@rootDir@InstallationDirectory"));
+
+ // default values
+ QCOMPARE(settings.logo(), QLatin1String(":///data/"));
+ QCOMPARE(settings.logoSmall(), QLatin1String(":///data/"));
+ QCOMPARE(settings.url(), QString());
+ QCOMPARE(settings.watermark(), QLatin1String(":///data/"));
+ QCOMPARE(settings.background(), QLatin1String(":///data/"));
+ QCOMPARE(settings.icon(), QLatin1String(":/installer.png"));
+ QCOMPARE(settings.runProgram(), QString());
+ QCOMPARE(settings.runProgramDescription(), QString());
+ QCOMPARE(settings.adminTargetDir(), QString());
+ QCOMPARE(settings.removeTargetDir(), QLatin1String("true"));
+ QCOMPARE(settings.uninstallerName(), QLatin1String("uninstall"));
+ QCOMPARE(settings.uninstallerIniFile(), QLatin1String("uninstall.ini"));
+ QCOMPARE(settings.configurationFileName(), QLatin1String("components.xml"));
+ QCOMPARE(settings.dependsOnLocalInstallerBinary(), false);
+ QCOMPARE(settings.repositorySettingsPageVisible(), true);
+ QCOMPARE(settings.hasReplacementRepos(), false);
+ QCOMPARE(settings.allowSpaceInPath(), false);
+ QCOMPARE(settings.certificateFiles(), QStringList());
+ QCOMPARE(settings.allowNonAsciiCharacters(), false);
+
+ QCOMPARE(settings.hasReplacementRepos(), false);
+ QCOMPARE(settings.repositories(), QSet<Repository>());
+ QCOMPARE(settings.defaultRepositories(), QSet<Repository>());
+ QCOMPARE(settings.temporaryRepositories(), QSet<Repository>());
+ QCOMPARE(settings.userRepositories(), QSet<Repository>());
+
+ QCOMPARE(settings.proxyType(), Settings::NoProxy);
+ QCOMPARE(settings.ftpProxy(), QNetworkProxy());
+ QCOMPARE(settings.httpProxy(), QNetworkProxy());
+}
+
+void tst_Settings::loadNotExistingConfig()
+{
+ try {
+ Settings::fromFileAndPrefix(":/data/inexisting_config.xml", ":/data");
+ } catch (const Error &error) {
+ QVERIFY(error.message() == ("Could not open settings file :/data/inexisting_config.xml for reading: Unknown error"));
+ return;
+ }
+ QFAIL("No exception thrown");
+}
+
+void tst_Settings::loadMalformedConfig()
+{
+ try {
+ Settings::fromFileAndPrefix(":/data/malformed_config.xml", ":/data");
+ } catch (const Error &error) {
+ QVERIFY(error.message().startsWith("Xml parse error"));
+ return;
+ }
+ QFAIL("No exception thrown");
+}
+
+QTEST_MAIN(tst_Settings)
+
+#include "tst_settings.moc"