diff options
author | Petr Mrázek <peterix@gmail.com> | 2019-08-04 03:27:53 +0200 |
---|---|---|
committer | Petr Mrázek <peterix@gmail.com> | 2019-08-04 03:27:53 +0200 |
commit | a3ffa3d6659e00e0762017cf64911db0183a250c (patch) | |
tree | 565b2d69b1d8d7e711682801410ff8a234e3931d /api/logic/minecraft/mod/ModFolderModel_test.cpp | |
parent | 7d13e3119801862b9fdf64b11a45c41a64b4fc46 (diff) | |
download | MultiMC-a3ffa3d6659e00e0762017cf64911db0183a250c.tar MultiMC-a3ffa3d6659e00e0762017cf64911db0183a250c.tar.gz MultiMC-a3ffa3d6659e00e0762017cf64911db0183a250c.tar.lz MultiMC-a3ffa3d6659e00e0762017cf64911db0183a250c.tar.xz MultiMC-a3ffa3d6659e00e0762017cf64911db0183a250c.zip |
NOISSUE asynchronous, parallel mod folder listing and mod resolving
Diffstat (limited to 'api/logic/minecraft/mod/ModFolderModel_test.cpp')
-rw-r--r-- | api/logic/minecraft/mod/ModFolderModel_test.cpp | 53 |
1 files changed, 53 insertions, 0 deletions
diff --git a/api/logic/minecraft/mod/ModFolderModel_test.cpp b/api/logic/minecraft/mod/ModFolderModel_test.cpp new file mode 100644 index 00000000..76f16ed5 --- /dev/null +++ b/api/logic/minecraft/mod/ModFolderModel_test.cpp @@ -0,0 +1,53 @@ + +#include <QTest> +#include <QTemporaryDir> +#include "TestUtil.h" + +#include "FileSystem.h" +#include "minecraft/mod/ModFolderModel.h" + +class ModFolderModelTest : 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("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; + ModFolderModel m(tempDir.path()); + m.installMod(folder); + verify(tempDir.path()); + } + + // 2. test with trailing / + { + QString folder = source + '/'; + QTemporaryDir tempDir; + ModFolderModel m(tempDir.path()); + m.installMod(folder); + verify(tempDir.path()); + } + } +}; + +QTEST_GUILESS_MAIN(ModFolderModelTest) + +#include "ModFolderModel_test.moc" |