summaryrefslogtreecommitdiffstats
path: root/api/logic/minecraft/mod/ModFolderModel_test.cpp
diff options
context:
space:
mode:
authorPetr Mrázek <peterix@gmail.com>2019-08-04 03:27:53 +0200
committerPetr Mrázek <peterix@gmail.com>2019-08-04 03:27:53 +0200
commita3ffa3d6659e00e0762017cf64911db0183a250c (patch)
tree565b2d69b1d8d7e711682801410ff8a234e3931d /api/logic/minecraft/mod/ModFolderModel_test.cpp
parent7d13e3119801862b9fdf64b11a45c41a64b4fc46 (diff)
downloadMultiMC-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.cpp53
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"