summaryrefslogtreecommitdiffstats
path: root/tests/auto/corelib/kernel/qcoreapplication
diff options
context:
space:
mode:
authorDavid Faure <david.faure@kdab.com>2015-03-29 22:09:56 +0200
committerDavid Faure <david.faure@kdab.com>2015-05-09 10:01:33 +0000
commitf1bfc4266bb0b4a3269d79f6ed34eaa8a1cadbca (patch)
tree937313ca7d44a4f676f9e147ebf283fd32c13163 /tests/auto/corelib/kernel/qcoreapplication
parent1ac1ae05f551d45772ff2a840dba128abf04171e (diff)
Don't overwrite applicationName if already set.
My commit 6c973dee2cb1686ea32657 broke the case where setApplicationName is called before the QCoreApplication constructor. Fixed and added autotest. Task-number: QTBUG-45283 Change-Id: If7bdb0d82be50b50a95a04027f5f9d7143c1a7ac Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@theqtcompany.com> Reviewed-by: Shawn Rutledge <shawn.rutledge@digia.com> Reviewed-by: Giuseppe D'Angelo <giuseppe.dangelo@kdab.com>
Diffstat (limited to 'tests/auto/corelib/kernel/qcoreapplication')
-rw-r--r--tests/auto/corelib/kernel/qcoreapplication/tst_qcoreapplication.cpp16
1 files changed, 16 insertions, 0 deletions
diff --git a/tests/auto/corelib/kernel/qcoreapplication/tst_qcoreapplication.cpp b/tests/auto/corelib/kernel/qcoreapplication/tst_qcoreapplication.cpp
index ff4963a960..924db17c04 100644
--- a/tests/auto/corelib/kernel/qcoreapplication/tst_qcoreapplication.cpp
+++ b/tests/auto/corelib/kernel/qcoreapplication/tst_qcoreapplication.cpp
@@ -112,6 +112,22 @@ void tst_QCoreApplication::qAppName()
// The application name should still be available after destruction;
// global statics often rely on this.
QCOMPARE(QCoreApplication::applicationName(), QString::fromLatin1(appName));
+
+ // Setting the appname before creating the application should work (QTBUG-45283)
+ const QString wantedAppName("my app name");
+ {
+ int argc = 1;
+ char *argv[] = { const_cast<char*>(appName) };
+ QCoreApplication::setApplicationName(wantedAppName);
+ TestApplication app(argc, argv);
+ QCOMPARE(::qAppName(), QString::fromLatin1(appName));
+ QCOMPARE(QCoreApplication::applicationName(), wantedAppName);
+ }
+ QCOMPARE(QCoreApplication::applicationName(), wantedAppName);
+
+ // Restore to initial value
+ QCoreApplication::setApplicationName(QString());
+ QCOMPARE(QCoreApplication::applicationName(), QString());
}
void tst_QCoreApplication::argc()