From 03280cc62e75f8073f8d3d9e9e3952acf21fa77d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Petr=20Mr=C3=A1zek?= Date: Sun, 15 Jul 2018 14:04:09 +0200 Subject: NOISSUE separate new mods model from the simple one It should list mods in various locations... --- api/logic/minecraft/SimpleModList_test.cpp | 53 ++++++++++++++++++++++++++++++ 1 file changed, 53 insertions(+) create mode 100644 api/logic/minecraft/SimpleModList_test.cpp (limited to 'api/logic/minecraft/SimpleModList_test.cpp') diff --git a/api/logic/minecraft/SimpleModList_test.cpp b/api/logic/minecraft/SimpleModList_test.cpp new file mode 100644 index 00000000..28ce8471 --- /dev/null +++ b/api/logic/minecraft/SimpleModList_test.cpp @@ -0,0 +1,53 @@ + +#include +#include +#include "TestUtil.h" + +#include "FileSystem.h" +#include "minecraft/SimpleModList.h" + +class SimpleModListTest : 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; + SimpleModList m(tempDir.path()); + m.installMod(folder); + verify(tempDir.path()); + } + + // 2. test with trailing / + { + QString folder = source + '/'; + QTemporaryDir tempDir; + SimpleModList m(tempDir.path()); + m.installMod(folder); + verify(tempDir.path()); + } + } +}; + +QTEST_GUILESS_MAIN(SimpleModListTest) + +#include "SimpleModList_test.moc" -- cgit v1.2.3