SPDX-FileCopyrightText: 2016 Friedrich W. H. Kossebau <kossebau@kde.org>
SPDX-License-Identifier: LGPL-2.0-only
*/
#include <kaboutdata.h>
#include <QObject>
#include <QTest>
class KAboutDataApplicationDataTest : public QObject
{
Q_OBJECT
private Q_SLOTS:
void testInteractionWithQApplicationData();
};
static const char AppName[] = "app";
static const char ProgramName[] = "ProgramName";
static const char Version[] = "Version";
static const char OrganizationDomain[] = "no.where";
static const char DesktopFileName[] = "org.kde.someapp";
static const char AppName2[] = "otherapp";
static const char ProgramName2[] = "OtherProgramName";
static const char Version2[] = "OtherVersion";
static const char OrganizationDomain2[] = "other.no.where";
static const char DesktopFileName2[] = "org.kde.otherapp";
void KAboutDataApplicationDataTest::testInteractionWithQApplicationData()
{
QCoreApplication *app = QCoreApplication::instance();
app->setApplicationName(QLatin1String(AppName));
app->setProperty("applicationDisplayName", QLatin1String(ProgramName));
app->setApplicationVersion(QLatin1String(Version));
app->setOrganizationDomain(QLatin1String(OrganizationDomain));
app->setProperty("desktopFileName", QLatin1String(DesktopFileName));
const KAboutData applicationAboutData = KAboutData::applicationData();
QCOMPARE(applicationAboutData.componentName(), QLatin1String(AppName));
QCOMPARE(applicationAboutData.displayName(), QLatin1String(ProgramName));
QCOMPARE(applicationAboutData.organizationDomain(), QLatin1String(OrganizationDomain));
QCOMPARE(applicationAboutData.version(), QLatin1String(Version));
QCOMPARE(applicationAboutData.desktopFileName(), QLatin1String(DesktopFileName));
KAboutData aboutData2(QString::fromLatin1(AppName2), QString::fromLatin1(ProgramName2), QString::fromLatin1(Version2));
aboutData2.setOrganizationDomain(OrganizationDomain2);
aboutData2.setDesktopFileName(QLatin1String(DesktopFileName2));
KAboutData::setApplicationData(aboutData2);
QCOMPARE(app->applicationName(), QLatin1String(AppName2));
QCOMPARE(app->property("applicationDisplayName").toString(), QLatin1String(ProgramName2));
QCOMPARE(app->organizationDomain(), QLatin1String(OrganizationDomain2));
QCOMPARE(app->applicationVersion(), QLatin1String(Version2));
QCOMPARE(app->property("desktopFileName").toString(), QLatin1String(DesktopFileName2));
const KAboutData applicationAboutData2 = KAboutData::applicationData();
QCOMPARE(applicationAboutData2.componentName(), QLatin1String(AppName2));
QCOMPARE(applicationAboutData2.displayName(), QLatin1String(ProgramName2));
QCOMPARE(applicationAboutData2.organizationDomain(), QLatin1String(OrganizationDomain2));
QCOMPARE(applicationAboutData2.version(), QLatin1String(Version2));
QCOMPARE(applicationAboutData2.desktopFileName(), QLatin1String(DesktopFileName2));
}
QTEST_MAIN(KAboutDataApplicationDataTest)
#include "kaboutdataapplicationdatatest.moc"