diff options
author | Daniel d'Andrada <daniel.dandrada@luxoft.com> | 2018-08-13 14:34:03 +0200 |
---|---|---|
committer | Robert Griebl <robert.griebl@pelagicore.com> | 2018-08-21 12:57:28 +0000 |
commit | 4888f50de43dff68d1e7789028567220fe81d611 (patch) | |
tree | 0d7e3443be9f041249e89f620531f5a8f4fbd3ce /src/main-lib | |
parent | 968bbbb450b2b6a4fd9e79f3a2a0329ab654630e (diff) | |
download | qtapplicationmanager-4888f50de43dff68d1e7789028567220fe81d611.tar.gz |
Make DefaultConfiguration easier to test
So that you can conveniently supply command line arguments as a QStringList
instead of via argc and argv, which is more verbose and error prone.
Change-Id: I79fcc50ed1d5b765429272d8ca4d68a6e4f14bdf
Reviewed-by: Robert Griebl <robert.griebl@pelagicore.com>
Diffstat (limited to 'src/main-lib')
-rw-r--r-- | src/main-lib/configuration.cpp | 7 | ||||
-rw-r--r-- | src/main-lib/configuration.h | 3 | ||||
-rw-r--r-- | src/main-lib/defaultconfiguration.cpp | 4 | ||||
-rw-r--r-- | src/main-lib/defaultconfiguration.h | 2 |
4 files changed, 11 insertions, 5 deletions
diff --git a/src/main-lib/configuration.cpp b/src/main-lib/configuration.cpp index d71a13e1..5611f662 100644 --- a/src/main-lib/configuration.cpp +++ b/src/main-lib/configuration.cpp @@ -214,7 +214,12 @@ void Configuration::showParserMessage(const QString &message, MessageType type) void Configuration::parse(QStringList *deploymentWarnings) { - if (!m_clp.parse(QCoreApplication::arguments())) { + parseWithArguments(QCoreApplication::arguments(), deploymentWarnings); +} + +void Configuration::parseWithArguments(const QStringList &arguments, QStringList *deploymentWarnings) +{ + if (!m_clp.parse(arguments)) { showParserMessage(m_clp.errorText() + qL1C('\n'), ErrorMessage); exit(1); } diff --git a/src/main-lib/configuration.h b/src/main-lib/configuration.h index b448371d..09e818dc 100644 --- a/src/main-lib/configuration.h +++ b/src/main-lib/configuration.h @@ -53,7 +53,8 @@ class Configuration { public: virtual ~Configuration(); - virtual void parse(QStringList *deploymentWarnings = nullptr); + void parse(QStringList *deploymentWarnings = nullptr); + virtual void parseWithArguments(const QStringList &arguments, QStringList *deploymentWarnings = nullptr); QVariant buildConfig() const; protected: diff --git a/src/main-lib/defaultconfiguration.cpp b/src/main-lib/defaultconfiguration.cpp index 60fa0031..d551d9a0 100644 --- a/src/main-lib/defaultconfiguration.cpp +++ b/src/main-lib/defaultconfiguration.cpp @@ -121,9 +121,9 @@ DefaultConfiguration::~DefaultConfiguration() } -void DefaultConfiguration::parse(QStringList *deploymentWarnings) +void DefaultConfiguration::parseWithArguments(const QStringList &arguments, QStringList *deploymentWarnings) { - Configuration::parse(deploymentWarnings); + Configuration::parseWithArguments(arguments, deploymentWarnings); if (m_onlyOnePositionalArgument && (m_clp.positionalArguments().size() > 1)) { showParserMessage(qL1S("Only one main qml file can be specified.\n"), ErrorMessage); diff --git a/src/main-lib/defaultconfiguration.h b/src/main-lib/defaultconfiguration.h index 2b2f4bbe..44184389 100644 --- a/src/main-lib/defaultconfiguration.h +++ b/src/main-lib/defaultconfiguration.h @@ -57,7 +57,7 @@ public: bool onlyOnePositionalArgument = true); ~DefaultConfiguration() override; - void parse(QStringList *deploymentWarnings = nullptr) override; + void parseWithArguments(const QStringList &arguments, QStringList *deploymentWarnings = nullptr) override; QString mainQmlFile() const; QString database() const; |