File indexing completed on 2024-05-19 05:00:38
0001 /* 0002 * SPDX-FileCopyrightText: 2016 Elvis Angelaccio <elvis.angelaccio@kde.org> 0003 * 0004 * SPDX-License-Identifier: GPL-2.0-or-later 0005 * 0006 */ 0007 0008 #include <QTest> 0009 0010 #include <KIO/ListJob> 0011 0012 class ListTest : public QObject 0013 { 0014 Q_OBJECT 0015 0016 private Q_SLOTS: 0017 void testListJob(); 0018 0019 private: 0020 int m_entries = 0; 0021 }; 0022 0023 QTEST_GUILESS_MAIN(ListTest) 0024 0025 void ListTest::testListJob() 0026 { 0027 const auto gdriveRoot = QUrl(QStringLiteral("gdrive:/")); 0028 QVERIFY(gdriveRoot.isValid()); 0029 0030 auto listJob = KIO::listDir(gdriveRoot, KIO::HideProgressInfo); 0031 listJob->setUiDelegate(nullptr); 0032 QVERIFY(listJob); 0033 0034 connect(listJob, &KIO::ListJob::entries, this, [=](KIO::Job *, const KIO::UDSEntryList &list) { 0035 m_entries = list.count(); 0036 for (const auto &entry : list) { 0037 // Check properties of new-account entry. 0038 if (entry.stringValue(KIO::UDSEntry::UDS_NAME) == QLatin1String("new-account")) { 0039 QVERIFY(entry.isDir()); 0040 QCOMPARE(entry.stringValue(KIO::UDSEntry::UDS_ICON_NAME), QStringLiteral("list-add-user")); 0041 } 0042 } 0043 }); 0044 0045 connect(listJob, &KJob::result, this, [=](KJob *job) { 0046 QVERIFY(!job->error()); 0047 // At least new-account entry. 0048 QVERIFY(m_entries > 0); 0049 }); 0050 0051 QEventLoop eventLoop; 0052 connect(listJob, &KJob::finished, &eventLoop, &QEventLoop::quit); 0053 eventLoop.exec(); 0054 } 0055 0056 #include "listtest.moc"