MultiMC5/tests/tst_ModList.cpp
Jan Dalheimer 34bf4ccdc7 NOISSUE Add more qt versions to travis
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.
2016-01-06 10:33:47 +01:00

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"