RabbitCommon v2.2.6
Loading...
Searching...
No Matches
TestUpdater.cpp
1#include "TestUpdater.h"
2#include "FrmUpdater.h"
3#include "RabbitCommonTools.h"
4#include <QApplication>
5#include <QTest>
6#include <QLoggingCategory>
7#include <QLabel>
8#include <QRegularExpression>
9
10static Q_LOGGING_CATEGORY(log, "RabbitCommon.Test.Updater")
11
12CTestUpdater::CTestUpdater(QObject *parent)
13 : QObject{parent}
14{}
15
16void CTestUpdater::TestCheckRedirectJson()
17{
18 QVector<QUrl> urls;
19 urls << QUrl::fromLocalFile("data/redirect.json");
20 CFrmUpdater* pUpdater = new CFrmUpdater(urls);
21 pUpdater->SetVersion("v3.0.0");
22 pUpdater->show();
23 QTest::qWait(100);
24 QLabel* pState = pUpdater->findChild<QLabel*>("lbState");
25 QVERIFY2(pState->text() == tr("There is laster version"),
26 pState->text().toStdString().c_str());
27 pUpdater->close();
28 //QTest::keyPress(pUpdater, Qt::Key_C, Qt::AltModifier);
29 return;
30}
31
32void CTestUpdater::TestCheckRedirectNoOSJson()
33{
34 QVector<QUrl> urls;
35 urls << QUrl::fromLocalFile("data/redirect.json");
36 CFrmUpdater* pUpdater = new CFrmUpdater(urls);
37 pUpdater->SetVersion("v0.0.25");
38 pUpdater->show();
39
40 QTest::qWait(100);
41 QLabel* pState = pUpdater->findChild<QLabel*>("lbState");
42 QVERIFY2(pState->text() == tr("There is a new version, is it updated?"),
43 QString("label:" + pState->text()).toStdString().c_str());
44 QTest::keyPress(pUpdater, Qt::Key_O, Qt::AltModifier);
45 while(true) {
46 QTest::qWait(100);
47 if(pState->text().contains(tr("Failed"))) {
48 QVERIFY2(false, QString("Download fail:"
49 + pState->text()).toStdString().c_str());
50 break;
51 }
52 if(pState->text() != tr("Download ......")) {
53 QTest::qWait(1000);
54 break;
55 }
56 }
57 QTest::keyPress(pUpdater, Qt::Key_C, Qt::AltModifier);
58 return;
59}
60
61void CTestUpdater::TestCheckRedirectSingleUpdateJson()
62{
63 QVector<QUrl> urls;
64 urls << QUrl::fromLocalFile("data/redirect.json");
65 CFrmUpdater* pUpdater = new CFrmUpdater(urls);
66 pUpdater->SetVersion("v0.0.15");
67 pUpdater->show();
68
69 QTest::qWait(100);
70 QLabel* pState = pUpdater->findChild<QLabel*>("lbState");
71 QVERIFY2(pState->text() == tr("There is a new version, is it updated?"),
72 QString("label:" + pState->text()).toStdString().c_str());
73 QTest::keyPress(pUpdater, Qt::Key_O, Qt::AltModifier);
74 while(true) {
75 QTest::qWait(100);
76 if(pState->text().contains(tr("Failed"))) {
77 QVERIFY2(false, QString("Download fail:"
78 + pState->text()).toStdString().c_str());
79 break;
80 }
81 if(pState->text() != tr("Download ......")) {
82 QTest::qWait(1000);
83 break;
84 }
85 }
86 QTest::keyPress(pUpdater, Qt::Key_C, Qt::AltModifier);
87 return;
88}
89
90void CTestUpdater::TestCheckRedirectUnknownUpdateJson()
91{
92 QVector<QUrl> urls;
93 urls << QUrl::fromLocalFile("data/redirect.json");
94 CFrmUpdater* pUpdater = new CFrmUpdater(urls);
95 pUpdater->SetVersion("v0.0.8");
96 pUpdater->show();
97
98 QTest::qWait(100);
99 QLabel* pState = pUpdater->findChild<QLabel*>("lbState");
100 QVERIFY2(pState->text().contains(tr("Failed:")),
101 QString("label:" + pState->text()).toStdString().c_str());
102
103 QTest::keyPress(pUpdater, Qt::Key_C, Qt::AltModifier);
104 return;
105}
106
107QTEST_MAIN(CTestUpdater)
108
109/*
110int main(int argc, char *argv[])
111{
112 QApplication app(argc, argv);
113 app.setQuitOnLastWindowClosed(true);
114
115 RabbitCommon::CTools::Instance()->Init();
116
117 CTestUpdater test;
118
119 int nRet = test.TestCheckRedirectJson();
120 if(nRet)
121 return nRet;
122
123 nRet = test.TestCheckUpdateJson();
124 if(nRet)
125 return nRet;
126
127 return app.exec();
128}//*/
Updater.
Definition FrmUpdater.h:70