void tst_QWinJumpList::testRecent() { if (QSysInfo::windowsVersion() >= QSysInfo::WV_WINDOWS10) QSKIP("QTBUG-48751: Recent items do not work on Windows 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(0); 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::testRecent() { 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(0); 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); QCOMPARE(item->filePath(), QCoreApplication::applicationFilePath()); QEXPECT_FAIL("", "QWinJumpListItem::title not supported for recent items", Continue); QCOMPARE(item->title(), QStringLiteral("tst_QWinJumpList")); recent2->clear(); QVERIFY(recent2->isEmpty()); }