34bf4ccdc7
5.0, 5.1 and 5.2 are currently marked as "allow failure". If they can be made to pass they should be removed from this list, if not they should be removed entirely.
54 lines
1.0 KiB
C++
54 lines
1.0 KiB
C++
|
|
#include <QTest>
|
|
#include <QTemporaryDir>
|
|
#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"
|