diff options
author | Kai Koehne <kai.koehne@digia.com> | 2013-02-12 10:07:19 +0100 |
---|---|---|
committer | Kai Koehne <kai.koehne@digia.com> | 2013-02-13 17:12:53 +0100 |
commit | 52c09f5618db5b793cb1a4114c7f35c7d13a3967 (patch) | |
tree | 54ddc1973affe210c57046dd8088e97c5a904315 /tests/auto/installer/settings/tst_settings.cpp | |
parent | aa00cc506013b0de8c68e657974a3d1ab5241880 (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.cpp | 89 |
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" |