56 lines
		
	
	
		
			1.5 KiB
		
	
	
	
		
			C++
		
	
	
	
	
	
			
		
		
	
	
			56 lines
		
	
	
		
			1.5 KiB
		
	
	
	
		
			C++
		
	
	
	
	
	
| #include <QTest>
 | |
| #include <QDebug>
 | |
| #include "TestUtil.h"
 | |
| 
 | |
| #include "minecraft/MojangVersionFormat.h"
 | |
| 
 | |
| class MojangVersionFormatTest : public QObject
 | |
| {
 | |
|     Q_OBJECT
 | |
| 
 | |
|     static QJsonDocument readJson(const char *file)
 | |
|     {
 | |
|         auto path = QFINDTESTDATA(file);
 | |
|         QFile jsonFile(path);
 | |
|         jsonFile.open(QIODevice::ReadOnly);
 | |
|         auto data = jsonFile.readAll();
 | |
|         jsonFile.close();
 | |
|         return QJsonDocument::fromJson(data);
 | |
|     }
 | |
|     static void writeJson(const char *file, QJsonDocument doc)
 | |
|     {
 | |
|         QFile jsonFile(file);
 | |
|         jsonFile.open(QIODevice::WriteOnly | QIODevice::Text);
 | |
|         auto data = doc.toJson(QJsonDocument::Indented);
 | |
|         qDebug() << QString::fromUtf8(data);
 | |
|         jsonFile.write(data);
 | |
|         jsonFile.close();
 | |
|     }
 | |
| 
 | |
| private
 | |
| slots:
 | |
|     void test_Through_Simple()
 | |
|     {
 | |
|         QJsonDocument doc = readJson("data/1.9-simple.json");
 | |
|         auto vfile = MojangVersionFormat::versionFileFromJson(doc, "1.9-simple.json");
 | |
|         auto doc2 = MojangVersionFormat::versionFileToJson(vfile);
 | |
|         writeJson("1.9-simple-passthorugh.json", doc2);
 | |
| 
 | |
|         QCOMPARE(doc.toJson(), doc2.toJson());
 | |
|     }
 | |
| 
 | |
|     void test_Through()
 | |
|     {
 | |
|         QJsonDocument doc = readJson("data/1.9.json");
 | |
|         auto vfile = MojangVersionFormat::versionFileFromJson(doc, "1.9.json");
 | |
|         auto doc2 = MojangVersionFormat::versionFileToJson(vfile);
 | |
|         writeJson("1.9-passthorugh.json", doc2);
 | |
|         QCOMPARE(doc.toJson(), doc2.toJson());
 | |
|     }
 | |
| };
 | |
| 
 | |
| QTEST_GUILESS_MAIN(MojangVersionFormatTest)
 | |
| 
 | |
| #include "MojangVersionFormat_test.moc"
 | |
| 
 |