File indexing completed on 2023-09-24 07:59:55
0001 /* 0002 This software is a contribution of the LiMux project of the city of Munich. 0003 SPDX-FileCopyrightText: 2021 Robert Hoffmann <robert@roberthoffmann.de> 0004 0005 SPDX-License-Identifier: LGPL-2.0-or-later 0006 */ 0007 0008 #include "knetworkmountsteststatic.h" 0009 0010 // include static functions 0011 #include "knetworkmounts_p.h" 0012 0013 #include <KNetworkMounts> 0014 0015 #include <QFile> 0016 #include <QStandardPaths> 0017 #include <QTest> 0018 0019 QTEST_MAIN(KNetworkMountsTestStatic) 0020 0021 void KNetworkMountsTestStatic::testStaticFunctions_data() 0022 { 0023 QTest::addColumn<QString>("path"); 0024 QTest::addColumn<QStringList>("paths"); 0025 QTest::addColumn<bool>("expected_is_slash_added_to_path"); 0026 QTest::addColumn<QString>("expected_path_str"); 0027 QTest::addColumn<bool>("expected_is_slash_added_to_paths"); 0028 QTest::addColumn<QStringList>("expected_paths_str"); 0029 QTest::addColumn<QString>("expected_matching"); 0030 0031 QTest::newRow("empty1") << QString() << QStringList() << false << "" << false << QStringList() << QString(); 0032 QTest::newRow("empty2") << "" << (QStringList() << QString() << QString()) << false << "" << false << (QStringList() << QString() << QString()) 0033 << QString(); 0034 0035 QTest::newRow("/1") << "/" << QStringList() << false << "/" << false << QStringList() << QString(); 0036 QTest::newRow("/2") << "/" << (QStringList() << QString() << QString()) << false << "/" << false << (QStringList() << QString() << QString()) << QString(); 0037 QTest::newRow("/3") << "/" << (QStringList() << QStringLiteral("/")) << false << "/" << false << (QStringList() << QStringLiteral("/")) << "/"; 0038 QTest::newRow("/4") << "/" << (QStringList() << QStringLiteral("/") << QString()) << false << "/" << false 0039 << (QStringList() << QStringLiteral("/") << QString()) << "/"; 0040 0041 QTest::newRow("/mnt1") << "/mnt" << QStringList() << true << "/mnt/" << false << QStringList() << QString(); 0042 QTest::newRow("/mnt2") << "/mnt" << (QStringList() << QStringLiteral("/mnt")) << true << "/mnt/" << true << (QStringList() << QStringLiteral("/mnt/")) 0043 << "/mnt"; 0044 QTest::newRow("/mnt3") << "/mnt" << (QStringList() << QStringLiteral("/mnt/")) << true << "/mnt/" << false << (QStringList() << QStringLiteral("/mnt/")) 0045 << "/mnt/"; 0046 0047 QTest::newRow("/mnt/test1") << "/mnt" << (QStringList() << QStringLiteral("/mnt/test1") << QStringLiteral("/mnt/test2/")) << true << "/mnt/" << true 0048 << (QStringList() << QStringLiteral("/mnt/test1/") << QStringLiteral("/mnt/test2/")) << ""; 0049 QTest::newRow("/mnt/test2") << "/mnt/test2" << (QStringList() << QStringLiteral("/mnt/test1/") << QStringLiteral("/mnt/test2/")) << true << "/mnt/test2/" 0050 << false << (QStringList() << QStringLiteral("/mnt/test1/") << QStringLiteral("/mnt/test2/")) << "/mnt/test2/"; 0051 QTest::newRow("/mnt/test3") << "/mnt/test2/" << (QStringList() << QStringLiteral("/mnt/test1/") << QStringLiteral("/mnt/test2/")) << false << "/mnt/test2/" 0052 << false << (QStringList() << QStringLiteral("/mnt/test1/") << QStringLiteral("/mnt/test2/")) << "/mnt/test2/"; 0053 } 0054 0055 void KNetworkMountsTestStatic::testStaticFunctions() 0056 { 0057 QFETCH(QString, path); 0058 QFETCH(QStringList, paths); 0059 QFETCH(bool, expected_is_slash_added_to_path); 0060 QFETCH(QString, expected_path_str); 0061 QFETCH(bool, expected_is_slash_added_to_paths); 0062 QFETCH(QStringList, expected_paths_str); 0063 QFETCH(QString, expected_matching); 0064 0065 QCOMPARE(getMatchingPath(path, paths), expected_matching); 0066 0067 QCOMPARE(ensureTrailingSlash(&path), expected_is_slash_added_to_path); 0068 QCOMPARE(path, expected_path_str); 0069 QCOMPARE(ensureTrailingSlashes(&paths), expected_is_slash_added_to_paths); 0070 QCOMPARE(paths, expected_paths_str); 0071 } 0072 0073 void KNetworkMountsTestStatic::testStaticKNetworkMountOptionToString_data() 0074 { 0075 QTest::addColumn<KNetworkMounts::KNetworkMountOption>("option"); 0076 QTest::addColumn<QString>("string"); 0077 0078 QTest::newRow("LowSideEffectsOptimizations") << KNetworkMounts::LowSideEffectsOptimizations << "LowSideEffectsOptimizations"; 0079 QTest::newRow("MediumSideEffectsOptimizations") << KNetworkMounts::MediumSideEffectsOptimizations << "MediumSideEffectsOptimizations"; 0080 QTest::newRow("StrongSideEffectsOptimizations") << KNetworkMounts::StrongSideEffectsOptimizations << "StrongSideEffectsOptimizations"; 0081 QTest::newRow("KDirWatchUseINotify") << KNetworkMounts::KDirWatchUseINotify << "KDirWatchUseINotify"; 0082 QTest::newRow("KDirWatchDontAddWatches") << KNetworkMounts::KDirWatchDontAddWatches << "KDirWatchDontAddWatches"; 0083 QTest::newRow("SymlinkPathsUseCache") << KNetworkMounts::SymlinkPathsUseCache << "SymlinkPathsUseCache"; 0084 } 0085 void KNetworkMountsTestStatic::testStaticKNetworkMountOptionToString() 0086 { 0087 QFETCH(KNetworkMounts::KNetworkMountOption, option); 0088 QFETCH(QString, string); 0089 0090 QCOMPARE(enumToString(option), string); 0091 } 0092 0093 void KNetworkMountsTestStatic::testStaticKNetworkMountsTypeToString_data() 0094 { 0095 QTest::addColumn<KNetworkMounts::KNetworkMountsType>("type"); 0096 QTest::addColumn<QString>("string"); 0097 0098 QTest::newRow("NfsPaths") << KNetworkMounts::NfsPaths << "NfsPaths"; 0099 QTest::newRow("SmbPaths") << KNetworkMounts::SmbPaths << "SmbPaths"; 0100 QTest::newRow("SymlinkDirectory") << KNetworkMounts::SymlinkDirectory << "SymlinkDirectory"; 0101 QTest::newRow("SymlinkToNetworkMount") << KNetworkMounts::SymlinkToNetworkMount << "SymlinkToNetworkMount"; 0102 QTest::newRow("Any") << KNetworkMounts::Any << "Any"; 0103 } 0104 void KNetworkMountsTestStatic::testStaticKNetworkMountsTypeToString() 0105 { 0106 QFETCH(KNetworkMounts::KNetworkMountsType, type); 0107 QFETCH(QString, string); 0108 0109 QCOMPARE(enumToString(type), string); 0110 } 0111 0112 #include "moc_knetworkmountsteststatic.cpp"