edb68153e3
- kf6-knewstuff/kwallet: removed all-zero blake3 placeholders - CONSOLE-TO-KDE-DESKTOP-PLAN.md: 20→22 KF6 enabled count - BOOT-PROCESS-IMPROVEMENT-PLAN.md: text-login→graphical greeter path - D-Bus session/kwin compositor/sessiond enhancements from Wave tasks - Only kirigami remains suppressed (QML-dependent, environmental gate) Zero warnings. 24 commits total.
135 lines
3.8 KiB
C++
135 lines
3.8 KiB
C++
/*
|
|
This file is part of KNewStuff2.
|
|
SPDX-FileCopyrightText: 2008 Jeremy Whiting <jpwhiting@kde.org>
|
|
|
|
SPDX-License-Identifier: LGPL-2.1-or-later
|
|
*/
|
|
|
|
// unit test for entry
|
|
|
|
#include <QDomDocument>
|
|
#include <QString>
|
|
#include <QTest>
|
|
#include <QXmlStreamReader>
|
|
|
|
#include "entry.h"
|
|
|
|
#include <knewstuffcore_debug.h>
|
|
|
|
const char *entryXML =
|
|
"<stuff category=\"Category\"> "
|
|
"<name>Name</name>"
|
|
"<providerid>https://api.opendesktop.org/v1/</providerid>"
|
|
"<author homepage=\"http://testhomepage\">testauthor</author>"
|
|
"<homepage>https://testhomepage</homepage>"
|
|
"<licence>3</licence>" // krazy:exclude=spelling
|
|
"<version>4.0</version>"
|
|
"<rating>82</rating>"
|
|
"<downloads>128891</downloads>"
|
|
"<installedfile>/some/test/path.jpg</installedfile>"
|
|
"<id>12345</id>"
|
|
"<releasedate>2008-08-12<!--randomcomment--></releasedate>"
|
|
"<summary>new version 3.0</summary>"
|
|
"<!--randomcomment-->"
|
|
"<changelog>Updated</changelog>"
|
|
"<preview>https://testpreview</preview>"
|
|
"<previewBig>https://testpreview</previewBig>"
|
|
"<payload>http://testpayload</payload>"
|
|
"<status>"
|
|
"<!--randomcomment-->"
|
|
"installed"
|
|
"<!--randomcomment-->"
|
|
"</status>"
|
|
"<tags>ghns_excluded=1</tags>"
|
|
"</stuff>";
|
|
|
|
const QString name = QStringLiteral("Name");
|
|
const QString category = QStringLiteral("Category");
|
|
const QString summary = QStringLiteral("new version 3.0");
|
|
const QString version = QStringLiteral("4.0");
|
|
const QString license = QStringLiteral("3");
|
|
|
|
class testEntry : public QObject
|
|
{
|
|
Q_OBJECT
|
|
private:
|
|
KNSCore::Entry createEntryOld();
|
|
KNSCore::Entry createEntry();
|
|
private Q_SLOTS:
|
|
void testProperties();
|
|
void testCopy();
|
|
void testAssignment();
|
|
void testDomImplementation();
|
|
};
|
|
|
|
KNSCore::Entry testEntry::createEntryOld()
|
|
{
|
|
QDomDocument document;
|
|
document.setContent(QString::fromLatin1(entryXML));
|
|
QDomElement node = document.documentElement();
|
|
KNSCore::Entry entry;
|
|
bool xmlResult = entry.setEntryXML(node);
|
|
qCDebug(KNEWSTUFFCORE) << "Created entry from XML " << xmlResult;
|
|
return entry;
|
|
}
|
|
|
|
KNSCore::Entry testEntry::createEntry()
|
|
{
|
|
QXmlStreamReader reader;
|
|
reader.addData(entryXML);
|
|
KNSCore::Entry entry;
|
|
bool xmlResult = reader.readNextStartElement() && entry.setEntryXML(reader);
|
|
qCDebug(KNEWSTUFFCORE) << "Created entry from XML " << xmlResult;
|
|
return entry;
|
|
}
|
|
|
|
void testEntry::testProperties()
|
|
{
|
|
KNSCore::Entry entry = createEntry();
|
|
|
|
QCOMPARE(entry.name(), name);
|
|
QCOMPARE(entry.category(), category);
|
|
QCOMPARE(entry.license(), license);
|
|
QCOMPARE(entry.summary(), summary);
|
|
QCOMPARE(entry.version(), version);
|
|
}
|
|
|
|
void testEntry::testCopy()
|
|
{
|
|
KNSCore::Entry entry = createEntry();
|
|
KNSCore::Entry entry2(entry);
|
|
|
|
QCOMPARE(entry.name(), entry2.name());
|
|
QCOMPARE(entry.category(), entry2.category());
|
|
QCOMPARE(entry.license(), entry2.license());
|
|
QCOMPARE(entry.summary(), entry2.summary());
|
|
QCOMPARE(entry.version(), entry2.version());
|
|
}
|
|
|
|
void testEntry::testAssignment()
|
|
{
|
|
KNSCore::Entry entry = createEntry();
|
|
KNSCore::Entry entry2 = entry;
|
|
|
|
QCOMPARE(entry.name(), entry2.name());
|
|
QCOMPARE(entry.category(), entry2.category());
|
|
QCOMPARE(entry.license(), entry2.license());
|
|
QCOMPARE(entry.summary(), entry2.summary());
|
|
QCOMPARE(entry.version(), entry2.version());
|
|
}
|
|
|
|
void testEntry::testDomImplementation()
|
|
{
|
|
KNSCore::Entry entry = createEntry();
|
|
KNSCore::Entry entry2 = createEntryOld();
|
|
|
|
QCOMPARE(entry.name(), entry2.name());
|
|
QCOMPARE(entry.category(), entry2.category());
|
|
QCOMPARE(entry.license(), entry2.license());
|
|
QCOMPARE(entry.summary(), entry2.summary());
|
|
QCOMPARE(entry.version(), entry2.version());
|
|
}
|
|
|
|
QTEST_GUILESS_MAIN(testEntry)
|
|
#include "knewstuffentrytest.moc"
|