aboutsummaryrefslogtreecommitdiffstats
path: root/tests/auto/qwinjumplist/tst_qwinjumplist.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'tests/auto/qwinjumplist/tst_qwinjumplist.cpp')
-rw-r--r--tests/auto/qwinjumplist/tst_qwinjumplist.cpp275
1 files changed, 0 insertions, 275 deletions
diff --git a/tests/auto/qwinjumplist/tst_qwinjumplist.cpp b/tests/auto/qwinjumplist/tst_qwinjumplist.cpp
deleted file mode 100644
index 4676524..0000000
--- a/tests/auto/qwinjumplist/tst_qwinjumplist.cpp
+++ /dev/null
@@ -1,275 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2016 The Qt Company Ltd.
-** Contact: https://www.qt.io/licensing/
-**
-** This file is part of the test suite of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:GPL-EXCEPT$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see https://www.qt.io/terms-conditions. For further
-** information use the contact form at https://www.qt.io/contact-us.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 3 as published by the Free Software
-** Foundation with exceptions as appearing in the file LICENSE.GPL3-EXCEPT
-** included in the packaging of this file. Please review the following
-** information to ensure the GNU General Public License requirements will
-** be met: https://www.gnu.org/licenses/gpl-3.0.html.
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-#include <QtTest/QtTest>
-#include <QWinJumpList>
-#include <QWinJumpListItem>
-#include <QWinJumpListCategory>
-#include <QOperatingSystemVersion>
-
-Q_DECLARE_METATYPE(QWinJumpListItem::Type)
-
-class tst_QWinJumpList : public QObject
-{
- Q_OBJECT
-
-private slots:
- void testRecent();
- void testFrequent();
- void testTasks();
- void testCategories();
- void testItems_data();
- void testItems();
-};
-
-static inline QByteArray msgFileNameMismatch(const QString &f1, const QString &f2)
-{
- const QString result = u'"' + f1 + QStringLiteral("\" != \"")
- + f2 + u'"';
- return result.toLocal8Bit();
-}
-
-void tst_QWinJumpList::testRecent()
-{
- if (QOperatingSystemVersion::current() >= QOperatingSystemVersion::Windows8_1)
- QSKIP("QTBUG-48751: Recent items do not work on Windows 8.1 or 10", Continue);
- QScopedPointer<QWinJumpList> jumplist(new QWinJumpList);
- QWinJumpListCategory *recent1 = jumplist->recent();
- QVERIFY(recent1);
- QVERIFY(!recent1->isVisible());
- QVERIFY(recent1->title().isEmpty());
-
- recent1->clear();
- QVERIFY(recent1->isEmpty());
-
- recent1->addItem(nullptr);
- QVERIFY(recent1->isEmpty());
-
- recent1->setVisible(true);
- QVERIFY(recent1->isVisible());
- recent1->addLink(QStringLiteral("tst_QWinJumpList"), QCoreApplication::applicationFilePath());
-
- QTest::ignoreMessage(QtWarningMsg, "QWinJumpListCategory::addItem(): only tasks/custom categories support separators.");
- recent1->addSeparator();
-
- QTest::ignoreMessage(QtWarningMsg, "QWinJumpListCategory::addItem(): only tasks/custom categories support destinations.");
- recent1->addDestination(QCoreApplication::applicationDirPath());
-
- // cleanup the first jumplist instance and give the system a little time to update.
- // then test that another jumplist instance loads up the recent item(s) added above
- jumplist.reset();
- QTest::qWait(100);
-
- jumplist.reset(new QWinJumpList);
- QWinJumpListCategory *recent2 = jumplist->recent();
- QVERIFY(recent2);
- QCOMPARE(recent2->count(), 1);
-
- QWinJumpListItem* item = recent2->items().value(0);
- QVERIFY(item);
- const QString itemPath = item->filePath();
- const QString applicationFilePath = QCoreApplication::applicationFilePath();
- QVERIFY2(!itemPath.compare(applicationFilePath, Qt::CaseInsensitive),
- msgFileNameMismatch(itemPath, applicationFilePath));
- QEXPECT_FAIL("", "QWinJumpListItem::title not supported for recent items", Continue);
- QCOMPARE(item->title(), QStringLiteral("tst_QWinJumpList"));
-
- recent2->clear();
- QVERIFY(recent2->isEmpty());
-}
-
-void tst_QWinJumpList::testFrequent()
-{
- if (QOperatingSystemVersion::current() >= QOperatingSystemVersion::Windows8_1)
- QSKIP("QTBUG-48751: Frequent items do not work on Windows 8.1 or 10", Continue);
- QScopedPointer<QWinJumpList> jumplist(new QWinJumpList);
- QWinJumpListCategory *frequent1 = jumplist->frequent();
- QVERIFY(frequent1);
- QVERIFY(!frequent1->isVisible());
- QVERIFY(frequent1->title().isEmpty());
-
- frequent1->clear();
- QVERIFY(frequent1->isEmpty());
-
- frequent1->addItem(nullptr);
- QVERIFY(frequent1->isEmpty());
-
- frequent1->setVisible(true);
- QVERIFY(frequent1->isVisible());
- frequent1->addLink(QStringLiteral("tst_QWinJumpList"), QCoreApplication::applicationFilePath());
-
- QTest::ignoreMessage(QtWarningMsg, "QWinJumpListCategory::addItem(): only tasks/custom categories support separators.");
- frequent1->addSeparator();
-
- QTest::ignoreMessage(QtWarningMsg, "QWinJumpListCategory::addItem(): only tasks/custom categories support destinations.");
- frequent1->addDestination(QCoreApplication::applicationDirPath());
-
- // cleanup the first jumplist instance and give the system a little time to update.
- // then test that another jumplist instance loads up the frequent item(s) added above
- jumplist.reset();
- QTest::qWait(100);
-
- jumplist.reset(new QWinJumpList);
- QWinJumpListCategory *frequent2 = jumplist->frequent();
- QVERIFY(frequent2);
- QCOMPARE(frequent2->count(), 1);
-
- QWinJumpListItem* item = frequent2->items().value(0);
- QVERIFY(item);
- const QString itemPath = item->filePath();
- const QString applicationFilePath = QCoreApplication::applicationFilePath();
- QVERIFY2(!itemPath.compare(applicationFilePath, Qt::CaseInsensitive),
- msgFileNameMismatch(itemPath, applicationFilePath));
- QEXPECT_FAIL("", "QWinJumpListItem::title not supported for frequent items", Continue);
- QCOMPARE(item->title(), QStringLiteral("tst_QWinJumpList"));
-
- frequent2->clear();
- QVERIFY(frequent2->isEmpty());
-}
-
-void tst_QWinJumpList::testTasks()
-{
- QWinJumpList jumplist;
- QWinJumpListCategory *tasks = jumplist.tasks();
- QVERIFY(tasks);
- QVERIFY(!tasks->isVisible());
- QVERIFY(tasks->isEmpty());
- QVERIFY(tasks->title().isEmpty());
-
- tasks->setVisible(true);
- QVERIFY(tasks->isVisible());
-
- tasks->addItem(nullptr);
- QVERIFY(tasks->isEmpty());
-
- QWinJumpListItem* link1 = tasks->addLink(QStringLiteral("tst_QWinJumpList"), QCoreApplication::applicationFilePath());
- QCOMPARE(link1->type(), QWinJumpListItem::Link);
- QCOMPARE(link1->title(), QStringLiteral("tst_QWinJumpList"));
- QCOMPARE(link1->filePath(), QCoreApplication::applicationFilePath());
- QCOMPARE(tasks->count(), 1);
- QCOMPARE(tasks->items(), QList<QWinJumpListItem *>() << link1);
-
- QWinJumpListItem* link2 = tasks->addLink(QStringLiteral("tst_QWinJumpList"), QCoreApplication::applicationFilePath(), QStringList(QStringLiteral("-test")));
- QCOMPARE(link2->type(), QWinJumpListItem::Link);
- QCOMPARE(link2->title(), QStringLiteral("tst_QWinJumpList"));
- QCOMPARE(link2->filePath(), QCoreApplication::applicationFilePath());
- QCOMPARE(link2->arguments(), QStringList(QStringLiteral("-test")));
- QCOMPARE(tasks->count(), 2);
- QCOMPARE(tasks->items(), QList<QWinJumpListItem *>() << link1 << link2);
-
- QWinJumpListItem* separator = tasks->addSeparator();
- QCOMPARE(separator->type(), QWinJumpListItem::Separator);
- QCOMPARE(tasks->count(), 3);
- QCOMPARE(tasks->items(), QList<QWinJumpListItem *>() << link1 << link2 << separator);
-
- QWinJumpListItem* destination = tasks->addDestination(QCoreApplication::applicationDirPath());
- QCOMPARE(destination->type(), QWinJumpListItem::Destination);
- QCOMPARE(destination->filePath(), QCoreApplication::applicationDirPath());
- QCOMPARE(tasks->count(), 4);
- QCOMPARE(tasks->items(), QList<QWinJumpListItem *>() << link1 << link2 << separator << destination);
-
- tasks->clear();
- QVERIFY(tasks->isEmpty());
- QVERIFY(tasks->items().isEmpty());
-}
-
-void tst_QWinJumpList::testCategories()
-{
- QWinJumpList jumplist;
- QVERIFY(jumplist.categories().isEmpty());
-
- jumplist.addCategory(nullptr);
-
- QWinJumpListCategory *cat1 = new QWinJumpListCategory(QStringLiteral("tmp"));
- QCOMPARE(cat1->title(), QStringLiteral("tmp"));
- cat1->setTitle(QStringLiteral("cat1"));
- QCOMPARE(cat1->title(), QStringLiteral("cat1"));
-
- jumplist.addCategory(cat1);
- QCOMPARE(jumplist.categories().count(), 1);
- QCOMPARE(jumplist.categories().at(0), cat1);
-
- QWinJumpListCategory *cat2 = jumplist.addCategory(QStringLiteral("cat2"));
- QCOMPARE(cat2->title(), QStringLiteral("cat2"));
-
- QCOMPARE(jumplist.categories().count(), 2);
- QCOMPARE(jumplist.categories().at(0), cat1);
- QCOMPARE(jumplist.categories().at(1), cat2);
-
- jumplist.clear();
- QVERIFY(jumplist.categories().isEmpty());
-}
-
-void tst_QWinJumpList::testItems_data()
-{
- QTest::addColumn<QWinJumpListItem::Type>("type");
-
- QTest::newRow("destination") << QWinJumpListItem::Destination;
- QTest::newRow("separator") << QWinJumpListItem::Separator;
- QTest::newRow("link") << QWinJumpListItem::Link;
-}
-
-void tst_QWinJumpList::testItems()
-{
- QFETCH(QWinJumpListItem::Type, type);
-
- QWinJumpListItem item(type);
- QCOMPARE(item.type(), type);
- QVERIFY(item.filePath().isNull());
- QVERIFY(item.workingDirectory().isNull());
- QVERIFY(item.icon().isNull());
- QVERIFY(item.title().isNull());
- QVERIFY(item.description().isNull());
- QVERIFY(item.arguments().isEmpty());
-
- item.setType(QWinJumpListItem::Destination);
- QCOMPARE(item.type(), QWinJumpListItem::Destination);
-
- item.setFilePath(QCoreApplication::applicationFilePath());
- QCOMPARE(item.filePath(), QCoreApplication::applicationFilePath());
-
- item.setWorkingDirectory(QCoreApplication::applicationDirPath());
- QCOMPARE(item.workingDirectory(), QCoreApplication::applicationDirPath());
-
- QIcon icon("qrc:/qt-project.org/qmessagebox/images/qtlogo-64.png");
- item.setIcon(icon);
- QCOMPARE(item.icon().cacheKey(), icon.cacheKey());
-
- item.setTitle(QStringLiteral("tst_QWinJumpList"));
- QCOMPARE(item.title(), QStringLiteral("tst_QWinJumpList"));
-
- item.setDescription(QStringLiteral("QtWinExras - tst_QWinJumpList"));
- QCOMPARE(item.description(), QStringLiteral("QtWinExras - tst_QWinJumpList"));
-
- item.setArguments(QCoreApplication::arguments());
- QCOMPARE(item.arguments(), QCoreApplication::arguments());
-}
-
-QTEST_MAIN(tst_QWinJumpList)
-
-#include "tst_qwinjumplist.moc"