RabbitCommon v2.2.6
Loading...
Searching...
No Matches
TestGenerateJsonFile.cpp
1#include <QApplication>
2#include <QtTest>
3
4#include "FrmUpdater.h"
5#include "TestGenerateJsonFile.h"
6
7CTestGenerateJsonFile::CTestGenerateJsonFile() : QObject()
8{}
9
10// set command line in Tests/CMakeLists.txt
11void CTestGenerateJsonFile::test_generate_update_json_file()
12{
13 CFrmUpdater updater;
14 QVERIFY(0 == updater.GenerateUpdateJson());
15}
16
17void CTestGenerateJsonFile::test_json_file()
18{
19 CFrmUpdater updater;
20 QFile file("test.json");
21 QVERIFY(file.exists());
23 QVERIFY(0 == updater.GetConfigFromFile("test.json", info));
24 QVERIFY(info.version.szVerion == "2.0.0");
25 QVERIFY(info.version.szMinUpdateVersion == "1.9.0");
26 QVERIFY(info.version.szTime == "time");
27 QVERIFY(info.version.szInfomation == "info");
28 QVERIFY(info.version.szHome == "home");
29 QVERIFY(info.version.bForce);
30
31 CFrmUpdater::CONFIG_FILE conf_file = info.files[0];
32 QVERIFY(conf_file.szSystem == "ubuntu");
33 QVERIFY(conf_file.szArchitecture == "x86_64");
34 QVERIFY(conf_file.szMd5sum == "aab854ec7cc6831d591237e609a8bf36");
35 QVERIFY(conf_file.urls[0] == QUrl("https://github.com/KangLin/RabbitRemoteControl/releases/download/v0.0.26/rabbitremotecontrol_0.0.26_amd64.deb"));
36 QVERIFY(conf_file.urls[1] == QUrl("https://sourceforge.net/projects/rabbitremotecontrol/files/v0.0.26/rabbitremotecontrol_0.0.26_amd64.deb/download"));
37 QVERIFY(conf_file.szFileName == "rabbitremotecontrol_0.0.26_amd64.deb");
38}
39
40int main(int argc, char* argv[])
41{
42 QApplication app(argc, argv);
43 QCoreApplication::setApplicationName("RabbitCommon");
45 // QTEST_MAIN() 会自动增加命令行参数。
46 // 所以这里我们直接用 QTest::qExec ,不传递参数给 QApplication
47 // See: https://doc.qt.io/qt-6/qtest-overview.html#qt-test-command-line-arguments
48 return QTest::qExec(&obj);
49}
Updater.
Definition FrmUpdater.h:70
int GenerateUpdateJson()
Generate update json configure file.
int GetConfigFromFile(const QString &szFile, CONFIG_INFO &conf)
json 格式: