Directory: | ./ |
---|---|
File: | autotests/client/fake_input.cpp |
Date: | 2024-01-22 17:25:27 |
Exec | Total | Coverage | |
---|---|---|---|
Lines: | 306 | 306 | 100.0% |
Branches: | 570 | 1138 | 50.1% |
Line | Branch | Exec | Source |
---|---|---|---|
1 | /******************************************************************** | ||
2 | Copyright 2016 Martin Gräßlin <mgraesslin@kde.org> | ||
3 | |||
4 | This library is free software; you can redistribute it and/or | ||
5 | modify it under the terms of the GNU Lesser General Public | ||
6 | License as published by the Free Software Foundation; either | ||
7 | version 2.1 of the License, or (at your option) version 3, or any | ||
8 | later version accepted by the membership of KDE e.V. (or its | ||
9 | successor approved by the membership of KDE e.V.), which shall | ||
10 | act as a proxy defined in Section 6 of version 3 of the license. | ||
11 | |||
12 | This library is distributed in the hope that it will be useful, | ||
13 | but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
14 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU | ||
15 | Lesser General Public License for more details. | ||
16 | |||
17 | You should have received a copy of the GNU Lesser General Public | ||
18 | License along with this library. If not, see <http://www.gnu.org/licenses/>. | ||
19 | *********************************************************************/ | ||
20 | #include <QtTest> | ||
21 | |||
22 | #include "../../src/client/connection_thread.h" | ||
23 | #include "../../src/client/event_queue.h" | ||
24 | #include "../../src/client/fakeinput.h" | ||
25 | #include "../../src/client/registry.h" | ||
26 | |||
27 | #include "../../server/display.h" | ||
28 | #include "../../server/fake_input.h" | ||
29 | |||
30 | #include "../../tests/globals.h" | ||
31 | |||
32 | #include <linux/input.h> | ||
33 | |||
34 | using namespace Wrapland::Client; | ||
35 | using namespace Wrapland::Server; | ||
36 | namespace Clt = Wrapland::Client; | ||
37 | namespace Srv = Wrapland::Server; | ||
38 | |||
39 |
3/6✗ Branch 0 not taken.
✓ Branch 1 taken 1 times.
✓ Branch 2 taken 1 times.
✗ Branch 3 not taken.
✓ Branch 4 taken 1 times.
✗ Branch 5 not taken.
|
1 | Q_DECLARE_METATYPE(Qt::MouseButton) |
40 | |||
41 | 1 | class FakeInputTest : public QObject | |
42 | { | ||
43 | Q_OBJECT | ||
44 | private Q_SLOTS: | ||
45 | void init(); | ||
46 | void cleanup(); | ||
47 | |||
48 | void testAuthenticate(); | ||
49 | void testMotion(); | ||
50 | void testMotionAbsolute(); | ||
51 | void testPointerButtonQt_data(); | ||
52 | void testPointerButtonQt(); | ||
53 | void testPointerButtonLinux_data(); | ||
54 | void testPointerButtonLinux(); | ||
55 | void testAxis_data(); | ||
56 | void testAxis(); | ||
57 | void testTouch(); | ||
58 | void testKeyboardKeyLinux_data(); | ||
59 | void testKeyboardKeyLinux(); | ||
60 | |||
61 | private: | ||
62 | 1 | struct { | |
63 | std::unique_ptr<Wrapland::Server::Display> display; | ||
64 | Wrapland::Server::globals globals; | ||
65 | 1 | Wrapland::Server::FakeInputDevice* device{nullptr}; | |
66 | } server; | ||
67 | |||
68 | 1 | ConnectionThread* m_connection = nullptr; | |
69 | 1 | QThread* m_thread = nullptr; | |
70 | 1 | EventQueue* m_queue = nullptr; | |
71 | 1 | Clt::FakeInput* m_fakeInput = nullptr; | |
72 | }; | ||
73 | |||
74 | constexpr auto socket_name{"wrapland-test-fake-input-0"}; | ||
75 | |||
76 | 23 | void FakeInputTest::init() | |
77 | { | ||
78 | 23 | server.display = std::make_unique<Wrapland::Server::Display>(); | |
79 |
2/4✓ Branch 0 taken 23 times.
✗ Branch 1 not taken.
✓ Branch 2 taken 23 times.
✗ Branch 3 not taken.
|
23 | server.display->set_socket_name(std::string(socket_name)); |
80 | 23 | server.display->start(); | |
81 |
1/2✓ Branch 0 taken 23 times.
✗ Branch 1 not taken.
|
23 | QVERIFY(server.display->running()); |
82 | |||
83 | 23 | server.display->createShm(); | |
84 | 23 | server.globals.fake_input = std::make_unique<Wrapland::Server::FakeInput>(server.display.get()); | |
85 | |||
86 | 23 | QSignalSpy deviceCreatedSpy(server.globals.fake_input.get(), &Srv::FakeInput::deviceCreated); | |
87 |
3/6✓ Branch 0 taken 23 times.
✗ Branch 1 not taken.
✓ Branch 2 taken 23 times.
✗ Branch 3 not taken.
✓ Branch 4 taken 23 times.
✗ Branch 5 not taken.
|
23 | QVERIFY(deviceCreatedSpy.isValid()); |
88 | |||
89 | // setup connection | ||
90 |
2/4✓ Branch 0 taken 23 times.
✗ Branch 1 not taken.
✓ Branch 2 taken 23 times.
✗ Branch 3 not taken.
|
23 | m_connection = new Wrapland::Client::ConnectionThread; |
91 |
1/2✓ Branch 0 taken 23 times.
✗ Branch 1 not taken.
|
23 | QSignalSpy connectedSpy(m_connection, &ConnectionThread::establishedChanged); |
92 |
3/6✓ Branch 0 taken 23 times.
✗ Branch 1 not taken.
✓ Branch 2 taken 23 times.
✗ Branch 3 not taken.
✓ Branch 4 taken 23 times.
✗ Branch 5 not taken.
|
23 | QVERIFY(connectedSpy.isValid()); |
93 |
2/4✓ Branch 0 taken 23 times.
✗ Branch 1 not taken.
✓ Branch 2 taken 23 times.
✗ Branch 3 not taken.
|
23 | m_connection->setSocketName(socket_name); |
94 | |||
95 |
2/4✓ Branch 0 taken 23 times.
✗ Branch 1 not taken.
✓ Branch 2 taken 23 times.
✗ Branch 3 not taken.
|
23 | m_thread = new QThread(this); |
96 |
1/2✓ Branch 0 taken 23 times.
✗ Branch 1 not taken.
|
23 | m_connection->moveToThread(m_thread); |
97 |
1/2✓ Branch 0 taken 23 times.
✗ Branch 1 not taken.
|
23 | m_thread->start(); |
98 | |||
99 |
1/2✓ Branch 0 taken 23 times.
✗ Branch 1 not taken.
|
23 | m_connection->establishConnection(); |
100 |
6/12✓ Branch 0 taken 23 times.
✗ Branch 1 not taken.
✓ Branch 2 taken 23 times.
✗ Branch 3 not taken.
✓ Branch 4 taken 23 times.
✗ Branch 5 not taken.
✓ Branch 6 taken 23 times.
✗ Branch 7 not taken.
✓ Branch 8 taken 23 times.
✗ Branch 9 not taken.
✗ Branch 10 not taken.
✓ Branch 11 taken 23 times.
|
23 | QVERIFY(connectedSpy.count() || connectedSpy.wait()); |
101 |
2/4✓ Branch 0 taken 23 times.
✗ Branch 1 not taken.
✗ Branch 2 not taken.
✓ Branch 3 taken 23 times.
|
23 | QCOMPARE(connectedSpy.count(), 1); |
102 | |||
103 |
2/4✓ Branch 0 taken 23 times.
✗ Branch 1 not taken.
✓ Branch 2 taken 23 times.
✗ Branch 3 not taken.
|
23 | m_queue = new EventQueue(this); |
104 |
1/2✓ Branch 0 taken 23 times.
✗ Branch 1 not taken.
|
23 | m_queue->setup(m_connection); |
105 | |||
106 |
1/2✓ Branch 0 taken 23 times.
✗ Branch 1 not taken.
|
23 | Registry registry; |
107 |
1/2✓ Branch 0 taken 23 times.
✗ Branch 1 not taken.
|
23 | QSignalSpy interfacesAnnouncedSpy(®istry, &Registry::interfacesAnnounced); |
108 |
3/6✓ Branch 0 taken 23 times.
✗ Branch 1 not taken.
✓ Branch 2 taken 23 times.
✗ Branch 3 not taken.
✓ Branch 4 taken 23 times.
✗ Branch 5 not taken.
|
23 | QVERIFY(interfacesAnnouncedSpy.isValid()); |
109 |
1/2✓ Branch 0 taken 23 times.
✗ Branch 1 not taken.
|
23 | registry.setEventQueue(m_queue); |
110 |
1/2✓ Branch 0 taken 23 times.
✗ Branch 1 not taken.
|
23 | registry.create(m_connection); |
111 |
3/6✓ Branch 0 taken 23 times.
✗ Branch 1 not taken.
✓ Branch 2 taken 23 times.
✗ Branch 3 not taken.
✓ Branch 4 taken 23 times.
✗ Branch 5 not taken.
|
23 | QVERIFY(registry.isValid()); |
112 |
1/2✓ Branch 0 taken 23 times.
✗ Branch 1 not taken.
|
23 | registry.setup(); |
113 |
5/10✓ Branch 0 taken 23 times.
✗ Branch 1 not taken.
✓ Branch 2 taken 23 times.
✗ Branch 3 not taken.
✓ Branch 4 taken 23 times.
✗ Branch 5 not taken.
✓ Branch 6 taken 23 times.
✗ Branch 7 not taken.
✗ Branch 8 not taken.
✓ Branch 9 taken 23 times.
|
23 | QVERIFY(interfacesAnnouncedSpy.wait()); |
114 | |||
115 | 23 | m_fakeInput | |
116 |
2/4✓ Branch 0 taken 23 times.
✗ Branch 1 not taken.
✓ Branch 2 taken 23 times.
✗ Branch 3 not taken.
|
23 | = registry.createFakeInput(registry.interface(Registry::Interface::FakeInput).name, |
117 |
1/2✓ Branch 0 taken 23 times.
✗ Branch 1 not taken.
|
23 | registry.interface(Registry::Interface::FakeInput).version, |
118 | this); | ||
119 |
3/6✓ Branch 0 taken 23 times.
✗ Branch 1 not taken.
✓ Branch 2 taken 23 times.
✗ Branch 3 not taken.
✓ Branch 4 taken 23 times.
✗ Branch 5 not taken.
|
23 | QVERIFY(m_fakeInput->isValid()); |
120 | |||
121 |
5/10✓ Branch 0 taken 23 times.
✗ Branch 1 not taken.
✓ Branch 2 taken 23 times.
✗ Branch 3 not taken.
✓ Branch 4 taken 23 times.
✗ Branch 5 not taken.
✓ Branch 6 taken 23 times.
✗ Branch 7 not taken.
✗ Branch 8 not taken.
✓ Branch 9 taken 23 times.
|
23 | QVERIFY(deviceCreatedSpy.wait()); |
122 |
3/6✓ Branch 0 taken 23 times.
✗ Branch 1 not taken.
✓ Branch 2 taken 23 times.
✗ Branch 3 not taken.
✓ Branch 4 taken 23 times.
✗ Branch 5 not taken.
|
23 | server.device = deviceCreatedSpy.first().first().value<FakeInputDevice*>(); |
123 |
2/4✓ Branch 0 taken 23 times.
✗ Branch 1 not taken.
✓ Branch 2 taken 23 times.
✗ Branch 3 not taken.
|
23 | QVERIFY(server.device); |
124 |
1/2✗ Branch 0 not taken.
✓ Branch 1 taken 23 times.
|
23 | } |
125 | |||
126 | 23 | void FakeInputTest::cleanup() | |
127 | { | ||
128 | #define CLEANUP(variable) \ | ||
129 | if (variable) { \ | ||
130 | delete variable; \ | ||
131 | variable = nullptr; \ | ||
132 | } | ||
133 |
3/4✓ Branch 0 taken 1 times.
✓ Branch 1 taken 22 times.
✗ Branch 2 not taken.
✓ Branch 3 taken 22 times.
|
23 | CLEANUP(m_fakeInput) |
134 |
2/4✗ Branch 0 not taken.
✓ Branch 1 taken 23 times.
✗ Branch 2 not taken.
✓ Branch 3 taken 23 times.
|
23 | CLEANUP(m_queue) |
135 |
1/2✗ Branch 0 not taken.
✓ Branch 1 taken 23 times.
|
23 | if (m_connection) { |
136 | 23 | m_connection->deleteLater(); | |
137 | 23 | m_connection = nullptr; | |
138 | 23 | } | |
139 |
1/2✗ Branch 0 not taken.
✓ Branch 1 taken 23 times.
|
23 | if (m_thread) { |
140 | 23 | m_thread->quit(); | |
141 | 23 | m_thread->wait(); | |
142 |
1/2✗ Branch 0 not taken.
✓ Branch 1 taken 23 times.
|
23 | delete m_thread; |
143 | 23 | m_thread = nullptr; | |
144 | 23 | } | |
145 | #undef CLEANUP | ||
146 | |||
147 |
1/2✓ Branch 0 taken 23 times.
✗ Branch 1 not taken.
|
23 | server = {}; |
148 | 23 | } | |
149 | |||
150 | 1 | void FakeInputTest::testAuthenticate() | |
151 | { | ||
152 | // this test verifies that an authenticate request is passed to the Server | ||
153 |
1/2✓ Branch 0 taken 1 times.
✗ Branch 1 not taken.
|
1 | QVERIFY(!server.device->isAuthenticated()); |
154 | 1 | QSignalSpy authenticationRequestedSpy(server.device, &FakeInputDevice::authenticationRequested); | |
155 |
3/6✓ Branch 0 taken 1 times.
✗ Branch 1 not taken.
✓ Branch 2 taken 1 times.
✗ Branch 3 not taken.
✓ Branch 4 taken 1 times.
✗ Branch 5 not taken.
|
1 | QVERIFY(authenticationRequestedSpy.isValid()); |
156 | |||
157 |
5/10✓ Branch 0 taken 1 times.
✗ Branch 1 not taken.
✓ Branch 2 taken 1 times.
✗ Branch 3 not taken.
✓ Branch 4 taken 1 times.
✗ Branch 5 not taken.
✓ Branch 6 taken 1 times.
✗ Branch 7 not taken.
✓ Branch 8 taken 1 times.
✗ Branch 9 not taken.
|
1 | m_fakeInput->authenticate(QStringLiteral("test-case"), QStringLiteral("to test")); |
158 |
5/10✓ Branch 0 taken 1 times.
✗ Branch 1 not taken.
✓ Branch 2 taken 1 times.
✗ Branch 3 not taken.
✓ Branch 4 taken 1 times.
✗ Branch 5 not taken.
✓ Branch 6 taken 1 times.
✗ Branch 7 not taken.
✗ Branch 8 not taken.
✓ Branch 9 taken 1 times.
|
1 | QVERIFY(authenticationRequestedSpy.wait()); |
159 |
2/4✓ Branch 0 taken 1 times.
✗ Branch 1 not taken.
✗ Branch 2 not taken.
✓ Branch 3 taken 1 times.
|
1 | QCOMPARE(authenticationRequestedSpy.count(), 1); |
160 |
6/12✓ Branch 0 taken 1 times.
✗ Branch 1 not taken.
✓ Branch 2 taken 1 times.
✗ Branch 3 not taken.
✓ Branch 4 taken 1 times.
✗ Branch 5 not taken.
✓ Branch 6 taken 1 times.
✗ Branch 7 not taken.
✓ Branch 8 taken 1 times.
✗ Branch 9 not taken.
✗ Branch 10 not taken.
✓ Branch 11 taken 1 times.
|
1 | QCOMPARE(authenticationRequestedSpy.first().at(0).toString(), QStringLiteral("test-case")); |
161 |
6/12✓ Branch 0 taken 1 times.
✗ Branch 1 not taken.
✓ Branch 2 taken 1 times.
✗ Branch 3 not taken.
✓ Branch 4 taken 1 times.
✗ Branch 5 not taken.
✓ Branch 6 taken 1 times.
✗ Branch 7 not taken.
✓ Branch 8 taken 1 times.
✗ Branch 9 not taken.
✗ Branch 10 not taken.
✓ Branch 11 taken 1 times.
|
1 | QCOMPARE(authenticationRequestedSpy.first().at(1).toString(), QStringLiteral("to test")); |
162 |
1/2✓ Branch 0 taken 1 times.
✗ Branch 1 not taken.
|
1 | server.device->setAuthentication(true); |
163 |
3/6✓ Branch 0 taken 1 times.
✗ Branch 1 not taken.
✓ Branch 2 taken 1 times.
✗ Branch 3 not taken.
✓ Branch 4 taken 1 times.
✗ Branch 5 not taken.
|
1 | QVERIFY(server.device->isAuthenticated()); |
164 | |||
165 |
1/2✓ Branch 0 taken 1 times.
✗ Branch 1 not taken.
|
1 | QSignalSpy device_destroy_spy(server.globals.fake_input.get(), |
166 | &Wrapland::Server::FakeInput::device_destroyed); | ||
167 |
3/6✓ Branch 0 taken 1 times.
✗ Branch 1 not taken.
✓ Branch 2 taken 1 times.
✗ Branch 3 not taken.
✓ Branch 4 taken 1 times.
✗ Branch 5 not taken.
|
1 | QVERIFY(device_destroy_spy.isValid()); |
168 | |||
169 |
1/2✓ Branch 0 taken 1 times.
✗ Branch 1 not taken.
|
1 | delete m_fakeInput; |
170 | 1 | m_fakeInput = nullptr; | |
171 | |||
172 |
2/4✓ Branch 0 taken 1 times.
✗ Branch 1 not taken.
✓ Branch 2 taken 1 times.
✗ Branch 3 not taken.
|
1 | QEXPECT_FAIL("", "Without the dtor in the protocol nothing is sent.", Continue); |
173 |
3/6✓ Branch 0 taken 1 times.
✗ Branch 1 not taken.
✓ Branch 2 taken 1 times.
✗ Branch 3 not taken.
✓ Branch 4 taken 1 times.
✗ Branch 5 not taken.
|
1 | QVERIFY(device_destroy_spy.wait(500)); |
174 | 1 | server.device = nullptr; | |
175 |
1/2✗ Branch 0 not taken.
✓ Branch 1 taken 1 times.
|
1 | } |
176 | |||
177 | 1 | void FakeInputTest::testMotion() | |
178 | { | ||
179 | // this test verifies that motion is properly passed to the server | ||
180 |
1/2✓ Branch 0 taken 1 times.
✗ Branch 1 not taken.
|
1 | QVERIFY(!server.device->isAuthenticated()); |
181 | 1 | QSignalSpy motionSpy(server.device, &FakeInputDevice::pointerMotionRequested); | |
182 |
3/6✓ Branch 0 taken 1 times.
✗ Branch 1 not taken.
✓ Branch 2 taken 1 times.
✗ Branch 3 not taken.
✓ Branch 4 taken 1 times.
✗ Branch 5 not taken.
|
1 | QVERIFY(motionSpy.isValid()); |
183 | |||
184 | // without an authentication we shouldn't get the signals | ||
185 |
1/2✓ Branch 0 taken 1 times.
✗ Branch 1 not taken.
|
1 | m_fakeInput->requestPointerMove(QSizeF(1, 2)); |
186 |
3/6✓ Branch 0 taken 1 times.
✗ Branch 1 not taken.
✓ Branch 2 taken 1 times.
✗ Branch 3 not taken.
✓ Branch 4 taken 1 times.
✗ Branch 5 not taken.
|
1 | QVERIFY(!motionSpy.wait(100)); |
187 | |||
188 | // now let's authenticate the interface | ||
189 |
1/2✓ Branch 0 taken 1 times.
✗ Branch 1 not taken.
|
1 | server.device->setAuthentication(true); |
190 |
1/2✓ Branch 0 taken 1 times.
✗ Branch 1 not taken.
|
1 | m_fakeInput->requestPointerMove(QSizeF(1, 2)); |
191 |
5/10✓ Branch 0 taken 1 times.
✗ Branch 1 not taken.
✓ Branch 2 taken 1 times.
✗ Branch 3 not taken.
✓ Branch 4 taken 1 times.
✗ Branch 5 not taken.
✓ Branch 6 taken 1 times.
✗ Branch 7 not taken.
✗ Branch 8 not taken.
✓ Branch 9 taken 1 times.
|
1 | QVERIFY(motionSpy.wait()); |
192 |
2/4✓ Branch 0 taken 1 times.
✗ Branch 1 not taken.
✗ Branch 2 not taken.
✓ Branch 3 taken 1 times.
|
1 | QCOMPARE(motionSpy.count(), 1); |
193 |
5/10✓ Branch 0 taken 1 times.
✗ Branch 1 not taken.
✓ Branch 2 taken 1 times.
✗ Branch 3 not taken.
✓ Branch 4 taken 1 times.
✗ Branch 5 not taken.
✓ Branch 6 taken 1 times.
✗ Branch 7 not taken.
✗ Branch 8 not taken.
✓ Branch 9 taken 1 times.
|
1 | QCOMPARE(motionSpy.last().first().toSizeF(), QSizeF(1, 2)); |
194 | |||
195 | // just for the fun: once more | ||
196 |
1/2✓ Branch 0 taken 1 times.
✗ Branch 1 not taken.
|
1 | m_fakeInput->requestPointerMove(QSizeF(0, 0)); |
197 |
5/10✓ Branch 0 taken 1 times.
✗ Branch 1 not taken.
✓ Branch 2 taken 1 times.
✗ Branch 3 not taken.
✓ Branch 4 taken 1 times.
✗ Branch 5 not taken.
✓ Branch 6 taken 1 times.
✗ Branch 7 not taken.
✗ Branch 8 not taken.
✓ Branch 9 taken 1 times.
|
1 | QVERIFY(motionSpy.wait()); |
198 |
2/4✓ Branch 0 taken 1 times.
✗ Branch 1 not taken.
✗ Branch 2 not taken.
✓ Branch 3 taken 1 times.
|
1 | QCOMPARE(motionSpy.count(), 2); |
199 |
5/10✓ Branch 0 taken 1 times.
✗ Branch 1 not taken.
✓ Branch 2 taken 1 times.
✗ Branch 3 not taken.
✓ Branch 4 taken 1 times.
✗ Branch 5 not taken.
✓ Branch 6 taken 1 times.
✗ Branch 7 not taken.
✗ Branch 8 not taken.
✓ Branch 9 taken 1 times.
|
1 | QCOMPARE(motionSpy.last().first().toSizeF(), QSizeF(0, 0)); |
200 |
1/2✗ Branch 0 not taken.
✓ Branch 1 taken 1 times.
|
1 | } |
201 | |||
202 | 1 | void FakeInputTest::testMotionAbsolute() | |
203 | { | ||
204 | // this test verifies that motion is properly passed to the server | ||
205 |
1/2✓ Branch 0 taken 1 times.
✗ Branch 1 not taken.
|
1 | QVERIFY(!server.device->isAuthenticated()); |
206 | 1 | QSignalSpy motionSpy(server.device, &FakeInputDevice::pointerMotionAbsoluteRequested); | |
207 |
3/6✓ Branch 0 taken 1 times.
✗ Branch 1 not taken.
✓ Branch 2 taken 1 times.
✗ Branch 3 not taken.
✓ Branch 4 taken 1 times.
✗ Branch 5 not taken.
|
1 | QVERIFY(motionSpy.isValid()); |
208 | |||
209 | // without an authentication we shouldn't get the signals | ||
210 |
1/2✓ Branch 0 taken 1 times.
✗ Branch 1 not taken.
|
1 | m_fakeInput->requestPointerMoveAbsolute(QPointF(1, 2)); |
211 |
3/6✓ Branch 0 taken 1 times.
✗ Branch 1 not taken.
✓ Branch 2 taken 1 times.
✗ Branch 3 not taken.
✓ Branch 4 taken 1 times.
✗ Branch 5 not taken.
|
1 | QVERIFY(!motionSpy.wait(100)); |
212 | |||
213 | // now let's authenticate the interface | ||
214 |
1/2✓ Branch 0 taken 1 times.
✗ Branch 1 not taken.
|
1 | server.device->setAuthentication(true); |
215 |
1/2✓ Branch 0 taken 1 times.
✗ Branch 1 not taken.
|
1 | m_fakeInput->requestPointerMoveAbsolute(QPointF(1, 2)); |
216 |
5/10✓ Branch 0 taken 1 times.
✗ Branch 1 not taken.
✓ Branch 2 taken 1 times.
✗ Branch 3 not taken.
✓ Branch 4 taken 1 times.
✗ Branch 5 not taken.
✓ Branch 6 taken 1 times.
✗ Branch 7 not taken.
✗ Branch 8 not taken.
✓ Branch 9 taken 1 times.
|
1 | QVERIFY(motionSpy.wait()); |
217 |
2/4✓ Branch 0 taken 1 times.
✗ Branch 1 not taken.
✗ Branch 2 not taken.
✓ Branch 3 taken 1 times.
|
1 | QCOMPARE(motionSpy.count(), 1); |
218 |
5/10✓ Branch 0 taken 1 times.
✗ Branch 1 not taken.
✓ Branch 2 taken 1 times.
✗ Branch 3 not taken.
✓ Branch 4 taken 1 times.
✗ Branch 5 not taken.
✓ Branch 6 taken 1 times.
✗ Branch 7 not taken.
✗ Branch 8 not taken.
✓ Branch 9 taken 1 times.
|
1 | QCOMPARE(motionSpy.last().first().toPointF(), QPointF(1, 2)); |
219 | |||
220 | // just for the fun: once more | ||
221 |
1/2✓ Branch 0 taken 1 times.
✗ Branch 1 not taken.
|
1 | m_fakeInput->requestPointerMoveAbsolute(QPointF(0, 0)); |
222 |
5/10✓ Branch 0 taken 1 times.
✗ Branch 1 not taken.
✓ Branch 2 taken 1 times.
✗ Branch 3 not taken.
✓ Branch 4 taken 1 times.
✗ Branch 5 not taken.
✓ Branch 6 taken 1 times.
✗ Branch 7 not taken.
✗ Branch 8 not taken.
✓ Branch 9 taken 1 times.
|
1 | QVERIFY(motionSpy.wait()); |
223 |
2/4✓ Branch 0 taken 1 times.
✗ Branch 1 not taken.
✗ Branch 2 not taken.
✓ Branch 3 taken 1 times.
|
1 | QCOMPARE(motionSpy.count(), 2); |
224 |
5/10✓ Branch 0 taken 1 times.
✗ Branch 1 not taken.
✓ Branch 2 taken 1 times.
✗ Branch 3 not taken.
✓ Branch 4 taken 1 times.
✗ Branch 5 not taken.
✓ Branch 6 taken 1 times.
✗ Branch 7 not taken.
✗ Branch 8 not taken.
✓ Branch 9 taken 1 times.
|
1 | QCOMPARE(motionSpy.last().first().toPointF(), QPointF(0, 0)); |
225 |
1/2✗ Branch 0 not taken.
✓ Branch 1 taken 1 times.
|
1 | } |
226 | |||
227 | 1 | void FakeInputTest::testPointerButtonQt_data() | |
228 | { | ||
229 | 1 | QTest::addColumn<Qt::MouseButton>("qtButton"); | |
230 | 1 | QTest::addColumn<quint32>("linuxButton"); | |
231 | |||
232 | 1 | QTest::newRow("left") << Qt::LeftButton << quint32(BTN_LEFT); | |
233 | 1 | QTest::newRow("right") << Qt::RightButton << quint32(BTN_RIGHT); | |
234 | 1 | QTest::newRow("middle") << Qt::MiddleButton << quint32(BTN_MIDDLE); | |
235 | 1 | } | |
236 | |||
237 | 3 | void FakeInputTest::testPointerButtonQt() | |
238 | { | ||
239 | // this test verifies that pointer button events are properly passed to the server with Qt | ||
240 | // button codes | ||
241 |
1/2✓ Branch 0 taken 3 times.
✗ Branch 1 not taken.
|
3 | QVERIFY(!server.device->isAuthenticated()); |
242 | 3 | QSignalSpy pressedSpy(server.device, &FakeInputDevice::pointerButtonPressRequested); | |
243 |
3/6✓ Branch 0 taken 3 times.
✗ Branch 1 not taken.
✓ Branch 2 taken 3 times.
✗ Branch 3 not taken.
✓ Branch 4 taken 3 times.
✗ Branch 5 not taken.
|
3 | QVERIFY(pressedSpy.isValid()); |
244 |
1/2✓ Branch 0 taken 3 times.
✗ Branch 1 not taken.
|
3 | QSignalSpy releasedSpy(server.device, &FakeInputDevice::pointerButtonReleaseRequested); |
245 |
3/6✓ Branch 0 taken 3 times.
✗ Branch 1 not taken.
✓ Branch 2 taken 3 times.
✗ Branch 3 not taken.
✓ Branch 4 taken 3 times.
✗ Branch 5 not taken.
|
3 | QVERIFY(releasedSpy.isValid()); |
246 | |||
247 | // without an authentication we shouldn't get the signals | ||
248 |
2/4✓ Branch 0 taken 3 times.
✗ Branch 1 not taken.
✓ Branch 2 taken 3 times.
✗ Branch 3 not taken.
|
3 | QFETCH(Qt::MouseButton, qtButton); |
249 |
1/2✓ Branch 0 taken 3 times.
✗ Branch 1 not taken.
|
3 | m_fakeInput->requestPointerButtonClick(qtButton); |
250 |
3/6✓ Branch 0 taken 3 times.
✗ Branch 1 not taken.
✓ Branch 2 taken 3 times.
✗ Branch 3 not taken.
✓ Branch 4 taken 3 times.
✗ Branch 5 not taken.
|
3 | QVERIFY(!pressedSpy.wait(100)); |
251 |
2/4✓ Branch 0 taken 3 times.
✗ Branch 1 not taken.
✓ Branch 2 taken 3 times.
✗ Branch 3 not taken.
|
3 | QVERIFY(pressedSpy.isEmpty()); |
252 |
2/4✓ Branch 0 taken 3 times.
✗ Branch 1 not taken.
✓ Branch 2 taken 3 times.
✗ Branch 3 not taken.
|
3 | QVERIFY(releasedSpy.isEmpty()); |
253 | |||
254 | // now authenticate | ||
255 |
1/2✓ Branch 0 taken 3 times.
✗ Branch 1 not taken.
|
3 | server.device->setAuthentication(true); |
256 | // now our click should work | ||
257 |
1/2✓ Branch 0 taken 3 times.
✗ Branch 1 not taken.
|
3 | m_fakeInput->requestPointerButtonClick(qtButton); |
258 |
5/10✓ Branch 0 taken 3 times.
✗ Branch 1 not taken.
✓ Branch 2 taken 3 times.
✗ Branch 3 not taken.
✓ Branch 4 taken 3 times.
✗ Branch 5 not taken.
✓ Branch 6 taken 3 times.
✗ Branch 7 not taken.
✗ Branch 8 not taken.
✓ Branch 9 taken 3 times.
|
3 | QVERIFY(releasedSpy.wait()); |
259 |
2/4✓ Branch 0 taken 3 times.
✗ Branch 1 not taken.
✗ Branch 2 not taken.
✓ Branch 3 taken 3 times.
|
3 | QCOMPARE(pressedSpy.count(), 1); |
260 |
2/4✓ Branch 0 taken 3 times.
✗ Branch 1 not taken.
✗ Branch 2 not taken.
✓ Branch 3 taken 3 times.
|
3 | QCOMPARE(releasedSpy.count(), 1); |
261 |
5/10✓ Branch 0 taken 3 times.
✗ Branch 1 not taken.
✓ Branch 2 taken 3 times.
✗ Branch 3 not taken.
✓ Branch 4 taken 3 times.
✗ Branch 5 not taken.
✓ Branch 6 taken 3 times.
✗ Branch 7 not taken.
✗ Branch 8 not taken.
✓ Branch 9 taken 3 times.
|
3 | QTEST(pressedSpy.last().first().value<quint32>(), "linuxButton"); |
262 |
5/10✓ Branch 0 taken 3 times.
✗ Branch 1 not taken.
✓ Branch 2 taken 3 times.
✗ Branch 3 not taken.
✓ Branch 4 taken 3 times.
✗ Branch 5 not taken.
✓ Branch 6 taken 3 times.
✗ Branch 7 not taken.
✗ Branch 8 not taken.
✓ Branch 9 taken 3 times.
|
3 | QTEST(releasedSpy.last().first().value<quint32>(), "linuxButton"); |
263 | |||
264 | // and a press/release "manually" | ||
265 |
1/2✓ Branch 0 taken 3 times.
✗ Branch 1 not taken.
|
3 | m_fakeInput->requestPointerButtonPress(qtButton); |
266 |
5/10✓ Branch 0 taken 3 times.
✗ Branch 1 not taken.
✓ Branch 2 taken 3 times.
✗ Branch 3 not taken.
✓ Branch 4 taken 3 times.
✗ Branch 5 not taken.
✓ Branch 6 taken 3 times.
✗ Branch 7 not taken.
✗ Branch 8 not taken.
✓ Branch 9 taken 3 times.
|
3 | QVERIFY(pressedSpy.wait()); |
267 |
2/4✓ Branch 0 taken 3 times.
✗ Branch 1 not taken.
✗ Branch 2 not taken.
✓ Branch 3 taken 3 times.
|
3 | QCOMPARE(pressedSpy.count(), 2); |
268 |
2/4✓ Branch 0 taken 3 times.
✗ Branch 1 not taken.
✗ Branch 2 not taken.
✓ Branch 3 taken 3 times.
|
3 | QCOMPARE(releasedSpy.count(), 1); |
269 |
5/10✓ Branch 0 taken 3 times.
✗ Branch 1 not taken.
✓ Branch 2 taken 3 times.
✗ Branch 3 not taken.
✓ Branch 4 taken 3 times.
✗ Branch 5 not taken.
✓ Branch 6 taken 3 times.
✗ Branch 7 not taken.
✗ Branch 8 not taken.
✓ Branch 9 taken 3 times.
|
3 | QTEST(pressedSpy.last().first().value<quint32>(), "linuxButton"); |
270 | // and release | ||
271 |
1/2✓ Branch 0 taken 3 times.
✗ Branch 1 not taken.
|
3 | m_fakeInput->requestPointerButtonRelease(qtButton); |
272 |
5/10✓ Branch 0 taken 3 times.
✗ Branch 1 not taken.
✓ Branch 2 taken 3 times.
✗ Branch 3 not taken.
✓ Branch 4 taken 3 times.
✗ Branch 5 not taken.
✓ Branch 6 taken 3 times.
✗ Branch 7 not taken.
✗ Branch 8 not taken.
✓ Branch 9 taken 3 times.
|
3 | QVERIFY(releasedSpy.wait()); |
273 |
2/4✓ Branch 0 taken 3 times.
✗ Branch 1 not taken.
✗ Branch 2 not taken.
✓ Branch 3 taken 3 times.
|
3 | QCOMPARE(pressedSpy.count(), 2); |
274 |
2/4✓ Branch 0 taken 3 times.
✗ Branch 1 not taken.
✗ Branch 2 not taken.
✓ Branch 3 taken 3 times.
|
3 | QCOMPARE(releasedSpy.count(), 2); |
275 |
5/10✓ Branch 0 taken 3 times.
✗ Branch 1 not taken.
✓ Branch 2 taken 3 times.
✗ Branch 3 not taken.
✓ Branch 4 taken 3 times.
✗ Branch 5 not taken.
✓ Branch 6 taken 3 times.
✗ Branch 7 not taken.
✗ Branch 8 not taken.
✓ Branch 9 taken 3 times.
|
3 | QTEST(releasedSpy.last().first().value<quint32>(), "linuxButton"); |
276 |
1/2✗ Branch 0 not taken.
✓ Branch 1 taken 3 times.
|
3 | } |
277 | |||
278 | 1 | void FakeInputTest::testPointerButtonLinux_data() | |
279 | { | ||
280 | 1 | QTest::addColumn<quint32>("linuxButton"); | |
281 | |||
282 | 1 | QTest::newRow("left") << quint32(BTN_LEFT); | |
283 | 1 | QTest::newRow("right") << quint32(BTN_RIGHT); | |
284 | 1 | QTest::newRow("middle") << quint32(BTN_MIDDLE); | |
285 | 1 | QTest::newRow("side") << quint32(BTN_SIDE); | |
286 | 1 | QTest::newRow("extra") << quint32(BTN_EXTRA); | |
287 | 1 | QTest::newRow("forward") << quint32(BTN_FORWARD); | |
288 | 1 | QTest::newRow("back") << quint32(BTN_BACK); | |
289 | 1 | QTest::newRow("task") << quint32(BTN_TASK); | |
290 | 1 | } | |
291 | |||
292 | 8 | void FakeInputTest::testPointerButtonLinux() | |
293 | { | ||
294 | // this test verifies that pointer button events are properly passed to the server with Qt | ||
295 | // button codes | ||
296 |
1/2✓ Branch 0 taken 8 times.
✗ Branch 1 not taken.
|
8 | QVERIFY(!server.device->isAuthenticated()); |
297 | 8 | QSignalSpy pressedSpy(server.device, &FakeInputDevice::pointerButtonPressRequested); | |
298 |
3/6✓ Branch 0 taken 8 times.
✗ Branch 1 not taken.
✓ Branch 2 taken 8 times.
✗ Branch 3 not taken.
✓ Branch 4 taken 8 times.
✗ Branch 5 not taken.
|
8 | QVERIFY(pressedSpy.isValid()); |
299 |
1/2✓ Branch 0 taken 8 times.
✗ Branch 1 not taken.
|
8 | QSignalSpy releasedSpy(server.device, &FakeInputDevice::pointerButtonReleaseRequested); |
300 |
3/6✓ Branch 0 taken 8 times.
✗ Branch 1 not taken.
✓ Branch 2 taken 8 times.
✗ Branch 3 not taken.
✓ Branch 4 taken 8 times.
✗ Branch 5 not taken.
|
8 | QVERIFY(releasedSpy.isValid()); |
301 | |||
302 | // without an authentication we shouldn't get the signals | ||
303 |
2/4✓ Branch 0 taken 8 times.
✗ Branch 1 not taken.
✓ Branch 2 taken 8 times.
✗ Branch 3 not taken.
|
8 | QFETCH(quint32, linuxButton); |
304 |
1/2✓ Branch 0 taken 8 times.
✗ Branch 1 not taken.
|
8 | m_fakeInput->requestPointerButtonClick(linuxButton); |
305 |
3/6✓ Branch 0 taken 8 times.
✗ Branch 1 not taken.
✓ Branch 2 taken 8 times.
✗ Branch 3 not taken.
✓ Branch 4 taken 8 times.
✗ Branch 5 not taken.
|
8 | QVERIFY(!pressedSpy.wait(100)); |
306 |
2/4✓ Branch 0 taken 8 times.
✗ Branch 1 not taken.
✓ Branch 2 taken 8 times.
✗ Branch 3 not taken.
|
8 | QVERIFY(pressedSpy.isEmpty()); |
307 |
2/4✓ Branch 0 taken 8 times.
✗ Branch 1 not taken.
✓ Branch 2 taken 8 times.
✗ Branch 3 not taken.
|
8 | QVERIFY(releasedSpy.isEmpty()); |
308 | |||
309 | // now authenticate | ||
310 |
1/2✓ Branch 0 taken 8 times.
✗ Branch 1 not taken.
|
8 | server.device->setAuthentication(true); |
311 | // now our click should work | ||
312 |
1/2✓ Branch 0 taken 8 times.
✗ Branch 1 not taken.
|
8 | m_fakeInput->requestPointerButtonClick(linuxButton); |
313 |
5/10✓ Branch 0 taken 8 times.
✗ Branch 1 not taken.
✓ Branch 2 taken 8 times.
✗ Branch 3 not taken.
✓ Branch 4 taken 8 times.
✗ Branch 5 not taken.
✓ Branch 6 taken 8 times.
✗ Branch 7 not taken.
✗ Branch 8 not taken.
✓ Branch 9 taken 8 times.
|
8 | QVERIFY(releasedSpy.wait()); |
314 |
2/4✓ Branch 0 taken 8 times.
✗ Branch 1 not taken.
✗ Branch 2 not taken.
✓ Branch 3 taken 8 times.
|
8 | QCOMPARE(pressedSpy.count(), 1); |
315 |
2/4✓ Branch 0 taken 8 times.
✗ Branch 1 not taken.
✗ Branch 2 not taken.
✓ Branch 3 taken 8 times.
|
8 | QCOMPARE(releasedSpy.count(), 1); |
316 |
5/10✓ Branch 0 taken 8 times.
✗ Branch 1 not taken.
✓ Branch 2 taken 8 times.
✗ Branch 3 not taken.
✓ Branch 4 taken 8 times.
✗ Branch 5 not taken.
✓ Branch 6 taken 8 times.
✗ Branch 7 not taken.
✗ Branch 8 not taken.
✓ Branch 9 taken 8 times.
|
8 | QTEST(pressedSpy.last().first().value<quint32>(), "linuxButton"); |
317 |
5/10✓ Branch 0 taken 8 times.
✗ Branch 1 not taken.
✓ Branch 2 taken 8 times.
✗ Branch 3 not taken.
✓ Branch 4 taken 8 times.
✗ Branch 5 not taken.
✓ Branch 6 taken 8 times.
✗ Branch 7 not taken.
✗ Branch 8 not taken.
✓ Branch 9 taken 8 times.
|
8 | QTEST(releasedSpy.last().first().value<quint32>(), "linuxButton"); |
318 | |||
319 | // and a press/release "manually" | ||
320 |
1/2✓ Branch 0 taken 8 times.
✗ Branch 1 not taken.
|
8 | m_fakeInput->requestPointerButtonPress(linuxButton); |
321 |
5/10✓ Branch 0 taken 8 times.
✗ Branch 1 not taken.
✓ Branch 2 taken 8 times.
✗ Branch 3 not taken.
✓ Branch 4 taken 8 times.
✗ Branch 5 not taken.
✓ Branch 6 taken 8 times.
✗ Branch 7 not taken.
✗ Branch 8 not taken.
✓ Branch 9 taken 8 times.
|
8 | QVERIFY(pressedSpy.wait()); |
322 |
2/4✓ Branch 0 taken 8 times.
✗ Branch 1 not taken.
✗ Branch 2 not taken.
✓ Branch 3 taken 8 times.
|
8 | QCOMPARE(pressedSpy.count(), 2); |
323 |
2/4✓ Branch 0 taken 8 times.
✗ Branch 1 not taken.
✗ Branch 2 not taken.
✓ Branch 3 taken 8 times.
|
8 | QCOMPARE(releasedSpy.count(), 1); |
324 |
5/10✓ Branch 0 taken 8 times.
✗ Branch 1 not taken.
✓ Branch 2 taken 8 times.
✗ Branch 3 not taken.
✓ Branch 4 taken 8 times.
✗ Branch 5 not taken.
✓ Branch 6 taken 8 times.
✗ Branch 7 not taken.
✗ Branch 8 not taken.
✓ Branch 9 taken 8 times.
|
8 | QTEST(pressedSpy.last().first().value<quint32>(), "linuxButton"); |
325 | // and release | ||
326 |
1/2✓ Branch 0 taken 8 times.
✗ Branch 1 not taken.
|
8 | m_fakeInput->requestPointerButtonRelease(linuxButton); |
327 |
5/10✓ Branch 0 taken 8 times.
✗ Branch 1 not taken.
✓ Branch 2 taken 8 times.
✗ Branch 3 not taken.
✓ Branch 4 taken 8 times.
✗ Branch 5 not taken.
✓ Branch 6 taken 8 times.
✗ Branch 7 not taken.
✗ Branch 8 not taken.
✓ Branch 9 taken 8 times.
|
8 | QVERIFY(releasedSpy.wait()); |
328 |
2/4✓ Branch 0 taken 8 times.
✗ Branch 1 not taken.
✗ Branch 2 not taken.
✓ Branch 3 taken 8 times.
|
8 | QCOMPARE(pressedSpy.count(), 2); |
329 |
2/4✓ Branch 0 taken 8 times.
✗ Branch 1 not taken.
✗ Branch 2 not taken.
✓ Branch 3 taken 8 times.
|
8 | QCOMPARE(releasedSpy.count(), 2); |
330 |
5/10✓ Branch 0 taken 8 times.
✗ Branch 1 not taken.
✓ Branch 2 taken 8 times.
✗ Branch 3 not taken.
✓ Branch 4 taken 8 times.
✗ Branch 5 not taken.
✓ Branch 6 taken 8 times.
✗ Branch 7 not taken.
✗ Branch 8 not taken.
✓ Branch 9 taken 8 times.
|
8 | QTEST(releasedSpy.last().first().value<quint32>(), "linuxButton"); |
331 |
1/2✗ Branch 0 not taken.
✓ Branch 1 taken 8 times.
|
8 | } |
332 | |||
333 | 1 | void FakeInputTest::testAxis_data() | |
334 | { | ||
335 | 1 | QTest::addColumn<Qt::Orientation>("orientation"); | |
336 | 1 | QTest::addColumn<qreal>("delta"); | |
337 | |||
338 | 1 | QTest::newRow("horizontal/1") << Qt::Horizontal << 1.0; | |
339 | 1 | QTest::newRow("horizontal/-2") << Qt::Horizontal << -2.0; | |
340 | 1 | QTest::newRow("vertical/10") << Qt::Vertical << 10.0; | |
341 | 1 | QTest::newRow("vertical/-20") << Qt::Vertical << -22.0; | |
342 | 1 | } | |
343 | |||
344 | 4 | void FakeInputTest::testAxis() | |
345 | { | ||
346 | // this test verifies that pointer axis events are properly passed to the server | ||
347 |
1/2✓ Branch 0 taken 4 times.
✗ Branch 1 not taken.
|
4 | QVERIFY(!server.device->isAuthenticated()); |
348 | 4 | QSignalSpy axisSpy(server.device, &FakeInputDevice::pointerAxisRequested); | |
349 |
3/6✓ Branch 0 taken 4 times.
✗ Branch 1 not taken.
✓ Branch 2 taken 4 times.
✗ Branch 3 not taken.
✓ Branch 4 taken 4 times.
✗ Branch 5 not taken.
|
4 | QVERIFY(axisSpy.isValid()); |
350 | |||
351 |
2/4✓ Branch 0 taken 4 times.
✗ Branch 1 not taken.
✓ Branch 2 taken 4 times.
✗ Branch 3 not taken.
|
4 | QFETCH(Qt::Orientation, orientation); |
352 |
2/4✓ Branch 0 taken 4 times.
✗ Branch 1 not taken.
✓ Branch 2 taken 4 times.
✗ Branch 3 not taken.
|
4 | QFETCH(qreal, delta); |
353 | // without an authentication we shouldn't get the signals | ||
354 |
1/2✓ Branch 0 taken 4 times.
✗ Branch 1 not taken.
|
4 | m_fakeInput->requestPointerAxis(orientation, delta); |
355 |
3/6✓ Branch 0 taken 4 times.
✗ Branch 1 not taken.
✓ Branch 2 taken 4 times.
✗ Branch 3 not taken.
✓ Branch 4 taken 4 times.
✗ Branch 5 not taken.
|
4 | QVERIFY(!axisSpy.wait(100)); |
356 | |||
357 | // now authenticate | ||
358 |
1/2✓ Branch 0 taken 4 times.
✗ Branch 1 not taken.
|
4 | server.device->setAuthentication(true); |
359 | |||
360 | // now we can properly test | ||
361 |
1/2✓ Branch 0 taken 4 times.
✗ Branch 1 not taken.
|
4 | m_fakeInput->requestPointerAxis(orientation, delta); |
362 |
5/10✓ Branch 0 taken 4 times.
✗ Branch 1 not taken.
✓ Branch 2 taken 4 times.
✗ Branch 3 not taken.
✓ Branch 4 taken 4 times.
✗ Branch 5 not taken.
✓ Branch 6 taken 4 times.
✗ Branch 7 not taken.
✗ Branch 8 not taken.
✓ Branch 9 taken 4 times.
|
4 | QVERIFY(axisSpy.wait()); |
363 |
2/4✓ Branch 0 taken 4 times.
✗ Branch 1 not taken.
✗ Branch 2 not taken.
✓ Branch 3 taken 4 times.
|
4 | QCOMPARE(axisSpy.count(), 1); |
364 |
4/8✓ Branch 0 taken 4 times.
✗ Branch 1 not taken.
✓ Branch 2 taken 4 times.
✗ Branch 3 not taken.
✓ Branch 4 taken 4 times.
✗ Branch 5 not taken.
✗ Branch 6 not taken.
✓ Branch 7 taken 4 times.
|
4 | QCOMPARE(axisSpy.first().at(0).value<Qt::Orientation>(), orientation); |
365 |
4/8✓ Branch 0 taken 4 times.
✗ Branch 1 not taken.
✓ Branch 2 taken 4 times.
✗ Branch 3 not taken.
✓ Branch 4 taken 4 times.
✗ Branch 5 not taken.
✗ Branch 6 not taken.
✓ Branch 7 taken 4 times.
|
4 | QCOMPARE(axisSpy.first().at(1).value<qreal>(), delta); |
366 |
1/2✗ Branch 0 not taken.
✓ Branch 1 taken 4 times.
|
4 | } |
367 | |||
368 | 1 | void FakeInputTest::testTouch() | |
369 | { | ||
370 |
1/2✓ Branch 0 taken 1 times.
✗ Branch 1 not taken.
|
1 | QVERIFY(!server.device->isAuthenticated()); |
371 | 1 | QSignalSpy touchDownSpy(server.device, &FakeInputDevice::touchDownRequested); | |
372 |
3/6✓ Branch 0 taken 1 times.
✗ Branch 1 not taken.
✓ Branch 2 taken 1 times.
✗ Branch 3 not taken.
✓ Branch 4 taken 1 times.
✗ Branch 5 not taken.
|
1 | QVERIFY(touchDownSpy.isValid()); |
373 |
1/2✓ Branch 0 taken 1 times.
✗ Branch 1 not taken.
|
1 | QSignalSpy touchMotionSpy(server.device, &FakeInputDevice::touchMotionRequested); |
374 |
3/6✓ Branch 0 taken 1 times.
✗ Branch 1 not taken.
✓ Branch 2 taken 1 times.
✗ Branch 3 not taken.
✓ Branch 4 taken 1 times.
✗ Branch 5 not taken.
|
1 | QVERIFY(touchMotionSpy.isValid()); |
375 |
1/2✓ Branch 0 taken 1 times.
✗ Branch 1 not taken.
|
1 | QSignalSpy touchUpSpy(server.device, &FakeInputDevice::touchUpRequested); |
376 |
3/6✓ Branch 0 taken 1 times.
✗ Branch 1 not taken.
✓ Branch 2 taken 1 times.
✗ Branch 3 not taken.
✓ Branch 4 taken 1 times.
✗ Branch 5 not taken.
|
1 | QVERIFY(touchUpSpy.isValid()); |
377 |
1/2✓ Branch 0 taken 1 times.
✗ Branch 1 not taken.
|
1 | QSignalSpy touchFrameSpy(server.device, &FakeInputDevice::touchFrameRequested); |
378 |
3/6✓ Branch 0 taken 1 times.
✗ Branch 1 not taken.
✓ Branch 2 taken 1 times.
✗ Branch 3 not taken.
✓ Branch 4 taken 1 times.
✗ Branch 5 not taken.
|
1 | QVERIFY(touchFrameSpy.isValid()); |
379 |
1/2✓ Branch 0 taken 1 times.
✗ Branch 1 not taken.
|
1 | QSignalSpy touchCancelSpy(server.device, &FakeInputDevice::touchCancelRequested); |
380 |
3/6✓ Branch 0 taken 1 times.
✗ Branch 1 not taken.
✓ Branch 2 taken 1 times.
✗ Branch 3 not taken.
✓ Branch 4 taken 1 times.
✗ Branch 5 not taken.
|
1 | QVERIFY(touchCancelSpy.isValid()); |
381 | |||
382 | // without an authentication we shouldn't get the signals | ||
383 |
1/2✓ Branch 0 taken 1 times.
✗ Branch 1 not taken.
|
1 | m_fakeInput->requestTouchDown(0, QPointF(1, 2)); |
384 |
3/6✓ Branch 0 taken 1 times.
✗ Branch 1 not taken.
✓ Branch 2 taken 1 times.
✗ Branch 3 not taken.
✓ Branch 4 taken 1 times.
✗ Branch 5 not taken.
|
1 | QVERIFY(!touchDownSpy.wait(100)); |
385 | |||
386 |
1/2✓ Branch 0 taken 1 times.
✗ Branch 1 not taken.
|
1 | m_fakeInput->requestTouchMotion(0, QPointF(3, 4)); |
387 |
3/6✓ Branch 0 taken 1 times.
✗ Branch 1 not taken.
✓ Branch 2 taken 1 times.
✗ Branch 3 not taken.
✓ Branch 4 taken 1 times.
✗ Branch 5 not taken.
|
1 | QVERIFY(!touchMotionSpy.wait(100)); |
388 | |||
389 |
1/2✓ Branch 0 taken 1 times.
✗ Branch 1 not taken.
|
1 | m_fakeInput->requestTouchUp(0); |
390 |
3/6✓ Branch 0 taken 1 times.
✗ Branch 1 not taken.
✓ Branch 2 taken 1 times.
✗ Branch 3 not taken.
✓ Branch 4 taken 1 times.
✗ Branch 5 not taken.
|
1 | QVERIFY(!touchUpSpy.wait(100)); |
391 | |||
392 |
1/2✓ Branch 0 taken 1 times.
✗ Branch 1 not taken.
|
1 | m_fakeInput->requestTouchDown(1, QPointF(5, 6)); |
393 |
3/6✓ Branch 0 taken 1 times.
✗ Branch 1 not taken.
✓ Branch 2 taken 1 times.
✗ Branch 3 not taken.
✓ Branch 4 taken 1 times.
✗ Branch 5 not taken.
|
1 | QVERIFY(!touchDownSpy.wait(100)); |
394 | |||
395 |
1/2✓ Branch 0 taken 1 times.
✗ Branch 1 not taken.
|
1 | m_fakeInput->requestTouchFrame(); |
396 |
3/6✓ Branch 0 taken 1 times.
✗ Branch 1 not taken.
✓ Branch 2 taken 1 times.
✗ Branch 3 not taken.
✓ Branch 4 taken 1 times.
✗ Branch 5 not taken.
|
1 | QVERIFY(!touchFrameSpy.wait(100)); |
397 | |||
398 |
1/2✓ Branch 0 taken 1 times.
✗ Branch 1 not taken.
|
1 | m_fakeInput->requestTouchCancel(); |
399 |
3/6✓ Branch 0 taken 1 times.
✗ Branch 1 not taken.
✓ Branch 2 taken 1 times.
✗ Branch 3 not taken.
✓ Branch 4 taken 1 times.
✗ Branch 5 not taken.
|
1 | QVERIFY(!touchCancelSpy.wait(100)); |
400 | |||
401 | // now let's authenticate the interface | ||
402 |
1/2✓ Branch 0 taken 1 times.
✗ Branch 1 not taken.
|
1 | server.device->setAuthentication(true); |
403 |
1/2✓ Branch 0 taken 1 times.
✗ Branch 1 not taken.
|
1 | m_fakeInput->requestTouchDown(0, QPointF(1, 2)); |
404 |
5/10✓ Branch 0 taken 1 times.
✗ Branch 1 not taken.
✓ Branch 2 taken 1 times.
✗ Branch 3 not taken.
✓ Branch 4 taken 1 times.
✗ Branch 5 not taken.
✓ Branch 6 taken 1 times.
✗ Branch 7 not taken.
✗ Branch 8 not taken.
✓ Branch 9 taken 1 times.
|
1 | QVERIFY(touchDownSpy.wait()); |
405 |
2/4✓ Branch 0 taken 1 times.
✗ Branch 1 not taken.
✗ Branch 2 not taken.
✓ Branch 3 taken 1 times.
|
1 | QCOMPARE(touchDownSpy.count(), 1); |
406 |
4/8✓ Branch 0 taken 1 times.
✗ Branch 1 not taken.
✓ Branch 2 taken 1 times.
✗ Branch 3 not taken.
✓ Branch 4 taken 1 times.
✗ Branch 5 not taken.
✓ Branch 6 taken 1 times.
✗ Branch 7 not taken.
|
1 | QCOMPARE(touchDownSpy.last().at(0).value<quint32>(), quint32(0)); |
407 |
4/8✓ Branch 0 taken 1 times.
✗ Branch 1 not taken.
✓ Branch 2 taken 1 times.
✗ Branch 3 not taken.
✓ Branch 4 taken 1 times.
✗ Branch 5 not taken.
✗ Branch 6 not taken.
✓ Branch 7 taken 1 times.
|
1 | QCOMPARE(touchDownSpy.last().at(1).toPointF(), QPointF(1, 2)); |
408 | |||
409 | // Same id should not trigger another touchDown. | ||
410 |
1/2✓ Branch 0 taken 1 times.
✗ Branch 1 not taken.
|
1 | m_fakeInput->requestTouchDown(0, QPointF(5, 6)); |
411 |
3/6✓ Branch 0 taken 1 times.
✗ Branch 1 not taken.
✓ Branch 2 taken 1 times.
✗ Branch 3 not taken.
✓ Branch 4 taken 1 times.
✗ Branch 5 not taken.
|
1 | QVERIFY(!touchDownSpy.wait(100)); |
412 | |||
413 |
1/2✓ Branch 0 taken 1 times.
✗ Branch 1 not taken.
|
1 | m_fakeInput->requestTouchMotion(0, QPointF(3, 4)); |
414 |
5/10✓ Branch 0 taken 1 times.
✗ Branch 1 not taken.
✓ Branch 2 taken 1 times.
✗ Branch 3 not taken.
✓ Branch 4 taken 1 times.
✗ Branch 5 not taken.
✓ Branch 6 taken 1 times.
✗ Branch 7 not taken.
✗ Branch 8 not taken.
✓ Branch 9 taken 1 times.
|
1 | QVERIFY(touchMotionSpy.wait()); |
415 |
2/4✓ Branch 0 taken 1 times.
✗ Branch 1 not taken.
✗ Branch 2 not taken.
✓ Branch 3 taken 1 times.
|
1 | QCOMPARE(touchMotionSpy.count(), 1); |
416 |
4/8✓ Branch 0 taken 1 times.
✗ Branch 1 not taken.
✓ Branch 2 taken 1 times.
✗ Branch 3 not taken.
✓ Branch 4 taken 1 times.
✗ Branch 5 not taken.
✓ Branch 6 taken 1 times.
✗ Branch 7 not taken.
|
1 | QCOMPARE(touchMotionSpy.last().at(0).value<quint32>(), quint32(0)); |
417 |
4/8✓ Branch 0 taken 1 times.
✗ Branch 1 not taken.
✓ Branch 2 taken 1 times.
✗ Branch 3 not taken.
✓ Branch 4 taken 1 times.
✗ Branch 5 not taken.
✗ Branch 6 not taken.
✓ Branch 7 taken 1 times.
|
1 | QCOMPARE(touchMotionSpy.last().at(1).toPointF(), QPointF(3, 4)); |
418 | |||
419 | // touchMotion with bogus id should not trigger signal. | ||
420 |
1/2✓ Branch 0 taken 1 times.
✗ Branch 1 not taken.
|
1 | m_fakeInput->requestTouchMotion(1, QPointF(3, 4)); |
421 |
3/6✓ Branch 0 taken 1 times.
✗ Branch 1 not taken.
✓ Branch 2 taken 1 times.
✗ Branch 3 not taken.
✓ Branch 4 taken 1 times.
✗ Branch 5 not taken.
|
1 | QVERIFY(!touchMotionSpy.wait(100)); |
422 | |||
423 |
1/2✓ Branch 0 taken 1 times.
✗ Branch 1 not taken.
|
1 | m_fakeInput->requestTouchUp(0); |
424 |
5/10✓ Branch 0 taken 1 times.
✗ Branch 1 not taken.
✓ Branch 2 taken 1 times.
✗ Branch 3 not taken.
✓ Branch 4 taken 1 times.
✗ Branch 5 not taken.
✓ Branch 6 taken 1 times.
✗ Branch 7 not taken.
✗ Branch 8 not taken.
✓ Branch 9 taken 1 times.
|
1 | QVERIFY(touchUpSpy.wait()); |
425 |
2/4✓ Branch 0 taken 1 times.
✗ Branch 1 not taken.
✗ Branch 2 not taken.
✓ Branch 3 taken 1 times.
|
1 | QCOMPARE(touchUpSpy.count(), 1); |
426 |
4/8✓ Branch 0 taken 1 times.
✗ Branch 1 not taken.
✓ Branch 2 taken 1 times.
✗ Branch 3 not taken.
✓ Branch 4 taken 1 times.
✗ Branch 5 not taken.
✓ Branch 6 taken 1 times.
✗ Branch 7 not taken.
|
1 | QCOMPARE(touchUpSpy.last().at(0).value<quint32>(), quint32(0)); |
427 | |||
428 | // touchUp with bogus id should not trigger signal. | ||
429 |
1/2✓ Branch 0 taken 1 times.
✗ Branch 1 not taken.
|
1 | m_fakeInput->requestTouchUp(1); |
430 |
3/6✓ Branch 0 taken 1 times.
✗ Branch 1 not taken.
✓ Branch 2 taken 1 times.
✗ Branch 3 not taken.
✓ Branch 4 taken 1 times.
✗ Branch 5 not taken.
|
1 | QVERIFY(!touchUpSpy.wait(100)); |
431 | |||
432 |
1/2✓ Branch 0 taken 1 times.
✗ Branch 1 not taken.
|
1 | m_fakeInput->requestTouchDown(1, QPointF(5, 6)); |
433 |
5/10✓ Branch 0 taken 1 times.
✗ Branch 1 not taken.
✓ Branch 2 taken 1 times.
✗ Branch 3 not taken.
✓ Branch 4 taken 1 times.
✗ Branch 5 not taken.
✓ Branch 6 taken 1 times.
✗ Branch 7 not taken.
✗ Branch 8 not taken.
✓ Branch 9 taken 1 times.
|
1 | QVERIFY(touchDownSpy.wait()); |
434 |
2/4✓ Branch 0 taken 1 times.
✗ Branch 1 not taken.
✗ Branch 2 not taken.
✓ Branch 3 taken 1 times.
|
1 | QCOMPARE(touchDownSpy.count(), 2); |
435 |
4/8✓ Branch 0 taken 1 times.
✗ Branch 1 not taken.
✓ Branch 2 taken 1 times.
✗ Branch 3 not taken.
✓ Branch 4 taken 1 times.
✗ Branch 5 not taken.
✓ Branch 6 taken 1 times.
✗ Branch 7 not taken.
|
1 | QCOMPARE(touchDownSpy.last().at(0).value<quint32>(), quint32(1)); |
436 |
4/8✓ Branch 0 taken 1 times.
✗ Branch 1 not taken.
✓ Branch 2 taken 1 times.
✗ Branch 3 not taken.
✓ Branch 4 taken 1 times.
✗ Branch 5 not taken.
✗ Branch 6 not taken.
✓ Branch 7 taken 1 times.
|
1 | QCOMPARE(touchDownSpy.last().at(1).toPointF(), QPointF(5, 6)); |
437 | |||
438 |
1/2✓ Branch 0 taken 1 times.
✗ Branch 1 not taken.
|
1 | m_fakeInput->requestTouchFrame(); |
439 |
5/10✓ Branch 0 taken 1 times.
✗ Branch 1 not taken.
✓ Branch 2 taken 1 times.
✗ Branch 3 not taken.
✓ Branch 4 taken 1 times.
✗ Branch 5 not taken.
✓ Branch 6 taken 1 times.
✗ Branch 7 not taken.
✗ Branch 8 not taken.
✓ Branch 9 taken 1 times.
|
1 | QVERIFY(touchFrameSpy.wait()); |
440 |
2/4✓ Branch 0 taken 1 times.
✗ Branch 1 not taken.
✗ Branch 2 not taken.
✓ Branch 3 taken 1 times.
|
1 | QCOMPARE(touchFrameSpy.count(), 1); |
441 | |||
442 |
1/2✓ Branch 0 taken 1 times.
✗ Branch 1 not taken.
|
1 | m_fakeInput->requestTouchCancel(); |
443 |
5/10✓ Branch 0 taken 1 times.
✗ Branch 1 not taken.
✓ Branch 2 taken 1 times.
✗ Branch 3 not taken.
✓ Branch 4 taken 1 times.
✗ Branch 5 not taken.
✓ Branch 6 taken 1 times.
✗ Branch 7 not taken.
✗ Branch 8 not taken.
✓ Branch 9 taken 1 times.
|
1 | QVERIFY(touchCancelSpy.wait()); |
444 |
2/4✓ Branch 0 taken 1 times.
✗ Branch 1 not taken.
✗ Branch 2 not taken.
✓ Branch 3 taken 1 times.
|
1 | QCOMPARE(touchCancelSpy.count(), 1); |
445 |
1/2✗ Branch 0 not taken.
✓ Branch 1 taken 1 times.
|
1 | } |
446 | |||
447 | 1 | void FakeInputTest::testKeyboardKeyLinux_data() | |
448 | { | ||
449 | 1 | QTest::addColumn<quint32>("linuxKey"); | |
450 | |||
451 | 1 | QTest::newRow("A") << quint32(KEY_A); | |
452 | 1 | QTest::newRow("S") << quint32(KEY_S); | |
453 | 1 | QTest::newRow("D") << quint32(KEY_D); | |
454 | 1 | QTest::newRow("F") << quint32(KEY_F); | |
455 | 1 | } | |
456 | |||
457 | 4 | void FakeInputTest::testKeyboardKeyLinux() | |
458 | { | ||
459 | // this test verifies that keyboard key events are properly passed to the server with Qt button | ||
460 | // codes | ||
461 |
1/2✓ Branch 0 taken 4 times.
✗ Branch 1 not taken.
|
4 | QVERIFY(!server.device->isAuthenticated()); |
462 | 4 | QSignalSpy pressedSpy(server.device, &FakeInputDevice::keyboardKeyPressRequested); | |
463 |
3/6✓ Branch 0 taken 4 times.
✗ Branch 1 not taken.
✓ Branch 2 taken 4 times.
✗ Branch 3 not taken.
✓ Branch 4 taken 4 times.
✗ Branch 5 not taken.
|
4 | QVERIFY(pressedSpy.isValid()); |
464 |
1/2✓ Branch 0 taken 4 times.
✗ Branch 1 not taken.
|
4 | QSignalSpy releasedSpy(server.device, &FakeInputDevice::keyboardKeyReleaseRequested); |
465 |
3/6✓ Branch 0 taken 4 times.
✗ Branch 1 not taken.
✓ Branch 2 taken 4 times.
✗ Branch 3 not taken.
✓ Branch 4 taken 4 times.
✗ Branch 5 not taken.
|
4 | QVERIFY(releasedSpy.isValid()); |
466 | |||
467 | // without an authentication we shouldn't get the signals | ||
468 |
2/4✓ Branch 0 taken 4 times.
✗ Branch 1 not taken.
✓ Branch 2 taken 4 times.
✗ Branch 3 not taken.
|
4 | QFETCH(quint32, linuxKey); |
469 |
1/2✓ Branch 0 taken 4 times.
✗ Branch 1 not taken.
|
4 | m_fakeInput->requestKeyboardKeyPress(linuxKey); |
470 |
1/2✓ Branch 0 taken 4 times.
✗ Branch 1 not taken.
|
4 | m_fakeInput->requestKeyboardKeyRelease(linuxKey); |
471 |
3/6✓ Branch 0 taken 4 times.
✗ Branch 1 not taken.
✓ Branch 2 taken 4 times.
✗ Branch 3 not taken.
✓ Branch 4 taken 4 times.
✗ Branch 5 not taken.
|
4 | QVERIFY(!pressedSpy.wait(100)); |
472 |
2/4✓ Branch 0 taken 4 times.
✗ Branch 1 not taken.
✓ Branch 2 taken 4 times.
✗ Branch 3 not taken.
|
4 | QVERIFY(pressedSpy.isEmpty()); |
473 |
2/4✓ Branch 0 taken 4 times.
✗ Branch 1 not taken.
✓ Branch 2 taken 4 times.
✗ Branch 3 not taken.
|
4 | QVERIFY(releasedSpy.isEmpty()); |
474 | |||
475 | // now authenticate | ||
476 |
1/2✓ Branch 0 taken 4 times.
✗ Branch 1 not taken.
|
4 | server.device->setAuthentication(true); |
477 | // now our click should work | ||
478 |
1/2✓ Branch 0 taken 4 times.
✗ Branch 1 not taken.
|
4 | m_fakeInput->requestKeyboardKeyPress(linuxKey); |
479 |
1/2✓ Branch 0 taken 4 times.
✗ Branch 1 not taken.
|
4 | m_fakeInput->requestKeyboardKeyRelease(linuxKey); |
480 |
5/10✓ Branch 0 taken 4 times.
✗ Branch 1 not taken.
✓ Branch 2 taken 4 times.
✗ Branch 3 not taken.
✓ Branch 4 taken 4 times.
✗ Branch 5 not taken.
✓ Branch 6 taken 4 times.
✗ Branch 7 not taken.
✗ Branch 8 not taken.
✓ Branch 9 taken 4 times.
|
4 | QVERIFY(releasedSpy.wait()); |
481 |
2/4✓ Branch 0 taken 4 times.
✗ Branch 1 not taken.
✗ Branch 2 not taken.
✓ Branch 3 taken 4 times.
|
4 | QCOMPARE(pressedSpy.count(), 1); |
482 |
2/4✓ Branch 0 taken 4 times.
✗ Branch 1 not taken.
✗ Branch 2 not taken.
✓ Branch 3 taken 4 times.
|
4 | QCOMPARE(releasedSpy.count(), 1); |
483 |
5/10✓ Branch 0 taken 4 times.
✗ Branch 1 not taken.
✓ Branch 2 taken 4 times.
✗ Branch 3 not taken.
✓ Branch 4 taken 4 times.
✗ Branch 5 not taken.
✓ Branch 6 taken 4 times.
✗ Branch 7 not taken.
✗ Branch 8 not taken.
✓ Branch 9 taken 4 times.
|
4 | QTEST(pressedSpy.last().first().value<quint32>(), "linuxKey"); |
484 |
5/10✓ Branch 0 taken 4 times.
✗ Branch 1 not taken.
✓ Branch 2 taken 4 times.
✗ Branch 3 not taken.
✓ Branch 4 taken 4 times.
✗ Branch 5 not taken.
✓ Branch 6 taken 4 times.
✗ Branch 7 not taken.
✗ Branch 8 not taken.
✓ Branch 9 taken 4 times.
|
4 | QTEST(releasedSpy.last().first().value<quint32>(), "linuxKey"); |
485 | |||
486 | // and a press/release "manually" | ||
487 |
1/2✓ Branch 0 taken 4 times.
✗ Branch 1 not taken.
|
4 | m_fakeInput->requestKeyboardKeyPress(linuxKey); |
488 |
5/10✓ Branch 0 taken 4 times.
✗ Branch 1 not taken.
✓ Branch 2 taken 4 times.
✗ Branch 3 not taken.
✓ Branch 4 taken 4 times.
✗ Branch 5 not taken.
✓ Branch 6 taken 4 times.
✗ Branch 7 not taken.
✗ Branch 8 not taken.
✓ Branch 9 taken 4 times.
|
4 | QVERIFY(pressedSpy.wait()); |
489 |
2/4✓ Branch 0 taken 4 times.
✗ Branch 1 not taken.
✗ Branch 2 not taken.
✓ Branch 3 taken 4 times.
|
4 | QCOMPARE(pressedSpy.count(), 2); |
490 |
2/4✓ Branch 0 taken 4 times.
✗ Branch 1 not taken.
✗ Branch 2 not taken.
✓ Branch 3 taken 4 times.
|
4 | QCOMPARE(releasedSpy.count(), 1); |
491 |
5/10✓ Branch 0 taken 4 times.
✗ Branch 1 not taken.
✓ Branch 2 taken 4 times.
✗ Branch 3 not taken.
✓ Branch 4 taken 4 times.
✗ Branch 5 not taken.
✓ Branch 6 taken 4 times.
✗ Branch 7 not taken.
✗ Branch 8 not taken.
✓ Branch 9 taken 4 times.
|
4 | QTEST(pressedSpy.last().first().value<quint32>(), "linuxKey"); |
492 | // and release | ||
493 |
1/2✓ Branch 0 taken 4 times.
✗ Branch 1 not taken.
|
4 | m_fakeInput->requestKeyboardKeyRelease(linuxKey); |
494 |
5/10✓ Branch 0 taken 4 times.
✗ Branch 1 not taken.
✓ Branch 2 taken 4 times.
✗ Branch 3 not taken.
✓ Branch 4 taken 4 times.
✗ Branch 5 not taken.
✓ Branch 6 taken 4 times.
✗ Branch 7 not taken.
✗ Branch 8 not taken.
✓ Branch 9 taken 4 times.
|
4 | QVERIFY(releasedSpy.wait()); |
495 |
2/4✓ Branch 0 taken 4 times.
✗ Branch 1 not taken.
✗ Branch 2 not taken.
✓ Branch 3 taken 4 times.
|
4 | QCOMPARE(pressedSpy.count(), 2); |
496 |
2/4✓ Branch 0 taken 4 times.
✗ Branch 1 not taken.
✗ Branch 2 not taken.
✓ Branch 3 taken 4 times.
|
4 | QCOMPARE(releasedSpy.count(), 2); |
497 |
5/10✓ Branch 0 taken 4 times.
✗ Branch 1 not taken.
✓ Branch 2 taken 4 times.
✗ Branch 3 not taken.
✓ Branch 4 taken 4 times.
✗ Branch 5 not taken.
✓ Branch 6 taken 4 times.
✗ Branch 7 not taken.
✗ Branch 8 not taken.
✓ Branch 9 taken 4 times.
|
4 | QTEST(releasedSpy.last().first().value<quint32>(), "linuxKey"); |
498 |
1/2✗ Branch 0 not taken.
✓ Branch 1 taken 4 times.
|
4 | } |
499 | |||
500 |
4/8✓ Branch 0 taken 1 times.
✗ Branch 1 not taken.
✓ Branch 2 taken 1 times.
✗ Branch 3 not taken.
✓ Branch 4 taken 1 times.
✗ Branch 5 not taken.
✓ Branch 6 taken 1 times.
✗ Branch 7 not taken.
|
1 | QTEST_GUILESS_MAIN(FakeInputTest) |
501 | #include "fake_input.moc" | ||
502 |