79 lines
		
	
	
		
			2.1 KiB
		
	
	
	
		
			C++
		
	
	
	
	
	
			
		
		
	
	
			79 lines
		
	
	
		
			2.1 KiB
		
	
	
	
		
			C++
		
	
	
	
	
	
#include <QTest>
 | 
						|
#include "TestUtil.h"
 | 
						|
 | 
						|
#include "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).serialize();
 | 
						|
 | 
						|
        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.serialize(), input);
 | 
						|
        QCOMPARE(spec.toPath(), QString());
 | 
						|
    }
 | 
						|
};
 | 
						|
 | 
						|
QTEST_GUILESS_MAIN(GradleSpecifierTest)
 | 
						|
 | 
						|
#include "GradleSpecifier_test.moc"
 |