summaryrefslogtreecommitdiffstats
path: root/tests
diff options
context:
space:
mode:
authorPetr Mrázek <peterix@gmail.com>2014-07-16 02:03:52 +0200
committerPetr Mrázek <peterix@gmail.com>2014-07-16 02:03:52 +0200
commit8a56ab6780f525472dce4dccdd53fec41390d586 (patch)
treef7d2ecf90a404e3ef0768890c85cb2101d948445 /tests
parent71575a5022a4e682a9960256ade7ea5672d1210d (diff)
downloadMultiMC-8a56ab6780f525472dce4dccdd53fec41390d586.tar
MultiMC-8a56ab6780f525472dce4dccdd53fec41390d586.tar.gz
MultiMC-8a56ab6780f525472dce4dccdd53fec41390d586.tar.lz
MultiMC-8a56ab6780f525472dce4dccdd53fec41390d586.tar.xz
MultiMC-8a56ab6780f525472dce4dccdd53fec41390d586.zip
Implement gradle spec reader/writer
Diffstat (limited to 'tests')
-rw-r--r--tests/CMakeLists.txt1
-rw-r--r--tests/tst_gradlespecifier.cpp77
2 files changed, 78 insertions, 0 deletions
diff --git a/tests/CMakeLists.txt b/tests/CMakeLists.txt
index 3b2b8b74..d56988e0 100644
--- a/tests/CMakeLists.txt
+++ b/tests/CMakeLists.txt
@@ -22,6 +22,7 @@ endmacro()
# Tests START #
add_unit_test(pathutils tst_pathutils.cpp)
+add_unit_test(gradlespecifier tst_gradlespecifier.cpp)
add_unit_test(userutils tst_userutils.cpp)
add_unit_test(inifile tst_inifile.cpp)
add_unit_test(UpdateChecker tst_UpdateChecker.cpp)
diff --git a/tests/tst_gradlespecifier.cpp b/tests/tst_gradlespecifier.cpp
new file mode 100644
index 00000000..69dd54f7
--- /dev/null
+++ b/tests/tst_gradlespecifier.cpp
@@ -0,0 +1,77 @@
+#include <QTest>
+#include "TestUtil.h"
+
+#include "logic/minecraft/GradleSpecifier.h"
+
+class GradleSpecifierTest : public QObject
+{
+ Q_OBJECT
+private
+slots:
+ void initTestCase()
+ {
+
+ }
+ void cleanupTestCase()
+ {
+
+ }
+
+ void test_Positive_data()
+ {
+ QTest::addColumn<QString>("through");
+
+ QTest::newRow("3 parter") << "org.gradle.test.classifiers:service:1.0";
+ QTest::newRow("classifier") << "org.gradle.test.classifiers:service:1.0:jdk15";
+ QTest::newRow("jarextension") << "org.gradle.test.classifiers:service:1.0@jar";
+ QTest::newRow("jarboth") << "org.gradle.test.classifiers:service:1.0:jdk15@jar";
+ QTest::newRow("packxz") << "org.gradle.test.classifiers:service:1.0:jdk15@jar.pack.xz";
+ }
+ void test_Positive()
+ {
+ QFETCH(QString, through);
+
+ QString converted = GradleSpecifier(through);
+
+ QCOMPARE(converted, through);
+ }
+
+ void test_Path_data()
+ {
+ QTest::addColumn<QString>("spec");
+ QTest::addColumn<QString>("expected");
+
+ QTest::newRow("3 parter") << "group.id:artifact:1.0" << "group/id/artifact/1.0/artifact-1.0.jar";
+ QTest::newRow("doom") << "id.software:doom:1.666:demons@wad" << "id/software/doom/1.666/doom-1.666-demons.wad";
+ }
+ void test_Path()
+ {
+ QFETCH(QString, spec);
+ QFETCH(QString, expected);
+
+ QString converted = GradleSpecifier(spec).toPath();
+
+ QCOMPARE(converted, expected);
+ }
+ void test_Negative_data()
+ {
+ QTest::addColumn<QString>("input");
+
+ QTest::newRow("too many :") << "org:gradle.test:class:::ifiers:service:1.0::";
+ QTest::newRow("nonsense") << "I like turtles";
+ QTest::newRow("empty string") << "";
+ QTest::newRow("missing version") << "herp.derp:artifact";
+ }
+ void test_Negative()
+ {
+ QFETCH(QString, input);
+
+ GradleSpecifier spec(input);
+ QVERIFY(!spec.valid());
+ QCOMPARE(spec.operator QString(), QString("INVALID"));
+ }
+};
+
+QTEST_GUILESS_MAIN_MULTIMC(GradleSpecifierTest)
+
+#include "tst_gradlespecifier.moc"