File indexing completed on 2024-04-28 05:45:19
0001 /* 0002 * SPDX-FileCopyrightText: 2017 Emirald Mateli <aldo.mateli@gmail.com> 0003 * 0004 * SPDX-License-Identifier: GPL-2.0-or-later 0005 */ 0006 0007 #include <QStandardPaths> 0008 #include <QTest> 0009 #include <views/draganddrophelper.h> 0010 0011 class DragAndDropHelperTest : public QObject 0012 { 0013 Q_OBJECT 0014 0015 private Q_SLOTS: 0016 void initTestCase(); 0017 void testUrlListMatchesUrl_data(); 0018 void testUrlListMatchesUrl(); 0019 }; 0020 0021 void DragAndDropHelperTest::initTestCase() 0022 { 0023 QStandardPaths::setTestModeEnabled(true); 0024 } 0025 0026 void DragAndDropHelperTest::testUrlListMatchesUrl_data() 0027 { 0028 QTest::addColumn<QList<QUrl>>("urlList"); 0029 QTest::addColumn<QUrl>("url"); 0030 QTest::addColumn<bool>("expected"); 0031 0032 QTest::newRow("test_equal") << QList<QUrl>{QUrl::fromLocalFile("/root")} << QUrl::fromLocalFile("/root") << true; 0033 0034 QTest::newRow("test_trailing_slash") << QList<QUrl>{QUrl::fromLocalFile("/root/")} << QUrl::fromLocalFile("/root") << true; 0035 0036 QTest::newRow("test_ftp_scheme") << QList<QUrl>{QUrl("ftp://server:2211/dir")} << QUrl("ftp://server:2211/dir") << true; 0037 0038 QTest::newRow("test_not_matched") << QList<QUrl>{QUrl::fromLocalFile("/usr/share"), QUrl::fromLocalFile("/usr/local/bin")} 0039 << QUrl::fromLocalFile("/usr/bin") << false; 0040 0041 QTest::newRow("test_empty_target") << QList<QUrl>{QUrl::fromLocalFile("/usr/share"), QUrl::fromLocalFile("/usr/local/bin")} << QUrl() << false; 0042 0043 QTest::newRow("test_empty_list") << QList<QUrl>() << QUrl::fromLocalFile("/usr/bin") << false; 0044 } 0045 0046 void DragAndDropHelperTest::testUrlListMatchesUrl() 0047 { 0048 QFETCH(QList<QUrl>, urlList); 0049 QFETCH(QUrl, url); 0050 QFETCH(bool, expected); 0051 0052 QCOMPARE(DragAndDropHelper::urlListMatchesUrl(urlList, url), expected); 0053 } 0054 0055 QTEST_MAIN(DragAndDropHelperTest) 0056 0057 #include "draganddrophelpertest.moc"