diff options
author | Petr Mrázek <peterix@gmail.com> | 2015-12-26 03:13:31 +0100 |
---|---|---|
committer | Petr Mrázek <peterix@gmail.com> | 2015-12-26 03:20:19 +0100 |
commit | c64a7940c1c99f6691d0fdd45910a09808e40d97 (patch) | |
tree | 3c3c76faaed7b58935ab900e905266bb09ecd49e | |
parent | 243c5d1cfbff7ff014fe15e54a73a59dfde25988 (diff) | |
download | MultiMC-c64a7940c1c99f6691d0fdd45910a09808e40d97.tar MultiMC-c64a7940c1c99f6691d0fdd45910a09808e40d97.tar.gz MultiMC-c64a7940c1c99f6691d0fdd45910a09808e40d97.tar.lz MultiMC-c64a7940c1c99f6691d0fdd45910a09808e40d97.tar.xz MultiMC-c64a7940c1c99f6691d0fdd45910a09808e40d97.zip |
GH-1178 add failing test
-rw-r--r-- | logic/minecraft/ModList.cpp | 1 | ||||
-rw-r--r-- | tests/CMakeLists.txt | 1 | ||||
-rw-r--r-- | tests/tst_ModList.cpp | 52 |
3 files changed, 53 insertions, 1 deletions
diff --git a/logic/minecraft/ModList.cpp b/logic/minecraft/ModList.cpp index 43499612..a1640d2e 100644 --- a/logic/minecraft/ModList.cpp +++ b/logic/minecraft/ModList.cpp @@ -575,7 +575,6 @@ bool ModList::dropMimeData(const QMimeData *data, Qt::DropAction action, int row if (!url.isLocalFile()) continue; QString filename = url.toLocalFile(); - qDebug() << "installing: " << filename; installMod(filename, row); // if there is no ordering, re-sort the list if (m_list_file.isEmpty()) diff --git a/tests/CMakeLists.txt b/tests/CMakeLists.txt index 15b542e8..efbcacbf 100644 --- a/tests/CMakeLists.txt +++ b/tests/CMakeLists.txt @@ -27,6 +27,7 @@ add_unit_test(FileSystem tst_FileSystem.cpp) add_unit_test(UpdateChecker tst_UpdateChecker.cpp) add_unit_test(DownloadTask tst_DownloadTask.cpp) add_unit_test(filematchers tst_filematchers.cpp) +add_unit_test(ModList tst_ModList.cpp) add_unit_test(Resource tst_Resource.cpp) add_unit_test(GZip tst_GZip.cpp) diff --git a/tests/tst_ModList.cpp b/tests/tst_ModList.cpp new file mode 100644 index 00000000..09870245 --- /dev/null +++ b/tests/tst_ModList.cpp @@ -0,0 +1,52 @@ + +#include <QTest> +#include "TestUtil.h" + +#include "FileSystem.h" +#include "minecraft/ModList.h" + +class ModListTest : public QObject +{ + Q_OBJECT + +private +slots: + // test for GH-1178 - install a folder with files to a mod list + void test_1178() + { + // source + QString source = QFINDTESTDATA("tests/data/test_folder"); + + // sanity check + QVERIFY(!source.endsWith('/')); + + auto verify = [](QString path) + { + QDir target_dir(FS::PathCombine(path, "test_folder")); + QVERIFY(target_dir.entryList().contains("pack.mcmeta")); + QVERIFY(target_dir.entryList().contains("assets")); + }; + + // 1. test with no trailing / + { + QString folder = source; + QTemporaryDir tempDir; + ModList m(tempDir.path()); + m.installMod(folder); + verify(tempDir.path()); + } + + // 2. test with trailing / + { + QString folder = source + '/'; + QTemporaryDir tempDir; + ModList m(tempDir.path()); + m.installMod(folder); + verify(tempDir.path()); + } + } +}; + +QTEST_GUILESS_MAIN(ModListTest) + +#include "tst_ModList.moc" |