qi3pc 0.3.1 (Debug GNU 15.1.1)


Directory: ./
File: tests/test_qi3pc.cpp
Date: 2025-06-23 04:52:02
Exec Total Coverage
Lines: 111 117 94.9%
Functions: 18 19 94.7%
Branches: 212 708 29.9%

Line Branch Exec Source
1 #include <QTest>
2 #include <QSignalSpy>
3
4 #include "test_qi3pc.h"
5 #include "data/i3_messages.h"
6
7 Q_LOGGING_CATEGORY(TestQi3pcLogger, "qi3pc.test", QtMsgType::QtDebugMsg);
8
9 void
10 1 TestQi3pc::initTestCase() {
11
1/2
✓ Branch 0 (3→4) taken 1 times.
✗ Branch 1 (3→33) not taken.
1 QString timestamp = QString::number(QDateTime::currentMSecsSinceEpoch());
12
2/4
✓ Branch 0 (4→5) taken 1 times.
✗ Branch 1 (4→23) not taken.
✓ Branch 2 (6→7) taken 1 times.
✗ Branch 3 (6→20) not taken.
2 m_socketPath = QString("/tmp/mock-i3wm-server-%1.socket").arg(timestamp);
13
3/8
✓ Branch 0 (10→11) taken 1 times.
✗ Branch 1 (10→31) not taken.
✓ Branch 2 (11→12) taken 1 times.
✗ Branch 3 (11→25) not taken.
✗ Branch 4 (12→13) not taken.
✓ Branch 5 (12→14) taken 1 times.
✗ Branch 6 (25→26) not taken.
✗ Branch 7 (25→27) not taken.
1 m_mockServer = new MockI3Server(m_socketPath, this);
14
3/8
✓ Branch 0 (14→15) taken 1 times.
✗ Branch 1 (14→31) not taken.
✓ Branch 2 (15→16) taken 1 times.
✗ Branch 3 (15→28) not taken.
✗ Branch 4 (16→17) not taken.
✓ Branch 5 (16→18) taken 1 times.
✗ Branch 6 (28→29) not taken.
✗ Branch 7 (28→30) not taken.
1 m_qi3pc = new qi3pc(m_socketPath, this);
15 1 }
16
17 void
18 1 TestQi3pc::cleanupTestCase() {
19
1/2
✓ Branch 0 (2→3) taken 1 times.
✗ Branch 1 (2→4) not taken.
1 delete m_qi3pc;
20
1/2
✓ Branch 0 (4→5) taken 1 times.
✗ Branch 1 (4→6) not taken.
1 delete m_mockServer;
21 1 }
22
23 void
24 10 TestQi3pc::init() {
25 10 auto count = m_connections.size();
26
8/30
✓ Branch 0 (4→5) taken 10 times.
✗ Branch 1 (4→22) not taken.
✓ Branch 2 (5→6) taken 10 times.
✗ Branch 3 (5→118) not taken.
✓ Branch 4 (7→8) taken 10 times.
✗ Branch 5 (7→114) not taken.
✓ Branch 6 (8→9) taken 10 times.
✗ Branch 7 (8→114) not taken.
✓ Branch 8 (10→11) taken 10 times.
✗ Branch 9 (10→111) not taken.
✓ Branch 10 (12→13) taken 10 times.
✗ Branch 11 (12→109) not taken.
✓ Branch 12 (14→15) taken 10 times.
✗ Branch 13 (14→107) not taken.
✗ Branch 14 (19→20) not taken.
✓ Branch 15 (19→39) taken 10 times.
✗ Branch 16 (22→23) not taken.
✗ Branch 17 (22→133) not taken.
✗ Branch 18 (24→25) not taken.
✗ Branch 19 (24→129) not taken.
✗ Branch 20 (25→26) not taken.
✗ Branch 21 (25→129) not taken.
✗ Branch 22 (27→28) not taken.
✗ Branch 23 (27→126) not taken.
✗ Branch 24 (29→30) not taken.
✗ Branch 25 (29→124) not taken.
✗ Branch 26 (31→32) not taken.
✗ Branch 27 (31→122) not taken.
✗ Branch 28 (36→37) not taken.
✗ Branch 29 (36→39) not taken.
30 QVERIFY2(m_connections.size() == 0,
27 qPrintable(QString("%1: qi3pc object already has %2 meta object connections before test case initialization.")
28 .arg(QTest::currentTestFunction())
29 .arg(count)));
30
31
7/26
✓ Branch 0 (40→41) taken 10 times.
✗ Branch 1 (40→55) not taken.
✓ Branch 2 (41→42) taken 10 times.
✗ Branch 3 (41→145) not taken.
✓ Branch 4 (43→44) taken 10 times.
✗ Branch 5 (43→141) not taken.
✓ Branch 6 (44→45) taken 10 times.
✗ Branch 7 (44→141) not taken.
✓ Branch 8 (46→47) taken 10 times.
✗ Branch 9 (46→139) not taken.
✓ Branch 10 (48→49) taken 10 times.
✗ Branch 11 (48→137) not taken.
✗ Branch 12 (52→53) not taken.
✓ Branch 13 (52→69) taken 10 times.
✗ Branch 14 (55→56) not taken.
✗ Branch 15 (55→156) not taken.
✗ Branch 16 (57→58) not taken.
✗ Branch 17 (57→152) not taken.
✗ Branch 18 (58→59) not taken.
✗ Branch 19 (58→152) not taken.
✗ Branch 20 (60→61) not taken.
✗ Branch 21 (60→150) not taken.
✗ Branch 22 (62→63) not taken.
✗ Branch 23 (62→148) not taken.
✗ Branch 24 (66→67) not taken.
✗ Branch 25 (66→69) not taken.
20 QVERIFY2(!m_qi3pc->isConnected(),
32 qPrintable(QString("%1: Already connected before test case initialization.")
33 .arg(QTest::currentTestFunction())));
34
35 10 count = m_mockServer->clientCount();
36
8/30
✓ Branch 0 (71→72) taken 10 times.
✗ Branch 1 (71→89) not taken.
✓ Branch 2 (72→73) taken 10 times.
✗ Branch 3 (72→170) not taken.
✓ Branch 4 (74→75) taken 10 times.
✗ Branch 5 (74→166) not taken.
✓ Branch 6 (75→76) taken 10 times.
✗ Branch 7 (75→166) not taken.
✓ Branch 8 (77→78) taken 10 times.
✗ Branch 9 (77→163) not taken.
✓ Branch 10 (79→80) taken 10 times.
✗ Branch 11 (79→161) not taken.
✓ Branch 12 (81→82) taken 10 times.
✗ Branch 13 (81→159) not taken.
✗ Branch 14 (86→87) not taken.
✓ Branch 15 (86→106) taken 10 times.
✗ Branch 16 (89→90) not taken.
✗ Branch 17 (89→185) not taken.
✗ Branch 18 (91→92) not taken.
✗ Branch 19 (91→181) not taken.
✗ Branch 20 (92→93) not taken.
✗ Branch 21 (92→181) not taken.
✗ Branch 22 (94→95) not taken.
✗ Branch 23 (94→178) not taken.
✗ Branch 24 (96→97) not taken.
✗ Branch 25 (96→176) not taken.
✗ Branch 26 (98→99) not taken.
✗ Branch 27 (98→174) not taken.
✗ Branch 28 (103→104) not taken.
✗ Branch 29 (103→106) not taken.
30 QVERIFY2(m_mockServer->clientCount() == 0,
37 qPrintable(QString("%1: Mock server already has %2 connections before test case initialization.")
38 .arg(QTest::currentTestFunction())
39 .arg(count)));
40 }
41
42 void
43 10 TestQi3pc::cleanup() {
44
2/2
✓ Branch 0 (3→4) taken 9 times.
✓ Branch 1 (3→5) taken 1 times.
10 if(m_qi3pc->isConnected()) {
45 9 m_qi3pc->disconnect();
46 }
47 10 QTest::qWait(50);
48
49 10 auto wait = 0;
50 10 auto count = m_mockServer->clientCount();
51
1/4
✗ Branch 0 (14→15) not taken.
✓ Branch 1 (14→16) taken 10 times.
✗ Branch 2 (15→8) not taken.
✗ Branch 3 (15→16) not taken.
10 while(count > 0 && wait < 3000) {
52 if(m_qi3pc->isConnected()) m_qi3pc->disconnect();
53 QTest::qWait(50);
54 wait += 50;
55 count = m_mockServer->clientCount();
56 }
57
58
7/26
✓ Branch 0 (17→18) taken 10 times.
✗ Branch 1 (17→32) not taken.
✓ Branch 2 (18→19) taken 10 times.
✗ Branch 3 (18→156) not taken.
✓ Branch 4 (20→21) taken 10 times.
✗ Branch 5 (20→152) not taken.
✓ Branch 6 (21→22) taken 10 times.
✗ Branch 7 (21→152) not taken.
✓ Branch 8 (23→24) taken 10 times.
✗ Branch 9 (23→150) not taken.
✓ Branch 10 (25→26) taken 10 times.
✗ Branch 11 (25→148) not taken.
✗ Branch 12 (29→30) not taken.
✓ Branch 13 (29→46) taken 10 times.
✗ Branch 14 (32→33) not taken.
✗ Branch 15 (32→167) not taken.
✗ Branch 16 (34→35) not taken.
✗ Branch 17 (34→163) not taken.
✗ Branch 18 (35→36) not taken.
✗ Branch 19 (35→163) not taken.
✗ Branch 20 (37→38) not taken.
✗ Branch 21 (37→161) not taken.
✗ Branch 22 (39→40) not taken.
✗ Branch 23 (39→159) not taken.
✗ Branch 24 (43→44) not taken.
✗ Branch 25 (43→46) not taken.
20 QVERIFY2(!m_qi3pc->isConnected(),
59 qPrintable(QString("%1: Still connected after cleanup.")
60 .arg(QTest::currentTestFunction())));
61
62 10 count = m_mockServer->clientCount();
63
8/30
✓ Branch 0 (48→49) taken 10 times.
✗ Branch 1 (48→66) not taken.
✓ Branch 2 (49→50) taken 10 times.
✗ Branch 3 (49→181) not taken.
✓ Branch 4 (51→52) taken 10 times.
✗ Branch 5 (51→177) not taken.
✓ Branch 6 (52→53) taken 10 times.
✗ Branch 7 (52→177) not taken.
✓ Branch 8 (54→55) taken 10 times.
✗ Branch 9 (54→174) not taken.
✓ Branch 10 (56→57) taken 10 times.
✗ Branch 11 (56→172) not taken.
✓ Branch 12 (58→59) taken 10 times.
✗ Branch 13 (58→170) not taken.
✗ Branch 14 (63→64) not taken.
✓ Branch 15 (63→83) taken 10 times.
✗ Branch 16 (66→67) not taken.
✗ Branch 17 (66→196) not taken.
✗ Branch 18 (68→69) not taken.
✗ Branch 19 (68→192) not taken.
✗ Branch 20 (69→70) not taken.
✗ Branch 21 (69→192) not taken.
✗ Branch 22 (71→72) not taken.
✗ Branch 23 (71→189) not taken.
✗ Branch 24 (73→74) not taken.
✗ Branch 25 (73→187) not taken.
✗ Branch 26 (75→76) not taken.
✗ Branch 27 (75→185) not taken.
✗ Branch 28 (80→81) not taken.
✗ Branch 29 (80→83) not taken.
30 QVERIFY2(m_mockServer->clientCount() == 0,
64 qPrintable(QString("%1: Mock server still has %2 connected client after cleanup.")
65 .arg(QTest::currentTestFunction())
66 .arg(count)));
67
68
1/2
✗ Branch 0 (83→84) not taken.
✓ Branch 1 (83→99) taken 10 times.
10 if (wait > 0) {
69 qCWarning(TestQi3pcLogger) << "Waited" << wait << "ms when cleaning up" << QTest::currentTestFunction();
70 }
71
72
1/2
✓ Branch 0 (109→110) taken 10 times.
✗ Branch 1 (109→205) not taken.
10 m_connections.erase(
73
1/2
✓ Branch 0 (105→106) taken 10 times.
✗ Branch 1 (105→205) not taken.
10 std::remove_if(m_connections.begin(), m_connections.end(), [](const QMetaObject::Connection& c) {
74 10 QObject::disconnect(c);
75 10 return true;
76 }),
77 10 m_connections.end()
78 );
79
80 10 count = m_connections.size();
81
8/30
✓ Branch 0 (112→113) taken 10 times.
✗ Branch 1 (112→130) not taken.
✓ Branch 2 (113→114) taken 10 times.
✗ Branch 3 (113→220) not taken.
✓ Branch 4 (115→116) taken 10 times.
✗ Branch 5 (115→216) not taken.
✓ Branch 6 (116→117) taken 10 times.
✗ Branch 7 (116→216) not taken.
✓ Branch 8 (118→119) taken 10 times.
✗ Branch 9 (118→213) not taken.
✓ Branch 10 (120→121) taken 10 times.
✗ Branch 11 (120→211) not taken.
✓ Branch 12 (122→123) taken 10 times.
✗ Branch 13 (122→209) not taken.
✗ Branch 14 (127→128) not taken.
✓ Branch 15 (127→147) taken 10 times.
✗ Branch 16 (130→131) not taken.
✗ Branch 17 (130→235) not taken.
✗ Branch 18 (132→133) not taken.
✗ Branch 19 (132→231) not taken.
✗ Branch 20 (133→134) not taken.
✗ Branch 21 (133→231) not taken.
✗ Branch 22 (135→136) not taken.
✗ Branch 23 (135→228) not taken.
✗ Branch 24 (137→138) not taken.
✗ Branch 25 (137→226) not taken.
✗ Branch 26 (139→140) not taken.
✗ Branch 27 (139→224) not taken.
✗ Branch 28 (144→145) not taken.
✗ Branch 29 (144→147) not taken.
30 QVERIFY2(m_connections.size() == 0,
82 qPrintable(QString("%1: qi3pc object still has %2 meta object connections after cleanup.")
83 .arg(QTest::currentTestFunction())
84 .arg(count)));
85 }
86
87 void
88 1 TestQi3pc::test_connection() {
89
2/6
✓ Branch 0 (3→4) taken 1 times.
✗ Branch 1 (3→8) not taken.
✗ Branch 2 (5→6) not taken.
✓ Branch 3 (5→12) taken 1 times.
✗ Branch 4 (9→10) not taken.
✗ Branch 5 (9→12) not taken.
1 QVERIFY2(!m_qi3pc->isConnected(), "Already connected before ::connect.");
90
91
2/6
✓ Branch 0 (13→14) taken 1 times.
✗ Branch 1 (13→18) not taken.
✗ Branch 2 (15→16) not taken.
✓ Branch 3 (15→22) taken 1 times.
✗ Branch 4 (19→20) not taken.
✗ Branch 5 (19→22) not taken.
1 QVERIFY2(m_qi3pc->connect(), "::connect failed.");
92
2/6
✓ Branch 0 (23→24) taken 1 times.
✗ Branch 1 (23→28) not taken.
✗ Branch 2 (25→26) not taken.
✓ Branch 3 (25→32) taken 1 times.
✗ Branch 4 (29→30) not taken.
✗ Branch 5 (29→32) not taken.
1 QVERIFY2(m_qi3pc->isConnected(), "Not connected after ::connect.");
93
94
2/6
✓ Branch 0 (33→34) taken 1 times.
✗ Branch 1 (33→38) not taken.
✗ Branch 2 (35→36) not taken.
✓ Branch 3 (35→42) taken 1 times.
✗ Branch 4 (39→40) not taken.
✗ Branch 5 (39→42) not taken.
1 QVERIFY2(m_qi3pc->disconnect(), "::disconnect failed.");
95
2/6
✓ Branch 0 (43→44) taken 1 times.
✗ Branch 1 (43→48) not taken.
✗ Branch 2 (45→46) not taken.
✓ Branch 3 (45→52) taken 1 times.
✗ Branch 4 (49→50) not taken.
✗ Branch 5 (49→52) not taken.
1 QVERIFY2(!m_qi3pc->isConnected(), "Still connected after ::disconnect.");
96 }
97
98 // void TestQi3pc::test_subscribe() {
99 //
100 // }
101
102 void
103 1 TestQi3pc::test_fetchWorkspaces() {
104 2 fetchTest(
105
1/2
✓ Branch 0 (4→5) taken 1 times.
✗ Branch 1 (4→8) not taken.
1 *m_qi3pc,
106
2/4
✓ Branch 0 (2→3) taken 1 times.
✗ Branch 1 (2→12) not taken.
✓ Branch 2 (3→4) taken 1 times.
✗ Branch 3 (3→10) not taken.
2 QJsonDocument::fromJson(test_qi3pc::data::i3messages::workspaces).array(),
107 &qi3pc::fetchWorkspaces,
108 &qi3pc::workspaces,
109 &qi3pc::workspacesUpdated,
110 "workspacesUpdated"
111 );
112 1 }
113
114 void
115 1 TestQi3pc::test_fetchTree() {
116 2 fetchTest(
117
1/2
✓ Branch 0 (4→5) taken 1 times.
✗ Branch 1 (4→8) not taken.
1 *m_qi3pc,
118
2/4
✓ Branch 0 (2→3) taken 1 times.
✗ Branch 1 (2→12) not taken.
✓ Branch 2 (3→4) taken 1 times.
✗ Branch 3 (3→10) not taken.
2 QJsonDocument::fromJson(test_qi3pc::data::i3messages::tree).object(),
119 &qi3pc::fetchTree,
120 &qi3pc::tree,
121 &qi3pc::treeUpdated,
122 "treeUpdated"
123 );
124 1 }
125
126 1 void TestQi3pc::test_fetchOutputs() {
127 2 fetchTest(
128
1/2
✓ Branch 0 (4→5) taken 1 times.
✗ Branch 1 (4→8) not taken.
1 *m_qi3pc,
129
2/4
✓ Branch 0 (2→3) taken 1 times.
✗ Branch 1 (2→12) not taken.
✓ Branch 2 (3→4) taken 1 times.
✗ Branch 3 (3→10) not taken.
2 QJsonDocument::fromJson(test_qi3pc::data::i3messages::outputs).array(),
130 &qi3pc::fetchOutputs,
131 &qi3pc::outputs,
132 &qi3pc::outputsUpdated,
133 "outputsUpdated"
134 );
135 1 }
136
137 1 void TestQi3pc::test_fetchMarks() {
138 2 fetchTest(
139
1/2
✓ Branch 0 (4→5) taken 1 times.
✗ Branch 1 (4→8) not taken.
1 *m_qi3pc,
140
2/4
✓ Branch 0 (2→3) taken 1 times.
✗ Branch 1 (2→12) not taken.
✓ Branch 2 (3→4) taken 1 times.
✗ Branch 3 (3→10) not taken.
2 QJsonDocument::fromJson(test_qi3pc::data::i3messages::marks).array(),
141 &qi3pc::fetchMarks,
142 &qi3pc::marks,
143 &qi3pc::marksUpdated,
144 "marksUpdated"
145 );
146 1 }
147
148 void
149 1 TestQi3pc::test_fetchBarConfigs() {
150
1/2
✓ Branch 0 (2→3) taken 1 times.
✗ Branch 1 (2→552) not taken.
1 m_qi3pc->connect();
151
152 1 auto bars = test_qi3pc::data::i3messages::barConfigs;
153
1/2
✓ Branch 0 (4→5) taken 1 times.
✗ Branch 1 (4→550) not taken.
1 auto ids = test_qi3pc::data::i3messages::barIds();
154
155
1/2
✓ Branch 0 (5→6) taken 1 times.
✗ Branch 1 (5→548) not taken.
1 QSignalSpy newConfigSpy(m_qi3pc, &qi3pc::newBarConfig);
156
1/2
✓ Branch 0 (9→10) taken 1 times.
✗ Branch 1 (9→324) not taken.
1 m_connections.push_back(
157
2/6
✓ Branch 0 (8→9) taken 1 times.
✗ Branch 1 (8→326) not taken.
✗ Branch 2 (12→13) not taken.
✓ Branch 3 (12→14) taken 1 times.
✗ Branch 4 (328→329) not taken.
✗ Branch 5 (328→330) not taken.
2 connect(m_qi3pc, &qi3pc::newBarConfig, [=](const QString& id){
158
5/18
✓ Branch 0 (3→4) taken 1 times.
✗ Branch 1 (3→14) not taken.
✓ Branch 2 (4→5) taken 1 times.
✗ Branch 3 (4→63) not taken.
✓ Branch 4 (6→7) taken 1 times.
✗ Branch 5 (6→61) not taken.
✓ Branch 6 (8→9) taken 1 times.
✗ Branch 7 (8→59) not taken.
✗ Branch 8 (11→12) not taken.
✓ Branch 9 (11→24) taken 1 times.
✗ Branch 10 (14→15) not taken.
✗ Branch 11 (14→69) not taken.
✗ Branch 12 (16→17) not taken.
✗ Branch 13 (16→67) not taken.
✗ Branch 14 (18→19) not taken.
✗ Branch 15 (18→65) not taken.
✗ Branch 16 (21→22) not taken.
✗ Branch 17 (21→24) not taken.
1 QVERIFY2(!id.isEmpty(),
159 qPrintable(QString("::newBarConfig emitted with empty id.")));
160
161
7/26
✓ Branch 0 (25→26) taken 1 times.
✗ Branch 1 (25→42) not taken.
✓ Branch 2 (26→27) taken 1 times.
✗ Branch 3 (26→81) not taken.
✓ Branch 4 (28→29) taken 1 times.
✗ Branch 5 (28→78) not taken.
✓ Branch 6 (30→31) taken 1 times.
✗ Branch 7 (30→75) not taken.
✓ Branch 8 (32→33) taken 1 times.
✗ Branch 9 (32→73) not taken.
✓ Branch 10 (34→35) taken 1 times.
✗ Branch 11 (34→71) not taken.
✗ Branch 12 (39→40) not taken.
✓ Branch 13 (39→58) taken 1 times.
✗ Branch 14 (42→43) not taken.
✗ Branch 15 (42→95) not taken.
✗ Branch 16 (44→45) not taken.
✗ Branch 17 (44→92) not taken.
✗ Branch 18 (46→47) not taken.
✗ Branch 19 (46→89) not taken.
✗ Branch 20 (48→49) not taken.
✗ Branch 21 (48→87) not taken.
✗ Branch 22 (50→51) not taken.
✗ Branch 23 (50→85) not taken.
✗ Branch 24 (55→56) not taken.
✗ Branch 25 (55→58) not taken.
3 QVERIFY2(bars.contains(id),
162 qPrintable(QString("::newBarConfig emitted with unexpected id.\n"
163 "Expected one of %1\n."
164 "Found: %2")
165 .arg(ids)
166 .arg(id)));
167 }));
168
169
1/2
✓ Branch 0 (14→15) taken 1 times.
✗ Branch 1 (14→546) not taken.
1 m_qi3pc->fetchBarConfigs();
170
6/24
✓ Branch 0 (15→16) taken 1 times.
✗ Branch 1 (15→546) not taken.
✓ Branch 2 (16→17) taken 1 times.
✗ Branch 3 (16→27) not taken.
✓ Branch 4 (17→18) taken 1 times.
✗ Branch 5 (17→337) not taken.
✓ Branch 6 (19→20) taken 1 times.
✗ Branch 7 (19→335) not taken.
✓ Branch 8 (21→22) taken 1 times.
✗ Branch 9 (21→333) not taken.
✗ Branch 10 (24→25) not taken.
✓ Branch 11 (24→37) taken 1 times.
✗ Branch 12 (25→26) not taken.
✗ Branch 13 (25→546) not taken.
✗ Branch 14 (27→28) not taken.
✗ Branch 15 (27→343) not taken.
✗ Branch 16 (29→30) not taken.
✗ Branch 17 (29→341) not taken.
✗ Branch 18 (31→32) not taken.
✗ Branch 19 (31→339) not taken.
✗ Branch 20 (34→35) not taken.
✗ Branch 21 (34→37) not taken.
✗ Branch 22 (35→36) not taken.
✗ Branch 23 (35→546) not taken.
1 QVERIFY2(newConfigSpy.wait(1000),
171 qPrintable(QString(("::newBarConfig was not emitted (1000ms timeout)"))));
172
173 1 auto count = newConfigSpy.count();
174
5/22
✓ Branch 0 (38→39) taken 1 times.
✗ Branch 1 (38→49) not taken.
✓ Branch 2 (39→40) taken 1 times.
✗ Branch 3 (39→349) not taken.
✓ Branch 4 (41→42) taken 1 times.
✗ Branch 5 (41→347) not taken.
✓ Branch 6 (43→44) taken 1 times.
✗ Branch 7 (43→345) not taken.
✗ Branch 8 (46→47) not taken.
✓ Branch 9 (46→59) taken 1 times.
✗ Branch 10 (47→48) not taken.
✗ Branch 11 (47→546) not taken.
✗ Branch 12 (49→50) not taken.
✗ Branch 13 (49→355) not taken.
✗ Branch 14 (51→52) not taken.
✗ Branch 15 (51→353) not taken.
✗ Branch 16 (53→54) not taken.
✗ Branch 17 (53→351) not taken.
✗ Branch 18 (56→57) not taken.
✗ Branch 19 (56→59) not taken.
✗ Branch 20 (57→58) not taken.
✗ Branch 21 (57→546) not taken.
1 QVERIFY2(count == 1,
175 qPrintable(QString("::newBarConfig emitted %1 times - expected 1 emision")));
176
177
1/2
✓ Branch 0 (59→60) taken 1 times.
✗ Branch 1 (59→546) not taken.
1 auto data = m_qi3pc->barConfigs();
178
5/22
✓ Branch 0 (62→63) taken 1 times.
✗ Branch 1 (62→73) not taken.
✓ Branch 2 (63→64) taken 1 times.
✗ Branch 3 (63→361) not taken.
✓ Branch 4 (65→66) taken 1 times.
✗ Branch 5 (65→359) not taken.
✓ Branch 6 (67→68) taken 1 times.
✗ Branch 7 (67→357) not taken.
✗ Branch 8 (70→71) not taken.
✓ Branch 9 (70→83) taken 1 times.
✗ Branch 10 (71→72) not taken.
✗ Branch 11 (71→544) not taken.
✗ Branch 12 (73→74) not taken.
✗ Branch 13 (73→367) not taken.
✗ Branch 14 (75→76) not taken.
✗ Branch 15 (75→365) not taken.
✗ Branch 16 (77→78) not taken.
✗ Branch 17 (77→363) not taken.
✗ Branch 18 (80→81) not taken.
✗ Branch 19 (80→83) not taken.
✗ Branch 20 (81→82) not taken.
✗ Branch 21 (81→544) not taken.
1 QVERIFY2(data.has_value(),
179 qPrintable(QString("::barConfigs returned empty data.")));
180
181
5/8
✓ Branch 0 (84→85) taken 1 times.
✗ Branch 1 (84→543) not taken.
✓ Branch 2 (85→86) taken 1 times.
✗ Branch 3 (85→541) not taken.
✓ Branch 4 (86→87) taken 1 times.
✗ Branch 5 (86→541) not taken.
✓ Branch 6 (299→88) taken 1 times.
✓ Branch 7 (299→300) taken 1 times.
2 for(const QString& key: data->first.keys()) {
182
8/32
✓ Branch 0 (89→90) taken 1 times.
✗ Branch 1 (89→540) not taken.
✓ Branch 2 (90→91) taken 1 times.
✗ Branch 3 (90→107) not taken.
✓ Branch 4 (91→92) taken 1 times.
✗ Branch 5 (91→379) not taken.
✓ Branch 6 (93→94) taken 1 times.
✗ Branch 7 (93→376) not taken.
✓ Branch 8 (95→96) taken 1 times.
✗ Branch 9 (95→373) not taken.
✓ Branch 10 (97→98) taken 1 times.
✗ Branch 11 (97→371) not taken.
✓ Branch 12 (99→100) taken 1 times.
✗ Branch 13 (99→369) not taken.
✗ Branch 14 (104→105) not taken.
✓ Branch 15 (104→123) taken 1 times.
✗ Branch 16 (105→106) not taken.
✗ Branch 17 (105→540) not taken.
✗ Branch 18 (107→108) not taken.
✗ Branch 19 (107→393) not taken.
✗ Branch 20 (109→110) not taken.
✗ Branch 21 (109→390) not taken.
✗ Branch 22 (111→112) not taken.
✗ Branch 23 (111→387) not taken.
✗ Branch 24 (113→114) not taken.
✗ Branch 25 (113→385) not taken.
✗ Branch 26 (115→116) not taken.
✗ Branch 27 (115→383) not taken.
✗ Branch 28 (120→121) not taken.
✗ Branch 29 (120→123) not taken.
✗ Branch 30 (121→122) not taken.
✗ Branch 31 (121→540) not taken.
3 QVERIFY2(bars.contains(key),
183 qPrintable(QString("::barConfigs returned unexpected data.\n"
184 "Expected one of %1\n"
185 "Found: %2")
186 .arg(ids)
187 .arg(key)));
188
189
13/48
✓ Branch 0 (123→124) taken 1 times.
✗ Branch 1 (123→400) not taken.
✓ Branch 2 (125→126) taken 1 times.
✗ Branch 3 (125→397) not taken.
✓ Branch 4 (126→127) taken 1 times.
✗ Branch 5 (126→397) not taken.
✓ Branch 6 (128→129) taken 1 times.
✗ Branch 7 (128→151) not taken.
✓ Branch 8 (129→130) taken 1 times.
✗ Branch 9 (129→418) not taken.
✓ Branch 10 (131→132) taken 1 times.
✗ Branch 11 (131→415) not taken.
✓ Branch 12 (134→135) taken 1 times.
✗ Branch 13 (134→409) not taken.
✓ Branch 14 (135→136) taken 1 times.
✗ Branch 15 (135→409) not taken.
✓ Branch 16 (136→137) taken 1 times.
✗ Branch 17 (136→407) not taken.
✓ Branch 18 (137→138) taken 1 times.
✗ Branch 19 (137→405) not taken.
✓ Branch 20 (139→140) taken 1 times.
✗ Branch 21 (139→403) not taken.
✓ Branch 22 (141→142) taken 1 times.
✗ Branch 23 (141→401) not taken.
✗ Branch 24 (148→149) not taken.
✓ Branch 25 (148→173) taken 1 times.
✗ Branch 26 (149→150) not taken.
✗ Branch 27 (149→540) not taken.
✗ Branch 28 (151→152) not taken.
✗ Branch 29 (151→439) not taken.
✗ Branch 30 (153→154) not taken.
✗ Branch 31 (153→436) not taken.
✗ Branch 32 (156→157) not taken.
✗ Branch 33 (156→430) not taken.
✗ Branch 34 (157→158) not taken.
✗ Branch 35 (157→430) not taken.
✗ Branch 36 (158→159) not taken.
✗ Branch 37 (158→428) not taken.
✗ Branch 38 (159→160) not taken.
✗ Branch 39 (159→426) not taken.
✗ Branch 40 (161→162) not taken.
✗ Branch 41 (161→424) not taken.
✗ Branch 42 (163→164) not taken.
✗ Branch 43 (163→422) not taken.
✗ Branch 44 (170→171) not taken.
✗ Branch 45 (170→173) not taken.
✗ Branch 46 (171→172) not taken.
✗ Branch 47 (171→540) not taken.
3 QVERIFY2(data->first[key] == QJsonValue::Null,
190 qPrintable(QString("::barConfigs returned unexpected config for %1\n"
191 "Excpected: QJsonValue::Undefined\n"
192 "Found\n====%2\n====")
193 .arg(key)
194 .arg(prettify(data->first[key].toObject()))));
195
196
1/2
✓ Branch 0 (173→174) taken 1 times.
✗ Branch 1 (173→540) not taken.
1 auto expected = test_qi3pc::data::i3messages::barConfig(key);
197
1/2
✓ Branch 0 (177→178) taken 1 times.
✗ Branch 1 (177→443) not taken.
1 m_connections.push_back(
198
2/6
✓ Branch 0 (176→177) taken 1 times.
✗ Branch 1 (176→445) not taken.
✗ Branch 2 (180→181) not taken.
✓ Branch 3 (180→182) taken 1 times.
✗ Branch 4 (447→448) not taken.
✗ Branch 5 (447→449) not taken.
2 connect(m_qi3pc, &qi3pc::barConfigUpdated, [=](const QJsonObject& config){
199
10/38
✓ Branch 0 (3→4) taken 1 times.
✗ Branch 1 (3→27) not taken.
✓ Branch 2 (4→5) taken 1 times.
✗ Branch 3 (4→70) not taken.
✓ Branch 4 (6→7) taken 1 times.
✗ Branch 5 (6→67) not taken.
✓ Branch 6 (8→9) taken 1 times.
✗ Branch 7 (8→63) not taken.
✓ Branch 8 (9→10) taken 1 times.
✗ Branch 9 (9→61) not taken.
✓ Branch 10 (11→12) taken 1 times.
✗ Branch 11 (11→57) not taken.
✓ Branch 12 (12→13) taken 1 times.
✗ Branch 13 (12→55) not taken.
✓ Branch 14 (14→15) taken 1 times.
✗ Branch 15 (14→53) not taken.
✓ Branch 16 (16→17) taken 1 times.
✗ Branch 17 (16→51) not taken.
✗ Branch 18 (24→25) not taken.
✓ Branch 19 (24→50) taken 1 times.
✗ Branch 20 (27→28) not taken.
✗ Branch 21 (27→94) not taken.
✗ Branch 22 (29→30) not taken.
✗ Branch 23 (29→91) not taken.
✗ Branch 24 (31→32) not taken.
✗ Branch 25 (31→87) not taken.
✗ Branch 26 (32→33) not taken.
✗ Branch 27 (32→85) not taken.
✗ Branch 28 (34→35) not taken.
✗ Branch 29 (34→81) not taken.
✗ Branch 30 (35→36) not taken.
✗ Branch 31 (35→79) not taken.
✗ Branch 32 (37→38) not taken.
✗ Branch 33 (37→77) not taken.
✗ Branch 34 (39→40) not taken.
✗ Branch 35 (39→75) not taken.
✗ Branch 36 (47→48) not taken.
✗ Branch 37 (47→50) not taken.
4 QVERIFY2(config == expected,
200 qPrintable(QString("::barConfigUpdated emiitted with unexpected data for %1\n"
201 "Expected\n====%2\n====\n"
202 "Found\n====%3\n====\n")
203 .arg(key)
204 .arg(prettify(expected))
205 .arg(prettify(config))));
206 }));
207
208
1/2
✓ Branch 0 (182→183) taken 1 times.
✗ Branch 1 (182→538) not taken.
1 QSignalSpy updatedConfigSpy(m_qi3pc, &qi3pc::barConfigUpdated);
209
1/2
✓ Branch 0 (183→184) taken 1 times.
✗ Branch 1 (183→536) not taken.
1 m_qi3pc->fetchBarConfig(key);
210
6/24
✓ Branch 0 (184→185) taken 1 times.
✗ Branch 1 (184→536) not taken.
✓ Branch 2 (185→186) taken 1 times.
✗ Branch 3 (185→196) not taken.
✓ Branch 4 (186→187) taken 1 times.
✗ Branch 5 (186→456) not taken.
✓ Branch 6 (188→189) taken 1 times.
✗ Branch 7 (188→454) not taken.
✓ Branch 8 (190→191) taken 1 times.
✗ Branch 9 (190→452) not taken.
✗ Branch 10 (193→194) not taken.
✓ Branch 11 (193→206) taken 1 times.
✗ Branch 12 (194→195) not taken.
✗ Branch 13 (194→536) not taken.
✗ Branch 14 (196→197) not taken.
✗ Branch 15 (196→462) not taken.
✗ Branch 16 (198→199) not taken.
✗ Branch 17 (198→460) not taken.
✗ Branch 18 (200→201) not taken.
✗ Branch 19 (200→458) not taken.
✗ Branch 20 (203→204) not taken.
✗ Branch 21 (203→206) not taken.
✗ Branch 22 (204→205) not taken.
✗ Branch 23 (204→536) not taken.
1 QVERIFY2(updatedConfigSpy.wait(1000),
211 qPrintable(QString("::barConfigUpdated was not emitted (1000ms timeout)")));
212
213 1 auto count = updatedConfigSpy.count();
214
5/22
✓ Branch 0 (207→208) taken 1 times.
✗ Branch 1 (207→218) not taken.
✓ Branch 2 (208→209) taken 1 times.
✗ Branch 3 (208→468) not taken.
✓ Branch 4 (210→211) taken 1 times.
✗ Branch 5 (210→466) not taken.
✓ Branch 6 (212→213) taken 1 times.
✗ Branch 7 (212→464) not taken.
✗ Branch 8 (215→216) not taken.
✓ Branch 9 (215→228) taken 1 times.
✗ Branch 10 (216→217) not taken.
✗ Branch 11 (216→536) not taken.
✗ Branch 12 (218→219) not taken.
✗ Branch 13 (218→474) not taken.
✗ Branch 14 (220→221) not taken.
✗ Branch 15 (220→472) not taken.
✗ Branch 16 (222→223) not taken.
✗ Branch 17 (222→470) not taken.
✗ Branch 18 (225→226) not taken.
✗ Branch 19 (225→228) not taken.
✗ Branch 20 (226→227) not taken.
✗ Branch 21 (226→536) not taken.
1 QVERIFY2(count == 1,
215 qPrintable(QString("::barConfigUpdated was emitted %1 times - expected 1 emission")));
216
217
218
15/56
✓ Branch 0 (228→229) taken 1 times.
✗ Branch 1 (228→479) not taken.
✓ Branch 2 (230→231) taken 1 times.
✗ Branch 3 (230→476) not taken.
✓ Branch 4 (231→232) taken 1 times.
✗ Branch 5 (231→476) not taken.
✓ Branch 6 (233→234) taken 1 times.
✗ Branch 7 (233→261) not taken.
✓ Branch 8 (234→235) taken 1 times.
✗ Branch 9 (234→503) not taken.
✓ Branch 10 (236→237) taken 1 times.
✗ Branch 11 (236→500) not taken.
✓ Branch 12 (238→239) taken 1 times.
✗ Branch 13 (238→496) not taken.
✓ Branch 14 (239→240) taken 1 times.
✗ Branch 15 (239→494) not taken.
✓ Branch 16 (242→243) taken 1 times.
✗ Branch 17 (242→488) not taken.
✓ Branch 18 (243→244) taken 1 times.
✗ Branch 19 (243→488) not taken.
✓ Branch 20 (244→245) taken 1 times.
✗ Branch 21 (244→486) not taken.
✓ Branch 22 (245→246) taken 1 times.
✗ Branch 23 (245→484) not taken.
✓ Branch 24 (247→248) taken 1 times.
✗ Branch 25 (247→482) not taken.
✓ Branch 26 (249→250) taken 1 times.
✗ Branch 27 (249→480) not taken.
✗ Branch 28 (258→259) not taken.
✓ Branch 29 (258→288) taken 1 times.
✗ Branch 30 (259→260) not taken.
✗ Branch 31 (259→536) not taken.
✗ Branch 32 (261→262) not taken.
✗ Branch 33 (261→531) not taken.
✗ Branch 34 (263→264) not taken.
✗ Branch 35 (263→528) not taken.
✗ Branch 36 (265→266) not taken.
✗ Branch 37 (265→524) not taken.
✗ Branch 38 (266→267) not taken.
✗ Branch 39 (266→522) not taken.
✗ Branch 40 (269→270) not taken.
✗ Branch 41 (269→516) not taken.
✗ Branch 42 (270→271) not taken.
✗ Branch 43 (270→516) not taken.
✗ Branch 44 (271→272) not taken.
✗ Branch 45 (271→514) not taken.
✗ Branch 46 (272→273) not taken.
✗ Branch 47 (272→512) not taken.
✗ Branch 48 (274→275) not taken.
✗ Branch 49 (274→510) not taken.
✗ Branch 50 (276→277) not taken.
✗ Branch 51 (276→508) not taken.
✗ Branch 52 (285→286) not taken.
✗ Branch 53 (285→288) not taken.
✗ Branch 54 (286→287) not taken.
✗ Branch 55 (286→536) not taken.
4 QVERIFY2(data->first[key] == QJsonValue::Null,
219 qPrintable(QString("::barConfigs returned unexpected config for %1\n"
220 "Excpected\n====%2\n====\n"
221 "Found\n====%3\n====")
222 .arg(key)
223 .arg(prettify(expected))
224 .arg(prettify(data->first[key].toObject()))));
225
3/6
✓ Branch 0 (290→291) taken 1 times.
✗ Branch 1 (290→292) not taken.
✓ Branch 2 (294→295) taken 1 times.
✗ Branch 3 (294→297) not taken.
✓ Branch 4 (302→303) taken 1 times.
✗ Branch 5 (302→305) not taken.
2 }
226
4/8
✓ Branch 0 (307→308) taken 1 times.
✗ Branch 1 (307→309) not taken.
✓ Branch 2 (311→312) taken 1 times.
✗ Branch 3 (311→313) not taken.
✓ Branch 4 (315→316) taken 1 times.
✗ Branch 5 (315→317) not taken.
✓ Branch 6 (319→320) taken 1 times.
✗ Branch 7 (319→322) not taken.
1 }
227
228 void
229 1 TestQi3pc::test_fetchVersion() {
230 2 fetchTest(
231
1/2
✓ Branch 0 (4→5) taken 1 times.
✗ Branch 1 (4→8) not taken.
1 *m_qi3pc,
232
2/4
✓ Branch 0 (2→3) taken 1 times.
✗ Branch 1 (2→12) not taken.
✓ Branch 2 (3→4) taken 1 times.
✗ Branch 3 (3→10) not taken.
2 QJsonDocument::fromJson(test_qi3pc::data::i3messages::version).object(),
233 &qi3pc::fetchVersion,
234 &qi3pc::version,
235 &qi3pc::versionUpdated,
236 "versionUpdated"
237 );
238 1 }
239
240 void
241 1 TestQi3pc::test_fetchBindingModes() {
242 2 fetchTest(
243
1/2
✓ Branch 0 (4→5) taken 1 times.
✗ Branch 1 (4→8) not taken.
1 *m_qi3pc,
244
2/4
✓ Branch 0 (2→3) taken 1 times.
✗ Branch 1 (2→12) not taken.
✓ Branch 2 (3→4) taken 1 times.
✗ Branch 3 (3→10) not taken.
2 QJsonDocument::fromJson(test_qi3pc::data::i3messages::bindingModes).array(),
245 &qi3pc::fetchBindingModes,
246 &qi3pc::bindingModes,
247 &qi3pc::bindingModesUpdated,
248 "bindingModesUpdated"
249 );
250 1 }
251
252 void
253 1 TestQi3pc::test_fetchConfig() {
254 2 fetchTest(
255
1/2
✓ Branch 0 (4→5) taken 1 times.
✗ Branch 1 (4→8) not taken.
1 *m_qi3pc,
256
2/4
✓ Branch 0 (2→3) taken 1 times.
✗ Branch 1 (2→12) not taken.
✓ Branch 2 (3→4) taken 1 times.
✗ Branch 3 (3→10) not taken.
2 QJsonDocument::fromJson(test_qi3pc::data::i3messages::config).object(),
257 &qi3pc::fetchConfig,
258 &qi3pc::config,
259 &qi3pc::configUpdated,
260 "configUpdated"
261 );
262 1 }
263
264 void
265 1 TestQi3pc::test_fetchBindingState() {
266 2 fetchTest(
267
1/2
✓ Branch 0 (3→4) taken 1 times.
✗ Branch 1 (3→6) not taken.
1 *m_qi3pc,
268
1/2
✓ Branch 0 (2→3) taken 1 times.
✗ Branch 1 (2→8) not taken.
2 QString::fromUtf8(test_qi3pc::data::i3messages::parsedBindingState),
269 &qi3pc::fetchBindingState,
270 &qi3pc::bindingState,
271 &qi3pc::bindingStateUpdated,
272 "bindingStateUpdated"
273 );
274 1 }
275
276
5/10
✓ Branch 0 (3→4) taken 1 times.
✗ Branch 1 (3→17) not taken.
✓ Branch 2 (4→5) taken 1 times.
✗ Branch 3 (4→15) not taken.
✓ Branch 4 (5→6) taken 1 times.
✗ Branch 5 (5→15) not taken.
✓ Branch 6 (6→7) taken 1 times.
✗ Branch 7 (6→13) not taken.
✓ Branch 8 (7→8) taken 1 times.
✗ Branch 9 (7→13) not taken.
1 QTEST_MAIN(TestQi3pc)
277