Directory: | ./ |
---|---|
File: | autotests/client/xdg_shell.cpp |
Date: | 2024-01-22 17:25:27 |
Exec | Total | Coverage | |
---|---|---|---|
Lines: | 738 | 738 | 100.0% |
Branches: | 1536 | 3106 | 49.5% |
Line | Branch | Exec | Source |
---|---|---|---|
1 | /******************************************************************** | ||
2 | Copyright 2016 Martin Gräßlin <mgraesslin@kde.org> | ||
3 | Copyright 2017 David Edmundson <davidedmundson@kde.org> | ||
4 | Copyright © 2020 Roman Gilg <subdiff@gmail.com> | ||
5 | |||
6 | This library is free software; you can redistribute it and/or | ||
7 | modify it under the terms of the GNU Lesser General Public | ||
8 | License as published by the Free Software Foundation; either | ||
9 | version 2.1 of the License, or (at your option) version 3, or any | ||
10 | later version accepted by the membership of KDE e.V. (or its | ||
11 | successor approved by the membership of KDE e.V.), which shall | ||
12 | act as a proxy defined in Section 6 of version 3 of the license. | ||
13 | |||
14 | This library is distributed in the hope that it will be useful, | ||
15 | but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
16 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU | ||
17 | Lesser General Public License for more details. | ||
18 | |||
19 | You should have received a copy of the GNU Lesser General Public | ||
20 | License along with this library. If not, see <http://www.gnu.org/licenses/>. | ||
21 | *********************************************************************/ | ||
22 | #include <QtTest> | ||
23 | |||
24 | #include "../../src/client/compositor.h" | ||
25 | #include "../../src/client/connection_thread.h" | ||
26 | #include "../../src/client/event_queue.h" | ||
27 | #include "../../src/client/output.h" | ||
28 | #include "../../src/client/registry.h" | ||
29 | #include "../../src/client/seat.h" | ||
30 | #include "../../src/client/shm_pool.h" | ||
31 | #include "../../src/client/surface.h" | ||
32 | #include "../../src/client/xdg_shell.h" | ||
33 | |||
34 | #include "../../server/compositor.h" | ||
35 | #include "../../server/display.h" | ||
36 | #include "../../server/surface.h" | ||
37 | #include "../../server/xdg_shell_popup.h" | ||
38 | #include "../../server/xdg_shell_toplevel.h" | ||
39 | |||
40 | #include "../../tests/globals.h" | ||
41 | |||
42 | #include <wayland-xdg-shell-client-protocol.h> | ||
43 | |||
44 | using namespace Wrapland; | ||
45 | |||
46 | class XdgShellTest : public QObject | ||
47 | { | ||
48 | Q_OBJECT | ||
49 | public: | ||
50 | explicit XdgShellTest(QObject* parent = nullptr); | ||
51 | |||
52 | private Q_SLOTS: | ||
53 | void init(); | ||
54 | void cleanup(); | ||
55 | |||
56 | void testCreateSurface(); | ||
57 | void testTitle(); | ||
58 | void testWindowClass(); | ||
59 | void testMaximize(); | ||
60 | void testMinimize(); | ||
61 | void testFullscreen(); | ||
62 | void testShowWindowMenu(); | ||
63 | void testMove(); | ||
64 | void testResize_data(); | ||
65 | void testResize(); | ||
66 | void testTransient(); | ||
67 | void testPing(); | ||
68 | void testClose(); | ||
69 | void testConfigureStates_data(); | ||
70 | void testConfigureStates(); | ||
71 | void testConfigureMultipleAcks(); | ||
72 | |||
73 | void testMaxSize(); | ||
74 | void testMinSize(); | ||
75 | void test_bounds(); | ||
76 | void test_capabilities(); | ||
77 | |||
78 | void testPopup_data(); | ||
79 | void testPopup(); | ||
80 | |||
81 | void test_popup_reposition(); | ||
82 | |||
83 | void testMultipleRoles1(); | ||
84 | void testMultipleRoles2(); | ||
85 | void test_role_after_buffer(); | ||
86 | |||
87 | void testWindowGeometry(); | ||
88 | |||
89 | private: | ||
90 | 1 | struct { | |
91 | std::unique_ptr<Wrapland::Server::Display> display; | ||
92 | Wrapland::Server::globals globals; | ||
93 | |||
94 | 1 | Wrapland::Server::Seat* seat{nullptr}; | |
95 | } server; | ||
96 | |||
97 | Client::ConnectionThread* m_connection; | ||
98 | Client::EventQueue* m_queue; | ||
99 | Client::Compositor* m_compositor; | ||
100 | Client::XdgShell* m_xdgShell; | ||
101 | Client::ShmPool* m_shmPool; | ||
102 | Client::Output* m_output1; | ||
103 | Client::Output* m_output2; | ||
104 | Client::Seat* m_seat; | ||
105 | QThread* m_thread; | ||
106 | }; | ||
107 | |||
108 |
2/4✓ Branch 0 taken 1 times.
✗ Branch 1 not taken.
✓ Branch 2 taken 1 times.
✗ Branch 3 not taken.
|
2 | XdgShellTest::XdgShellTest(QObject* parent) |
109 | 1 | : QObject(parent) | |
110 | 1 | , m_connection(nullptr) | |
111 | 1 | , m_queue(nullptr) | |
112 | 1 | , m_compositor(nullptr) | |
113 | 1 | , m_xdgShell(nullptr) | |
114 | 1 | , m_shmPool(nullptr) | |
115 | 1 | , m_output1(nullptr) | |
116 | 1 | , m_output2(nullptr) | |
117 | 1 | , m_seat(nullptr) | |
118 | 1 | , m_thread(nullptr) | |
119 | 1 | { | |
120 |
1/2✓ Branch 0 taken 1 times.
✗ Branch 1 not taken.
|
1 | qRegisterMetaType<Server::Surface*>(); |
121 |
1/2✓ Branch 0 taken 1 times.
✗ Branch 1 not taken.
|
1 | qRegisterMetaType<Server::XdgShellToplevel*>(); |
122 |
1/2✓ Branch 0 taken 1 times.
✗ Branch 1 not taken.
|
1 | qRegisterMetaType<Server::XdgShellPopup*>(); |
123 |
1/2✓ Branch 0 taken 1 times.
✗ Branch 1 not taken.
|
1 | qRegisterMetaType<Server::output*>(); |
124 |
1/2✓ Branch 0 taken 1 times.
✗ Branch 1 not taken.
|
1 | qRegisterMetaType<Server::Seat*>(); |
125 |
1/2✓ Branch 0 taken 1 times.
✗ Branch 1 not taken.
|
1 | qRegisterMetaType<Client::xdg_shell_states>(); |
126 |
1/2✓ Branch 0 taken 1 times.
✗ Branch 1 not taken.
|
1 | qRegisterMetaType<std::string>(); |
127 |
1/2✓ Branch 0 taken 1 times.
✗ Branch 1 not taken.
|
1 | qRegisterMetaType<uint32_t>(); |
128 | 1 | } | |
129 | |||
130 | constexpr auto socket_name{"wrapland-test-xdg-shell-0"}; | ||
131 | |||
132 | 63 | void XdgShellTest::init() | |
133 | { | ||
134 | 63 | server.display = std::make_unique<Wrapland::Server::Display>(); | |
135 |
2/4✓ Branch 0 taken 63 times.
✗ Branch 1 not taken.
✓ Branch 2 taken 63 times.
✗ Branch 3 not taken.
|
63 | server.display->set_socket_name(socket_name); |
136 | 63 | server.display->start(); | |
137 |
1/2✓ Branch 0 taken 63 times.
✗ Branch 1 not taken.
|
63 | QVERIFY(server.display->running()); |
138 | |||
139 | 63 | server.display->createShm(); | |
140 | 126 | server.globals.output_manager | |
141 | 126 | = std::make_unique<Wrapland::Server::output_manager>(*server.display); | |
142 | 126 | server.globals.compositor | |
143 | 126 | = std::make_unique<Wrapland::Server::Compositor>(server.display.get()); | |
144 | 63 | server.globals.xdg_shell = std::make_unique<Wrapland::Server::XdgShell>(server.display.get()); | |
145 | |||
146 | 189 | auto add_output = [this] { | |
147 |
2/4✓ Branch 0 taken 126 times.
✗ Branch 1 not taken.
✓ Branch 2 taken 126 times.
✗ Branch 3 not taken.
|
252 | server.globals.outputs.push_back( |
148 | 126 | std::make_unique<Wrapland::Server::output>(*server.globals.output_manager)); | |
149 | 126 | auto& output = server.globals.outputs.back(); | |
150 | 126 | output->add_mode(Server::output_mode{QSize(1024, 768)}); | |
151 | 126 | auto state = output->get_state(); | |
152 | 126 | state.enabled = true; | |
153 | 126 | output->set_state(state); | |
154 | 126 | output->done(); | |
155 | 126 | }; | |
156 | 63 | add_output(); | |
157 | 63 | add_output(); | |
158 | |||
159 |
2/4✓ Branch 0 taken 63 times.
✗ Branch 1 not taken.
✓ Branch 2 taken 63 times.
✗ Branch 3 not taken.
|
126 | server.globals.seats.emplace_back( |
160 | 63 | std::make_unique<Wrapland::Server::Seat>(server.display.get())); | |
161 | 63 | server.seat = server.globals.seats.back().get(); | |
162 | 63 | server.seat->setHasKeyboard(true); | |
163 | 63 | server.seat->setHasPointer(true); | |
164 | 63 | server.seat->setHasTouch(true); | |
165 | |||
166 | // Setup connection. | ||
167 |
1/2✓ Branch 0 taken 63 times.
✗ Branch 1 not taken.
|
63 | m_connection = new Client::ConnectionThread; |
168 | 63 | QSignalSpy connectedSpy(m_connection, &Client::ConnectionThread::establishedChanged); | |
169 |
3/6✓ Branch 0 taken 63 times.
✗ Branch 1 not taken.
✓ Branch 2 taken 63 times.
✗ Branch 3 not taken.
✓ Branch 4 taken 63 times.
✗ Branch 5 not taken.
|
63 | QVERIFY(connectedSpy.isValid()); |
170 |
2/4✓ Branch 0 taken 63 times.
✗ Branch 1 not taken.
✓ Branch 2 taken 63 times.
✗ Branch 3 not taken.
|
63 | m_connection->setSocketName(socket_name); |
171 | |||
172 |
2/4✓ Branch 0 taken 63 times.
✗ Branch 1 not taken.
✓ Branch 2 taken 63 times.
✗ Branch 3 not taken.
|
63 | m_thread = new QThread(this); |
173 |
1/2✓ Branch 0 taken 63 times.
✗ Branch 1 not taken.
|
63 | m_connection->moveToThread(m_thread); |
174 |
1/2✓ Branch 0 taken 63 times.
✗ Branch 1 not taken.
|
63 | m_thread->start(); |
175 | |||
176 |
1/2✓ Branch 0 taken 63 times.
✗ Branch 1 not taken.
|
63 | m_connection->establishConnection(); |
177 |
6/12✓ Branch 0 taken 63 times.
✗ Branch 1 not taken.
✓ Branch 2 taken 63 times.
✗ Branch 3 not taken.
✓ Branch 4 taken 63 times.
✗ Branch 5 not taken.
✓ Branch 6 taken 63 times.
✗ Branch 7 not taken.
✓ Branch 8 taken 63 times.
✗ Branch 9 not taken.
✗ Branch 10 not taken.
✓ Branch 11 taken 63 times.
|
63 | QVERIFY(connectedSpy.count() || connectedSpy.wait()); |
178 |
2/4✓ Branch 0 taken 63 times.
✗ Branch 1 not taken.
✗ Branch 2 not taken.
✓ Branch 3 taken 63 times.
|
63 | QCOMPARE(connectedSpy.count(), 1); |
179 | |||
180 |
2/4✓ Branch 0 taken 63 times.
✗ Branch 1 not taken.
✓ Branch 2 taken 63 times.
✗ Branch 3 not taken.
|
63 | m_queue = new Client::EventQueue(this); |
181 |
1/2✓ Branch 0 taken 63 times.
✗ Branch 1 not taken.
|
63 | m_queue->setup(m_connection); |
182 | |||
183 |
1/2✓ Branch 0 taken 63 times.
✗ Branch 1 not taken.
|
63 | Client::Registry registry; |
184 |
1/2✓ Branch 0 taken 63 times.
✗ Branch 1 not taken.
|
63 | QSignalSpy interfacesAnnouncedSpy(®istry, &Client::Registry::interfacesAnnounced); |
185 |
3/6✓ Branch 0 taken 63 times.
✗ Branch 1 not taken.
✓ Branch 2 taken 63 times.
✗ Branch 3 not taken.
✓ Branch 4 taken 63 times.
✗ Branch 5 not taken.
|
63 | QVERIFY(interfacesAnnouncedSpy.isValid()); |
186 |
1/2✓ Branch 0 taken 63 times.
✗ Branch 1 not taken.
|
63 | QSignalSpy interfaceAnnouncedSpy(®istry, &Client::Registry::interfaceAnnounced); |
187 |
3/6✓ Branch 0 taken 63 times.
✗ Branch 1 not taken.
✓ Branch 2 taken 63 times.
✗ Branch 3 not taken.
✓ Branch 4 taken 63 times.
✗ Branch 5 not taken.
|
63 | QVERIFY(interfaceAnnouncedSpy.isValid()); |
188 |
1/2✓ Branch 0 taken 63 times.
✗ Branch 1 not taken.
|
63 | QSignalSpy outputAnnouncedSpy(®istry, &Client::Registry::outputAnnounced); |
189 |
3/6✓ Branch 0 taken 63 times.
✗ Branch 1 not taken.
✓ Branch 2 taken 63 times.
✗ Branch 3 not taken.
✓ Branch 4 taken 63 times.
✗ Branch 5 not taken.
|
63 | QVERIFY(outputAnnouncedSpy.isValid()); |
190 | |||
191 |
1/2✓ Branch 0 taken 63 times.
✗ Branch 1 not taken.
|
63 | QSignalSpy xdgShellAnnouncedSpy(®istry, &Client::Registry::xdgShellAnnounced); |
192 |
3/6✓ Branch 0 taken 63 times.
✗ Branch 1 not taken.
✓ Branch 2 taken 63 times.
✗ Branch 3 not taken.
✓ Branch 4 taken 63 times.
✗ Branch 5 not taken.
|
63 | QVERIFY(xdgShellAnnouncedSpy.isValid()); |
193 | |||
194 |
1/2✓ Branch 0 taken 63 times.
✗ Branch 1 not taken.
|
63 | registry.setEventQueue(m_queue); |
195 |
1/2✓ Branch 0 taken 63 times.
✗ Branch 1 not taken.
|
63 | registry.create(m_connection); |
196 |
3/6✓ Branch 0 taken 63 times.
✗ Branch 1 not taken.
✓ Branch 2 taken 63 times.
✗ Branch 3 not taken.
✓ Branch 4 taken 63 times.
✗ Branch 5 not taken.
|
63 | QVERIFY(registry.isValid()); |
197 |
1/2✓ Branch 0 taken 63 times.
✗ Branch 1 not taken.
|
63 | registry.setup(); |
198 | |||
199 |
5/10✓ Branch 0 taken 63 times.
✗ Branch 1 not taken.
✓ Branch 2 taken 63 times.
✗ Branch 3 not taken.
✓ Branch 4 taken 63 times.
✗ Branch 5 not taken.
✓ Branch 6 taken 63 times.
✗ Branch 7 not taken.
✗ Branch 8 not taken.
✓ Branch 9 taken 63 times.
|
63 | QVERIFY(interfacesAnnouncedSpy.wait()); |
200 | |||
201 |
2/4✓ Branch 0 taken 63 times.
✗ Branch 1 not taken.
✗ Branch 2 not taken.
✓ Branch 3 taken 63 times.
|
63 | QCOMPARE(outputAnnouncedSpy.count(), 2); |
202 |
3/6✓ Branch 0 taken 63 times.
✗ Branch 1 not taken.
✓ Branch 2 taken 63 times.
✗ Branch 3 not taken.
✓ Branch 4 taken 63 times.
✗ Branch 5 not taken.
|
126 | m_output1 = registry.createOutput(outputAnnouncedSpy.first().at(0).value<quint32>(), |
203 |
2/4✓ Branch 0 taken 63 times.
✗ Branch 1 not taken.
✓ Branch 2 taken 63 times.
✗ Branch 3 not taken.
|
63 | outputAnnouncedSpy.first().at(1).value<quint32>(), |
204 | this); | ||
205 |
3/6✓ Branch 0 taken 63 times.
✗ Branch 1 not taken.
✓ Branch 2 taken 63 times.
✗ Branch 3 not taken.
✓ Branch 4 taken 63 times.
✗ Branch 5 not taken.
|
126 | m_output2 = registry.createOutput(outputAnnouncedSpy.last().at(0).value<quint32>(), |
206 |
2/4✓ Branch 0 taken 63 times.
✗ Branch 1 not taken.
✓ Branch 2 taken 63 times.
✗ Branch 3 not taken.
|
63 | outputAnnouncedSpy.last().at(1).value<quint32>(), |
207 | this); | ||
208 | |||
209 |
2/4✓ Branch 0 taken 63 times.
✗ Branch 1 not taken.
✓ Branch 2 taken 63 times.
✗ Branch 3 not taken.
|
63 | m_shmPool = registry.createShmPool(registry.interface(Client::Registry::Interface::Shm).name, |
210 |
1/2✓ Branch 0 taken 63 times.
✗ Branch 1 not taken.
|
63 | registry.interface(Client::Registry::Interface::Shm).version, |
211 | this); | ||
212 |
2/4✓ Branch 0 taken 63 times.
✗ Branch 1 not taken.
✓ Branch 2 taken 63 times.
✗ Branch 3 not taken.
|
63 | QVERIFY(m_shmPool); |
213 |
3/6✓ Branch 0 taken 63 times.
✗ Branch 1 not taken.
✓ Branch 2 taken 63 times.
✗ Branch 3 not taken.
✓ Branch 4 taken 63 times.
✗ Branch 5 not taken.
|
63 | QVERIFY(m_shmPool->isValid()); |
214 | |||
215 |
1/2✓ Branch 0 taken 63 times.
✗ Branch 1 not taken.
|
63 | m_compositor = registry.createCompositor( |
216 |
1/2✓ Branch 0 taken 63 times.
✗ Branch 1 not taken.
|
63 | registry.interface(Client::Registry::Interface::Compositor).name, |
217 |
1/2✓ Branch 0 taken 63 times.
✗ Branch 1 not taken.
|
63 | registry.interface(Client::Registry::Interface::Compositor).version, |
218 | this); | ||
219 |
2/4✓ Branch 0 taken 63 times.
✗ Branch 1 not taken.
✓ Branch 2 taken 63 times.
✗ Branch 3 not taken.
|
63 | QVERIFY(m_compositor); |
220 |
3/6✓ Branch 0 taken 63 times.
✗ Branch 1 not taken.
✓ Branch 2 taken 63 times.
✗ Branch 3 not taken.
✓ Branch 4 taken 63 times.
✗ Branch 5 not taken.
|
63 | QVERIFY(m_compositor->isValid()); |
221 | |||
222 |
2/4✓ Branch 0 taken 63 times.
✗ Branch 1 not taken.
✓ Branch 2 taken 63 times.
✗ Branch 3 not taken.
|
63 | m_seat = registry.createSeat(registry.interface(Client::Registry::Interface::Seat).name, |
223 |
1/2✓ Branch 0 taken 63 times.
✗ Branch 1 not taken.
|
63 | registry.interface(Client::Registry::Interface::Seat).version, |
224 | this); | ||
225 |
2/4✓ Branch 0 taken 63 times.
✗ Branch 1 not taken.
✓ Branch 2 taken 63 times.
✗ Branch 3 not taken.
|
63 | QVERIFY(m_seat); |
226 |
3/6✓ Branch 0 taken 63 times.
✗ Branch 1 not taken.
✓ Branch 2 taken 63 times.
✗ Branch 3 not taken.
✓ Branch 4 taken 63 times.
✗ Branch 5 not taken.
|
63 | QVERIFY(m_seat->isValid()); |
227 | |||
228 |
2/4✓ Branch 0 taken 63 times.
✗ Branch 1 not taken.
✗ Branch 2 not taken.
✓ Branch 3 taken 63 times.
|
63 | QCOMPARE(xdgShellAnnouncedSpy.count(), 1); |
229 |
3/6✓ Branch 0 taken 63 times.
✗ Branch 1 not taken.
✓ Branch 2 taken 63 times.
✗ Branch 3 not taken.
✗ Branch 4 not taken.
✓ Branch 5 taken 63 times.
|
63 | QCOMPARE(registry.interface(Client::Registry::Interface::XdgShell).version, 5); |
230 | |||
231 | 63 | m_xdgShell | |
232 |
2/4✓ Branch 0 taken 63 times.
✗ Branch 1 not taken.
✓ Branch 2 taken 63 times.
✗ Branch 3 not taken.
|
63 | = registry.createXdgShell(registry.interface(Client::Registry::Interface::XdgShell).name, |
233 |
1/2✓ Branch 0 taken 63 times.
✗ Branch 1 not taken.
|
63 | registry.interface(Client::Registry::Interface::XdgShell).version, |
234 | this); | ||
235 |
2/4✓ Branch 0 taken 63 times.
✗ Branch 1 not taken.
✓ Branch 2 taken 63 times.
✗ Branch 3 not taken.
|
63 | QVERIFY(m_xdgShell); |
236 |
3/6✓ Branch 0 taken 63 times.
✗ Branch 1 not taken.
✓ Branch 2 taken 63 times.
✗ Branch 3 not taken.
✓ Branch 4 taken 63 times.
✗ Branch 5 not taken.
|
63 | QVERIFY(m_xdgShell->isValid()); |
237 |
1/2✗ Branch 0 not taken.
✓ Branch 1 taken 63 times.
|
63 | } |
238 | |||
239 | 63 | void XdgShellTest::cleanup() | |
240 | { | ||
241 | #define CLEANUP(variable) \ | ||
242 | delete variable; \ | ||
243 | variable = nullptr; | ||
244 | |||
245 |
1/2✗ Branch 0 not taken.
✓ Branch 1 taken 63 times.
|
63 | CLEANUP(m_xdgShell) |
246 |
1/2✗ Branch 0 not taken.
✓ Branch 1 taken 63 times.
|
63 | CLEANUP(m_compositor) |
247 |
1/2✗ Branch 0 not taken.
✓ Branch 1 taken 63 times.
|
63 | CLEANUP(m_shmPool) |
248 |
1/2✗ Branch 0 not taken.
✓ Branch 1 taken 63 times.
|
63 | CLEANUP(m_output1) |
249 |
1/2✗ Branch 0 not taken.
✓ Branch 1 taken 63 times.
|
63 | CLEANUP(m_output2) |
250 |
1/2✗ Branch 0 not taken.
✓ Branch 1 taken 63 times.
|
63 | CLEANUP(m_seat) |
251 |
1/2✗ Branch 0 not taken.
✓ Branch 1 taken 63 times.
|
63 | CLEANUP(m_queue) |
252 | |||
253 |
1/2✓ Branch 0 taken 63 times.
✗ Branch 1 not taken.
|
63 | Q_ASSERT(m_connection); |
254 | 63 | m_connection->deleteLater(); | |
255 | 63 | m_connection = nullptr; | |
256 | |||
257 |
1/2✗ Branch 0 not taken.
✓ Branch 1 taken 63 times.
|
63 | if (m_thread) { |
258 | 63 | m_thread->quit(); | |
259 | 63 | m_thread->wait(); | |
260 |
1/2✗ Branch 0 not taken.
✓ Branch 1 taken 63 times.
|
63 | delete m_thread; |
261 | 63 | m_thread = nullptr; | |
262 | 63 | } | |
263 | #undef CLEANUP | ||
264 | |||
265 |
1/2✓ Branch 0 taken 63 times.
✗ Branch 1 not taken.
|
63 | server = {}; |
266 | 63 | } | |
267 | |||
268 | #define SURFACE \ | ||
269 | QSignalSpy xdgSurfaceCreatedSpy(server.globals.xdg_shell.get(), \ | ||
270 | &Server::XdgShell::toplevelCreated); \ | ||
271 | QVERIFY(xdgSurfaceCreatedSpy.isValid()); \ | ||
272 | std::unique_ptr<Client::Surface> surface(m_compositor->createSurface()); \ | ||
273 | std::unique_ptr<Client::XdgShellToplevel> xdgSurface( \ | ||
274 | m_xdgShell->create_toplevel(surface.get())); \ | ||
275 | QCOMPARE(xdgSurface->get_configure_data().size, QSize()); \ | ||
276 | QVERIFY(xdgSurfaceCreatedSpy.wait()); \ | ||
277 | auto serverXdgSurface \ | ||
278 | = xdgSurfaceCreatedSpy.first().first().value<Server::XdgShellToplevel*>(); \ | ||
279 | QVERIFY(serverXdgSurface); | ||
280 | |||
281 | 1 | void XdgShellTest::testCreateSurface() | |
282 | { | ||
283 | // This test verifies that we can create a surface. | ||
284 | |||
285 | // First created the signal spies for the server. | ||
286 | 1 | QSignalSpy surfaceCreatedSpy(server.globals.compositor.get(), | |
287 | &Server::Compositor::surfaceCreated); | ||
288 |
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(surfaceCreatedSpy.isValid()); |
289 |
1/2✓ Branch 0 taken 1 times.
✗ Branch 1 not taken.
|
1 | QSignalSpy xdgSurfaceCreatedSpy(server.globals.xdg_shell.get(), |
290 | &Server::XdgShell::toplevelCreated); | ||
291 |
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(xdgSurfaceCreatedSpy.isValid()); |
292 | |||
293 | // create surface | ||
294 |
1/2✓ Branch 0 taken 1 times.
✗ Branch 1 not taken.
|
1 | std::unique_ptr<Client::Surface> surface(m_compositor->createSurface()); |
295 |
2/4✓ Branch 0 taken 1 times.
✗ Branch 1 not taken.
✓ Branch 2 taken 1 times.
✗ Branch 3 not taken.
|
1 | QVERIFY(surface != nullptr); |
296 |
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(surfaceCreatedSpy.wait()); |
297 |
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 | auto serverSurface = surfaceCreatedSpy.first().first().value<Server::Surface*>(); |
298 |
2/4✓ Branch 0 taken 1 times.
✗ Branch 1 not taken.
✓ Branch 2 taken 1 times.
✗ Branch 3 not taken.
|
1 | QVERIFY(serverSurface); |
299 | |||
300 | // create shell surface | ||
301 | 1 | std::unique_ptr<Client::XdgShellToplevel> xdgSurface( | |
302 |
1/2✓ Branch 0 taken 1 times.
✗ Branch 1 not taken.
|
1 | m_xdgShell->create_toplevel(surface.get())); |
303 |
2/4✓ Branch 0 taken 1 times.
✗ Branch 1 not taken.
✓ Branch 2 taken 1 times.
✗ Branch 3 not taken.
|
1 | QVERIFY(xdgSurface != nullptr); |
304 |
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(xdgSurfaceCreatedSpy.wait()); |
305 | |||
306 | // verify base things | ||
307 |
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 | auto serverXdgSurface = xdgSurfaceCreatedSpy.first().first().value<Server::XdgShellToplevel*>(); |
308 |
2/4✓ Branch 0 taken 1 times.
✗ Branch 1 not taken.
✓ Branch 2 taken 1 times.
✗ Branch 3 not taken.
|
1 | QVERIFY(serverXdgSurface); |
309 |
3/6✓ Branch 0 taken 1 times.
✗ Branch 1 not taken.
✓ Branch 2 taken 1 times.
✗ Branch 3 not taken.
✗ Branch 4 not taken.
✓ Branch 5 taken 1 times.
|
1 | QCOMPARE(serverXdgSurface->configurePending(), false); |
310 |
3/6✓ Branch 0 taken 1 times.
✗ Branch 1 not taken.
✓ Branch 2 taken 1 times.
✗ Branch 3 not taken.
✗ Branch 4 not taken.
✓ Branch 5 taken 1 times.
|
1 | QVERIFY(serverXdgSurface->title().empty()); |
311 |
3/6✓ Branch 0 taken 1 times.
✗ Branch 1 not taken.
✓ Branch 2 taken 1 times.
✗ Branch 3 not taken.
✗ Branch 4 not taken.
✓ Branch 5 taken 1 times.
|
1 | QVERIFY(serverXdgSurface->appId().empty()); |
312 |
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 | QCOMPARE(serverXdgSurface->transientFor(), nullptr); |
313 |
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(serverXdgSurface->surface()->surface(), serverSurface); |
314 | |||
315 | // now let's destroy it | ||
316 |
1/2✓ Branch 0 taken 1 times.
✗ Branch 1 not taken.
|
1 | QSignalSpy destroyedSpy(serverXdgSurface, &QObject::destroyed); |
317 |
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(destroyedSpy.isValid()); |
318 | 1 | xdgSurface.reset(); | |
319 |
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(destroyedSpy.wait()); |
320 |
1/2✗ Branch 0 not taken.
✓ Branch 1 taken 1 times.
|
1 | } |
321 | |||
322 | 1 | void XdgShellTest::testTitle() | |
323 | { | ||
324 | // this test verifies that we can change the title of a shell surface | ||
325 | // first create surface | ||
326 |
18/36✓ 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 taken 1 times.
✗ Branch 11 not taken.
✓ Branch 12 taken 1 times.
✗ Branch 13 not taken.
✗ Branch 14 not taken.
✓ Branch 15 taken 1 times.
✓ Branch 16 taken 1 times.
✗ Branch 17 not taken.
✓ Branch 18 taken 1 times.
✗ Branch 19 not taken.
✓ Branch 20 taken 1 times.
✗ Branch 21 not taken.
✓ Branch 22 taken 1 times.
✗ Branch 23 not taken.
✗ Branch 24 not taken.
✓ Branch 25 taken 1 times.
✓ Branch 26 taken 1 times.
✗ Branch 27 not taken.
✓ Branch 28 taken 1 times.
✗ Branch 29 not taken.
✓ Branch 30 taken 1 times.
✗ Branch 31 not taken.
✓ Branch 32 taken 1 times.
✗ Branch 33 not taken.
✓ Branch 34 taken 1 times.
✗ Branch 35 not taken.
|
1 | SURFACE |
327 | |||
328 | // should not have a title yet | ||
329 |
3/6✓ Branch 0 taken 1 times.
✗ Branch 1 not taken.
✓ Branch 2 taken 1 times.
✗ Branch 3 not taken.
✗ Branch 4 not taken.
✓ Branch 5 taken 1 times.
|
1 | QVERIFY(serverXdgSurface->title().empty()); |
330 | |||
331 | // lets' change the title | ||
332 |
1/2✓ Branch 0 taken 1 times.
✗ Branch 1 not taken.
|
1 | QSignalSpy titleChangedSpy(serverXdgSurface, &Server::XdgShellToplevel::titleChanged); |
333 |
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(titleChangedSpy.isValid()); |
334 |
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 | xdgSurface->setTitle(QStringLiteral("foo")); |
335 |
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(titleChangedSpy.wait()); |
336 |
2/4✓ Branch 0 taken 1 times.
✗ Branch 1 not taken.
✗ Branch 2 not taken.
✓ Branch 3 taken 1 times.
|
1 | QCOMPARE(titleChangedSpy.count(), 1); |
337 |
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(titleChangedSpy.first().first().value<std::string>(), "foo"); |
338 |
3/6✓ Branch 0 taken 1 times.
✗ Branch 1 not taken.
✓ Branch 2 taken 1 times.
✗ Branch 3 not taken.
✗ Branch 4 not taken.
✓ Branch 5 taken 1 times.
|
1 | QCOMPARE(serverXdgSurface->title(), "foo"); |
339 |
1/2✗ Branch 0 not taken.
✓ Branch 1 taken 1 times.
|
1 | } |
340 | |||
341 | 1 | void XdgShellTest::testWindowClass() | |
342 | { | ||
343 | // this test verifies that we can change the window class/app id of a shell surface | ||
344 | // first create surface | ||
345 |
18/36✓ 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 taken 1 times.
✗ Branch 11 not taken.
✓ Branch 12 taken 1 times.
✗ Branch 13 not taken.
✗ Branch 14 not taken.
✓ Branch 15 taken 1 times.
✓ Branch 16 taken 1 times.
✗ Branch 17 not taken.
✓ Branch 18 taken 1 times.
✗ Branch 19 not taken.
✓ Branch 20 taken 1 times.
✗ Branch 21 not taken.
✓ Branch 22 taken 1 times.
✗ Branch 23 not taken.
✗ Branch 24 not taken.
✓ Branch 25 taken 1 times.
✓ Branch 26 taken 1 times.
✗ Branch 27 not taken.
✓ Branch 28 taken 1 times.
✗ Branch 29 not taken.
✓ Branch 30 taken 1 times.
✗ Branch 31 not taken.
✓ Branch 32 taken 1 times.
✗ Branch 33 not taken.
✓ Branch 34 taken 1 times.
✗ Branch 35 not taken.
|
1 | SURFACE |
346 | |||
347 | // should not have a window class yet | ||
348 |
3/6✓ Branch 0 taken 1 times.
✗ Branch 1 not taken.
✓ Branch 2 taken 1 times.
✗ Branch 3 not taken.
✗ Branch 4 not taken.
✓ Branch 5 taken 1 times.
|
1 | QVERIFY(serverXdgSurface->appId().empty()); |
349 | |||
350 | // let's change the window class | ||
351 |
1/2✓ Branch 0 taken 1 times.
✗ Branch 1 not taken.
|
1 | QSignalSpy windowClassChanged(serverXdgSurface, &Server::XdgShellToplevel::appIdChanged); |
352 |
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(windowClassChanged.isValid()); |
353 |
2/4✓ Branch 0 taken 1 times.
✗ Branch 1 not taken.
✓ Branch 2 taken 1 times.
✗ Branch 3 not taken.
|
1 | xdgSurface->setAppId(QByteArrayLiteral("org.kde.xdgsurfacetest")); |
354 |
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(windowClassChanged.wait()); |
355 |
2/4✓ Branch 0 taken 1 times.
✗ Branch 1 not taken.
✗ Branch 2 not taken.
✓ Branch 3 taken 1 times.
|
1 | QCOMPARE(windowClassChanged.count(), 1); |
356 |
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(windowClassChanged.first().first().value<std::string>(), "org.kde.xdgsurfacetest"); |
357 |
3/6✓ Branch 0 taken 1 times.
✗ Branch 1 not taken.
✓ Branch 2 taken 1 times.
✗ Branch 3 not taken.
✗ Branch 4 not taken.
✓ Branch 5 taken 1 times.
|
1 | QCOMPARE(serverXdgSurface->appId(), "org.kde.xdgsurfacetest"); |
358 |
1/2✗ Branch 0 not taken.
✓ Branch 1 taken 1 times.
|
1 | } |
359 | |||
360 | 1 | void XdgShellTest::testMaximize() | |
361 | { | ||
362 | // this test verifies that the maximize/unmaximize calls work | ||
363 |
18/36✓ 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 taken 1 times.
✗ Branch 11 not taken.
✓ Branch 12 taken 1 times.
✗ Branch 13 not taken.
✗ Branch 14 not taken.
✓ Branch 15 taken 1 times.
✓ Branch 16 taken 1 times.
✗ Branch 17 not taken.
✓ Branch 18 taken 1 times.
✗ Branch 19 not taken.
✓ Branch 20 taken 1 times.
✗ Branch 21 not taken.
✓ Branch 22 taken 1 times.
✗ Branch 23 not taken.
✗ Branch 24 not taken.
✓ Branch 25 taken 1 times.
✓ Branch 26 taken 1 times.
✗ Branch 27 not taken.
✓ Branch 28 taken 1 times.
✗ Branch 29 not taken.
✓ Branch 30 taken 1 times.
✗ Branch 31 not taken.
✓ Branch 32 taken 1 times.
✗ Branch 33 not taken.
✓ Branch 34 taken 1 times.
✗ Branch 35 not taken.
|
1 | SURFACE |
364 | |||
365 |
1/2✓ Branch 0 taken 1 times.
✗ Branch 1 not taken.
|
1 | QSignalSpy maximizeRequestedSpy(serverXdgSurface, &Server::XdgShellToplevel::maximizedChanged); |
366 |
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(maximizeRequestedSpy.isValid()); |
367 | |||
368 |
1/2✓ Branch 0 taken 1 times.
✗ Branch 1 not taken.
|
1 | xdgSurface->setMaximized(true); |
369 |
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(maximizeRequestedSpy.wait()); |
370 |
2/4✓ Branch 0 taken 1 times.
✗ Branch 1 not taken.
✗ Branch 2 not taken.
✓ Branch 3 taken 1 times.
|
1 | QCOMPARE(maximizeRequestedSpy.count(), 1); |
371 |
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(maximizeRequestedSpy.last().first().toBool(), true); |
372 | |||
373 |
1/2✓ Branch 0 taken 1 times.
✗ Branch 1 not taken.
|
1 | xdgSurface->setMaximized(false); |
374 |
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(maximizeRequestedSpy.wait()); |
375 |
2/4✓ Branch 0 taken 1 times.
✗ Branch 1 not taken.
✗ Branch 2 not taken.
✓ Branch 3 taken 1 times.
|
1 | QCOMPARE(maximizeRequestedSpy.count(), 2); |
376 |
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(maximizeRequestedSpy.last().first().toBool(), false); |
377 |
1/2✗ Branch 0 not taken.
✓ Branch 1 taken 1 times.
|
1 | } |
378 | |||
379 | 1 | void XdgShellTest::testMinimize() | |
380 | { | ||
381 | // this test verifies that the minimize request is delivered | ||
382 |
18/36✓ 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 taken 1 times.
✗ Branch 11 not taken.
✓ Branch 12 taken 1 times.
✗ Branch 13 not taken.
✗ Branch 14 not taken.
✓ Branch 15 taken 1 times.
✓ Branch 16 taken 1 times.
✗ Branch 17 not taken.
✓ Branch 18 taken 1 times.
✗ Branch 19 not taken.
✓ Branch 20 taken 1 times.
✗ Branch 21 not taken.
✓ Branch 22 taken 1 times.
✗ Branch 23 not taken.
✗ Branch 24 not taken.
✓ Branch 25 taken 1 times.
✓ Branch 26 taken 1 times.
✗ Branch 27 not taken.
✓ Branch 28 taken 1 times.
✗ Branch 29 not taken.
✓ Branch 30 taken 1 times.
✗ Branch 31 not taken.
✓ Branch 32 taken 1 times.
✗ Branch 33 not taken.
✓ Branch 34 taken 1 times.
✗ Branch 35 not taken.
|
1 | SURFACE |
383 | |||
384 |
1/2✓ Branch 0 taken 1 times.
✗ Branch 1 not taken.
|
1 | QSignalSpy minimizeRequestedSpy(serverXdgSurface, &Server::XdgShellToplevel::minimizeRequested); |
385 |
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(minimizeRequestedSpy.isValid()); |
386 | |||
387 |
1/2✓ Branch 0 taken 1 times.
✗ Branch 1 not taken.
|
1 | xdgSurface->requestMinimize(); |
388 |
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(minimizeRequestedSpy.wait()); |
389 |
2/4✓ Branch 0 taken 1 times.
✗ Branch 1 not taken.
✗ Branch 2 not taken.
✓ Branch 3 taken 1 times.
|
1 | QCOMPARE(minimizeRequestedSpy.count(), 1); |
390 |
1/2✗ Branch 0 not taken.
✓ Branch 1 taken 1 times.
|
1 | } |
391 | |||
392 | 1 | void XdgShellTest::testFullscreen() | |
393 | { | ||
394 | // this test verifies going to/from fullscreen | ||
395 | 1 | QSignalSpy xdgSurfaceCreatedSpy(server.globals.xdg_shell.get(), | |
396 | &Server::XdgShell::toplevelCreated); | ||
397 |
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(xdgSurfaceCreatedSpy.isValid()); |
398 |
1/2✓ Branch 0 taken 1 times.
✗ Branch 1 not taken.
|
1 | std::unique_ptr<Client::Surface> surface(m_compositor->createSurface()); |
399 | 1 | std::unique_ptr<Client::XdgShellToplevel> xdgSurface( | |
400 |
1/2✓ Branch 0 taken 1 times.
✗ Branch 1 not taken.
|
1 | m_xdgShell->create_toplevel(surface.get())); |
401 |
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(xdgSurfaceCreatedSpy.wait()); |
402 |
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 | auto serverXdgSurface = xdgSurfaceCreatedSpy.first().first().value<Server::XdgShellToplevel*>(); |
403 |
2/4✓ Branch 0 taken 1 times.
✗ Branch 1 not taken.
✓ Branch 2 taken 1 times.
✗ Branch 3 not taken.
|
1 | QVERIFY(serverXdgSurface); |
404 | |||
405 |
1/2✓ Branch 0 taken 1 times.
✗ Branch 1 not taken.
|
1 | QSignalSpy fullscreenSpy(serverXdgSurface, &Server::XdgShellToplevel::fullscreenChanged); |
406 |
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(fullscreenSpy.isValid()); |
407 | |||
408 | // without an output | ||
409 |
1/2✓ Branch 0 taken 1 times.
✗ Branch 1 not taken.
|
1 | xdgSurface->setFullscreen(true, nullptr); |
410 |
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(fullscreenSpy.wait()); |
411 |
2/4✓ Branch 0 taken 1 times.
✗ Branch 1 not taken.
✗ Branch 2 not taken.
✓ Branch 3 taken 1 times.
|
1 | QCOMPARE(fullscreenSpy.count(), 1); |
412 |
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(fullscreenSpy.last().at(0).toBool(), true); |
413 |
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 | QVERIFY(!fullscreenSpy.last().at(1).value<Server::output*>()); |
414 | |||
415 | // unset | ||
416 |
1/2✓ Branch 0 taken 1 times.
✗ Branch 1 not taken.
|
1 | xdgSurface->setFullscreen(false); |
417 |
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(fullscreenSpy.wait()); |
418 |
2/4✓ Branch 0 taken 1 times.
✗ Branch 1 not taken.
✗ Branch 2 not taken.
✓ Branch 3 taken 1 times.
|
1 | QCOMPARE(fullscreenSpy.count(), 2); |
419 |
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(fullscreenSpy.last().at(0).toBool(), false); |
420 |
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 | QVERIFY(!fullscreenSpy.last().at(1).value<Server::output*>()); |
421 | |||
422 | // with outputs | ||
423 |
1/2✓ Branch 0 taken 1 times.
✗ Branch 1 not taken.
|
1 | xdgSurface->setFullscreen(true, m_output1); |
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(fullscreenSpy.wait()); |
425 |
2/4✓ Branch 0 taken 1 times.
✗ Branch 1 not taken.
✗ Branch 2 not taken.
✓ Branch 3 taken 1 times.
|
1 | QCOMPARE(fullscreenSpy.count(), 3); |
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 not taken.
✓ Branch 7 taken 1 times.
|
1 | QCOMPARE(fullscreenSpy.last().at(0).toBool(), true); |
427 |
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 | QCOMPARE(fullscreenSpy.last().at(1).value<Server::output*>(), |
428 | server.globals.outputs.at(0).get()); | ||
429 | |||
430 | // now other output | ||
431 |
1/2✓ Branch 0 taken 1 times.
✗ Branch 1 not taken.
|
1 | xdgSurface->setFullscreen(true, m_output2); |
432 |
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(fullscreenSpy.wait()); |
433 |
2/4✓ Branch 0 taken 1 times.
✗ Branch 1 not taken.
✗ Branch 2 not taken.
✓ Branch 3 taken 1 times.
|
1 | QCOMPARE(fullscreenSpy.count(), 4); |
434 |
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(fullscreenSpy.last().at(0).toBool(), true); |
435 |
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 | QCOMPARE(fullscreenSpy.last().at(1).value<Server::output*>(), |
436 | server.globals.outputs.at(1).get()); | ||
437 |
1/2✗ Branch 0 not taken.
✓ Branch 1 taken 1 times.
|
1 | } |
438 | |||
439 | 1 | void XdgShellTest::testShowWindowMenu() | |
440 | { | ||
441 | // this test verifies that the show window menu request works | ||
442 |
18/36✓ 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 taken 1 times.
✗ Branch 11 not taken.
✓ Branch 12 taken 1 times.
✗ Branch 13 not taken.
✗ Branch 14 not taken.
✓ Branch 15 taken 1 times.
✓ Branch 16 taken 1 times.
✗ Branch 17 not taken.
✓ Branch 18 taken 1 times.
✗ Branch 19 not taken.
✓ Branch 20 taken 1 times.
✗ Branch 21 not taken.
✓ Branch 22 taken 1 times.
✗ Branch 23 not taken.
✗ Branch 24 not taken.
✓ Branch 25 taken 1 times.
✓ Branch 26 taken 1 times.
✗ Branch 27 not taken.
✓ Branch 28 taken 1 times.
✗ Branch 29 not taken.
✓ Branch 30 taken 1 times.
✗ Branch 31 not taken.
✓ Branch 32 taken 1 times.
✗ Branch 33 not taken.
✓ Branch 34 taken 1 times.
✗ Branch 35 not taken.
|
1 | SURFACE |
443 | |||
444 |
1/2✓ Branch 0 taken 1 times.
✗ Branch 1 not taken.
|
1 | QSignalSpy windowMenuSpy(serverXdgSurface, &Server::XdgShellToplevel::windowMenuRequested); |
445 |
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(windowMenuSpy.isValid()); |
446 | |||
447 | // TODO: the serial needs to be a proper one | ||
448 |
1/2✓ Branch 0 taken 1 times.
✗ Branch 1 not taken.
|
1 | xdgSurface->requestShowWindowMenu(m_seat, 20, QPoint(30, 40)); |
449 |
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(windowMenuSpy.wait()); |
450 |
2/4✓ Branch 0 taken 1 times.
✗ Branch 1 not taken.
✗ Branch 2 not taken.
✓ Branch 3 taken 1 times.
|
1 | QCOMPARE(windowMenuSpy.count(), 1); |
451 |
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(windowMenuSpy.first().at(0).value<Server::Seat*>(), server.seat); |
452 |
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(windowMenuSpy.first().at(1).value<quint32>(), 20u); |
453 |
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(windowMenuSpy.first().at(2).toPoint(), QPoint(30, 40)); |
454 |
1/2✗ Branch 0 not taken.
✓ Branch 1 taken 1 times.
|
1 | } |
455 | |||
456 | 1 | void XdgShellTest::testMove() | |
457 | { | ||
458 | // this test verifies that the move request works | ||
459 |
18/36✓ 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 taken 1 times.
✗ Branch 11 not taken.
✓ Branch 12 taken 1 times.
✗ Branch 13 not taken.
✗ Branch 14 not taken.
✓ Branch 15 taken 1 times.
✓ Branch 16 taken 1 times.
✗ Branch 17 not taken.
✓ Branch 18 taken 1 times.
✗ Branch 19 not taken.
✓ Branch 20 taken 1 times.
✗ Branch 21 not taken.
✓ Branch 22 taken 1 times.
✗ Branch 23 not taken.
✗ Branch 24 not taken.
✓ Branch 25 taken 1 times.
✓ Branch 26 taken 1 times.
✗ Branch 27 not taken.
✓ Branch 28 taken 1 times.
✗ Branch 29 not taken.
✓ Branch 30 taken 1 times.
✗ Branch 31 not taken.
✓ Branch 32 taken 1 times.
✗ Branch 33 not taken.
✓ Branch 34 taken 1 times.
✗ Branch 35 not taken.
|
1 | SURFACE |
460 | |||
461 |
1/2✓ Branch 0 taken 1 times.
✗ Branch 1 not taken.
|
1 | QSignalSpy moveSpy(serverXdgSurface, &Server::XdgShellToplevel::moveRequested); |
462 |
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(moveSpy.isValid()); |
463 | |||
464 | // TODO: the serial needs to be a proper one | ||
465 |
1/2✓ Branch 0 taken 1 times.
✗ Branch 1 not taken.
|
1 | xdgSurface->requestMove(m_seat, 50); |
466 |
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(moveSpy.wait()); |
467 |
2/4✓ Branch 0 taken 1 times.
✗ Branch 1 not taken.
✗ Branch 2 not taken.
✓ Branch 3 taken 1 times.
|
1 | QCOMPARE(moveSpy.count(), 1); |
468 |
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(moveSpy.first().at(0).value<Server::Seat*>(), server.seat); |
469 |
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(moveSpy.first().at(1).value<quint32>(), 50u); |
470 |
1/2✗ Branch 0 not taken.
✓ Branch 1 taken 1 times.
|
1 | } |
471 | |||
472 | 1 | void XdgShellTest::testResize_data() | |
473 | { | ||
474 | 1 | QTest::addColumn<Qt::Edges>("edges"); | |
475 | |||
476 | 1 | QTest::newRow("none") << Qt::Edges(); | |
477 | 1 | QTest::newRow("top") << Qt::Edges(Qt::TopEdge); | |
478 | 1 | QTest::newRow("bottom") << Qt::Edges(Qt::BottomEdge); | |
479 | 1 | QTest::newRow("left") << Qt::Edges(Qt::LeftEdge); | |
480 | 1 | QTest::newRow("top left") << Qt::Edges(Qt::TopEdge | Qt::LeftEdge); | |
481 | 1 | QTest::newRow("bottom left") << Qt::Edges(Qt::BottomEdge | Qt::LeftEdge); | |
482 | 1 | QTest::newRow("right") << Qt::Edges(Qt::RightEdge); | |
483 | 1 | QTest::newRow("top right") << Qt::Edges(Qt::TopEdge | Qt::RightEdge); | |
484 | 1 | QTest::newRow("bottom right") << Qt::Edges(Qt::BottomEdge | Qt::RightEdge); | |
485 | 1 | } | |
486 | |||
487 | 9 | void XdgShellTest::testResize() | |
488 | { | ||
489 | // this test verifies that the resize request works | ||
490 |
18/36✓ Branch 0 taken 9 times.
✗ Branch 1 not taken.
✓ Branch 2 taken 9 times.
✗ Branch 3 not taken.
✓ Branch 4 taken 9 times.
✗ Branch 5 not taken.
✓ Branch 6 taken 9 times.
✗ Branch 7 not taken.
✓ Branch 8 taken 9 times.
✗ Branch 9 not taken.
✓ Branch 10 taken 9 times.
✗ Branch 11 not taken.
✓ Branch 12 taken 9 times.
✗ Branch 13 not taken.
✗ Branch 14 not taken.
✓ Branch 15 taken 9 times.
✓ Branch 16 taken 9 times.
✗ Branch 17 not taken.
✓ Branch 18 taken 9 times.
✗ Branch 19 not taken.
✓ Branch 20 taken 9 times.
✗ Branch 21 not taken.
✓ Branch 22 taken 9 times.
✗ Branch 23 not taken.
✗ Branch 24 not taken.
✓ Branch 25 taken 9 times.
✓ Branch 26 taken 9 times.
✗ Branch 27 not taken.
✓ Branch 28 taken 9 times.
✗ Branch 29 not taken.
✓ Branch 30 taken 9 times.
✗ Branch 31 not taken.
✓ Branch 32 taken 9 times.
✗ Branch 33 not taken.
✓ Branch 34 taken 9 times.
✗ Branch 35 not taken.
|
9 | SURFACE |
491 | |||
492 |
1/2✓ Branch 0 taken 9 times.
✗ Branch 1 not taken.
|
9 | QSignalSpy resizeSpy(serverXdgSurface, &Server::XdgShellToplevel::resizeRequested); |
493 |
3/6✓ Branch 0 taken 9 times.
✗ Branch 1 not taken.
✓ Branch 2 taken 9 times.
✗ Branch 3 not taken.
✓ Branch 4 taken 9 times.
✗ Branch 5 not taken.
|
9 | QVERIFY(resizeSpy.isValid()); |
494 | |||
495 | // TODO: the serial needs to be a proper one | ||
496 |
2/4✓ Branch 0 taken 9 times.
✗ Branch 1 not taken.
✓ Branch 2 taken 9 times.
✗ Branch 3 not taken.
|
9 | QFETCH(Qt::Edges, edges); |
497 |
1/2✓ Branch 0 taken 9 times.
✗ Branch 1 not taken.
|
9 | xdgSurface->requestResize(m_seat, 60, edges); |
498 |
5/10✓ Branch 0 taken 9 times.
✗ Branch 1 not taken.
✓ Branch 2 taken 9 times.
✗ Branch 3 not taken.
✓ Branch 4 taken 9 times.
✗ Branch 5 not taken.
✓ Branch 6 taken 9 times.
✗ Branch 7 not taken.
✗ Branch 8 not taken.
✓ Branch 9 taken 9 times.
|
9 | QVERIFY(resizeSpy.wait()); |
499 |
2/4✓ Branch 0 taken 9 times.
✗ Branch 1 not taken.
✗ Branch 2 not taken.
✓ Branch 3 taken 9 times.
|
9 | QCOMPARE(resizeSpy.count(), 1); |
500 |
4/8✓ Branch 0 taken 9 times.
✗ Branch 1 not taken.
✓ Branch 2 taken 9 times.
✗ Branch 3 not taken.
✓ Branch 4 taken 9 times.
✗ Branch 5 not taken.
✓ Branch 6 taken 9 times.
✗ Branch 7 not taken.
|
9 | QCOMPARE(resizeSpy.first().at(0).value<Server::Seat*>(), server.seat); |
501 |
4/8✓ Branch 0 taken 9 times.
✗ Branch 1 not taken.
✓ Branch 2 taken 9 times.
✗ Branch 3 not taken.
✓ Branch 4 taken 9 times.
✗ Branch 5 not taken.
✓ Branch 6 taken 9 times.
✗ Branch 7 not taken.
|
9 | QCOMPARE(resizeSpy.first().at(1).value<quint32>(), 60u); |
502 |
4/8✓ Branch 0 taken 9 times.
✗ Branch 1 not taken.
✓ Branch 2 taken 9 times.
✗ Branch 3 not taken.
✓ Branch 4 taken 9 times.
✗ Branch 5 not taken.
✗ Branch 6 not taken.
✓ Branch 7 taken 9 times.
|
9 | QCOMPARE(resizeSpy.first().at(2).value<Qt::Edges>(), edges); |
503 |
1/2✗ Branch 0 not taken.
✓ Branch 1 taken 9 times.
|
9 | } |
504 | |||
505 | 1 | void XdgShellTest::testTransient() | |
506 | { | ||
507 | // this test verifies that setting the transient for works | ||
508 |
18/36✓ 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 taken 1 times.
✗ Branch 11 not taken.
✓ Branch 12 taken 1 times.
✗ Branch 13 not taken.
✗ Branch 14 not taken.
✓ Branch 15 taken 1 times.
✓ Branch 16 taken 1 times.
✗ Branch 17 not taken.
✓ Branch 18 taken 1 times.
✗ Branch 19 not taken.
✓ Branch 20 taken 1 times.
✗ Branch 21 not taken.
✓ Branch 22 taken 1 times.
✗ Branch 23 not taken.
✗ Branch 24 not taken.
✓ Branch 25 taken 1 times.
✓ Branch 26 taken 1 times.
✗ Branch 27 not taken.
✓ Branch 28 taken 1 times.
✗ Branch 29 not taken.
✓ Branch 30 taken 1 times.
✗ Branch 31 not taken.
✓ Branch 32 taken 1 times.
✗ Branch 33 not taken.
✓ Branch 34 taken 1 times.
✗ Branch 35 not taken.
|
1 | SURFACE |
509 |
1/2✓ Branch 0 taken 1 times.
✗ Branch 1 not taken.
|
1 | std::unique_ptr<Client::Surface> surface2(m_compositor->createSurface()); |
510 | 1 | std::unique_ptr<Client::XdgShellToplevel> xdgSurface2( | |
511 |
1/2✓ Branch 0 taken 1 times.
✗ Branch 1 not taken.
|
1 | m_xdgShell->create_toplevel(surface2.get())); |
512 |
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(xdgSurfaceCreatedSpy.wait()); |
513 |
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 | auto serverXdgSurface2 = xdgSurfaceCreatedSpy.last().first().value<Server::XdgShellToplevel*>(); |
514 |
2/4✓ Branch 0 taken 1 times.
✗ Branch 1 not taken.
✓ Branch 2 taken 1 times.
✗ Branch 3 not taken.
|
1 | QVERIFY(serverXdgSurface2); |
515 | |||
516 |
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 | QCOMPARE(serverXdgSurface->transientFor(), nullptr); |
517 |
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 | QCOMPARE(serverXdgSurface2->transientFor(), nullptr); |
518 | |||
519 | // now make xdsgSurface2 a transient for xdgSurface | ||
520 |
1/2✓ Branch 0 taken 1 times.
✗ Branch 1 not taken.
|
1 | QSignalSpy transientForSpy(serverXdgSurface2, &Server::XdgShellToplevel::transientForChanged); |
521 |
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(transientForSpy.isValid()); |
522 |
1/2✓ Branch 0 taken 1 times.
✗ Branch 1 not taken.
|
1 | xdgSurface2->setTransientFor(xdgSurface.get()); |
523 | |||
524 |
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(transientForSpy.wait()); |
525 |
2/4✓ Branch 0 taken 1 times.
✗ Branch 1 not taken.
✗ Branch 2 not taken.
✓ Branch 3 taken 1 times.
|
1 | QCOMPARE(transientForSpy.count(), 1); |
526 |
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 | QCOMPARE(serverXdgSurface2->transientFor(), serverXdgSurface); |
527 |
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 | QCOMPARE(serverXdgSurface->transientFor(), nullptr); |
528 | |||
529 | // unset the transient for | ||
530 |
1/2✓ Branch 0 taken 1 times.
✗ Branch 1 not taken.
|
1 | xdgSurface2->setTransientFor(nullptr); |
531 |
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(transientForSpy.wait()); |
532 |
2/4✓ Branch 0 taken 1 times.
✗ Branch 1 not taken.
✗ Branch 2 not taken.
✓ Branch 3 taken 1 times.
|
1 | QCOMPARE(transientForSpy.count(), 2); |
533 |
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(!serverXdgSurface2->transientFor()); |
534 |
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(!serverXdgSurface->transientFor()); |
535 |
1/2✗ Branch 0 not taken.
✓ Branch 1 taken 1 times.
|
1 | } |
536 | |||
537 | 1 | void XdgShellTest::testPing() | |
538 | { | ||
539 | // This test verifies that a ping request is sent to the client. | ||
540 |
18/36✓ 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 taken 1 times.
✗ Branch 11 not taken.
✓ Branch 12 taken 1 times.
✗ Branch 13 not taken.
✗ Branch 14 not taken.
✓ Branch 15 taken 1 times.
✓ Branch 16 taken 1 times.
✗ Branch 17 not taken.
✓ Branch 18 taken 1 times.
✗ Branch 19 not taken.
✓ Branch 20 taken 1 times.
✗ Branch 21 not taken.
✓ Branch 22 taken 1 times.
✗ Branch 23 not taken.
✗ Branch 24 not taken.
✓ Branch 25 taken 1 times.
✓ Branch 26 taken 1 times.
✗ Branch 27 not taken.
✓ Branch 28 taken 1 times.
✗ Branch 29 not taken.
✓ Branch 30 taken 1 times.
✗ Branch 31 not taken.
✓ Branch 32 taken 1 times.
✗ Branch 33 not taken.
✓ Branch 34 taken 1 times.
✗ Branch 35 not taken.
|
1 | SURFACE |
541 | |||
542 |
1/2✓ Branch 0 taken 1 times.
✗ Branch 1 not taken.
|
1 | QSignalSpy pingSpy(server.globals.xdg_shell.get(), &Server::XdgShell::pongReceived); |
543 |
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(pingSpy.isValid()); |
544 | |||
545 |
2/4✓ Branch 0 taken 1 times.
✗ Branch 1 not taken.
✓ Branch 2 taken 1 times.
✗ Branch 3 not taken.
|
1 | auto serial = server.globals.xdg_shell->ping(serverXdgSurface->client()); |
546 |
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(pingSpy.wait()); |
547 |
2/4✓ Branch 0 taken 1 times.
✗ Branch 1 not taken.
✗ Branch 2 not taken.
✓ Branch 3 taken 1 times.
|
1 | QCOMPARE(pingSpy.count(), 1); |
548 |
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(pingSpy.takeFirst().at(0).value<quint32>(), serial); |
549 | |||
550 | // Test of a ping failure. Disconnecting the connection thread to the queue will break the | ||
551 | // connection and pings will timeout. | ||
552 |
2/4✓ Branch 0 taken 1 times.
✗ Branch 1 not taken.
✓ Branch 2 taken 1 times.
✗ Branch 3 not taken.
|
2 | disconnect(m_connection, |
553 | &Client::ConnectionThread::eventsRead, | ||
554 | 1 | m_queue, | |
555 | &Client::EventQueue::dispatch); | ||
556 |
2/4✓ Branch 0 taken 1 times.
✗ Branch 1 not taken.
✓ Branch 2 taken 1 times.
✗ Branch 3 not taken.
|
1 | server.globals.xdg_shell->ping(serverXdgSurface->client()); |
557 |
1/2✓ Branch 0 taken 1 times.
✗ Branch 1 not taken.
|
1 | QSignalSpy pingDelayedSpy(server.globals.xdg_shell.get(), &Server::XdgShell::pingDelayed); |
558 |
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(pingDelayedSpy.wait()); |
559 | |||
560 |
1/2✓ Branch 0 taken 1 times.
✗ Branch 1 not taken.
|
1 | QSignalSpy pingTimeoutSpy(server.globals.xdg_shell.get(), &Server::XdgShell::pingTimeout); |
561 |
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(pingTimeoutSpy.wait()); |
562 |
1/2✗ Branch 0 not taken.
✓ Branch 1 taken 1 times.
|
1 | } |
563 | |||
564 | 1 | void XdgShellTest::testClose() | |
565 | { | ||
566 | // this test verifies that a close request is sent to the client | ||
567 |
18/36✓ 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 taken 1 times.
✗ Branch 11 not taken.
✓ Branch 12 taken 1 times.
✗ Branch 13 not taken.
✗ Branch 14 not taken.
✓ Branch 15 taken 1 times.
✓ Branch 16 taken 1 times.
✗ Branch 17 not taken.
✓ Branch 18 taken 1 times.
✗ Branch 19 not taken.
✓ Branch 20 taken 1 times.
✗ Branch 21 not taken.
✓ Branch 22 taken 1 times.
✗ Branch 23 not taken.
✗ Branch 24 not taken.
✓ Branch 25 taken 1 times.
✓ Branch 26 taken 1 times.
✗ Branch 27 not taken.
✓ Branch 28 taken 1 times.
✗ Branch 29 not taken.
✓ Branch 30 taken 1 times.
✗ Branch 31 not taken.
✓ Branch 32 taken 1 times.
✗ Branch 33 not taken.
✓ Branch 34 taken 1 times.
✗ Branch 35 not taken.
|
1 | SURFACE |
568 | |||
569 |
1/2✓ Branch 0 taken 1 times.
✗ Branch 1 not taken.
|
1 | QSignalSpy closeSpy(xdgSurface.get(), &Client::XdgShellToplevel::closeRequested); |
570 |
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(closeSpy.isValid()); |
571 | |||
572 |
1/2✓ Branch 0 taken 1 times.
✗ Branch 1 not taken.
|
1 | serverXdgSurface->close(); |
573 |
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(closeSpy.wait()); |
574 |
2/4✓ Branch 0 taken 1 times.
✗ Branch 1 not taken.
✗ Branch 2 not taken.
✓ Branch 3 taken 1 times.
|
1 | QCOMPARE(closeSpy.count(), 1); |
575 | |||
576 |
1/2✓ Branch 0 taken 1 times.
✗ Branch 1 not taken.
|
1 | QSignalSpy destroyedSpy(serverXdgSurface, &Server::XdgShellToplevel::resourceDestroyed); |
577 |
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(destroyedSpy.isValid()); |
578 | 1 | xdgSurface.reset(); | |
579 |
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(destroyedSpy.wait()); |
580 |
1/2✗ Branch 0 not taken.
✓ Branch 1 taken 1 times.
|
1 | } |
581 | |||
582 | 1 | void XdgShellTest::testConfigureStates_data() | |
583 | { | ||
584 | 1 | QTest::addColumn<Server::XdgShellSurface::States>("serverStates"); | |
585 | 1 | QTest::addColumn<Client::xdg_shell_states>("clientStates"); | |
586 | |||
587 | 1 | auto const sa = Server::XdgShellSurface::States(Server::XdgShellSurface::State::Activated); | |
588 | 1 | auto const sm = Server::XdgShellSurface::States(Server::XdgShellSurface::State::Maximized); | |
589 | 1 | auto const sf = Server::XdgShellSurface::States(Server::XdgShellSurface::State::Fullscreen); | |
590 | 1 | auto const sr = Server::XdgShellSurface::States(Server::XdgShellSurface::State::Resizing); | |
591 | 1 | auto const stl = Server::XdgShellSurface::States(Server::XdgShellSurface::State::TiledLeft); | |
592 | 1 | auto const str = Server::XdgShellSurface::States(Server::XdgShellSurface::State::TiledRight); | |
593 | 1 | auto const stt = Server::XdgShellSurface::States(Server::XdgShellSurface::State::TiledTop); | |
594 | 1 | auto const stb = Server::XdgShellSurface::States(Server::XdgShellSurface::State::TiledBottom); | |
595 | |||
596 | 1 | auto const ca = Client::xdg_shell_states(Client::xdg_shell_state::activated); | |
597 | 1 | auto const cm = Client::xdg_shell_states(Client::xdg_shell_state::maximized); | |
598 | 1 | auto const cf = Client::xdg_shell_states(Client::xdg_shell_state::fullscreen); | |
599 | 1 | auto const cr = Client::xdg_shell_states(Client::xdg_shell_state::resizing); | |
600 | 1 | auto const ctl = Client::xdg_shell_states(Client::xdg_shell_state::tiled_left); | |
601 | 1 | auto const ctr = Client::xdg_shell_states(Client::xdg_shell_state::tiled_right); | |
602 | 1 | auto const ctt = Client::xdg_shell_states(Client::xdg_shell_state::tiled_top); | |
603 | 1 | auto const ctb = Client::xdg_shell_states(Client::xdg_shell_state::tiled_bottom); | |
604 | |||
605 | 1 | QTest::newRow("none") << Server::XdgShellSurface::States() << Client::xdg_shell_states(); | |
606 | 1 | QTest::newRow("Active") << sa << ca; | |
607 | 1 | QTest::newRow("Maximize") << sm << cm; | |
608 | 1 | QTest::newRow("Fullscreen") << sf << cf; | |
609 | 1 | QTest::newRow("Resizing") << sr << cr; | |
610 | 1 | QTest::newRow("TiledLeft") << stl << ctl; | |
611 | 1 | QTest::newRow("TiledRight") << str << ctr; | |
612 | 1 | QTest::newRow("TiledTop") << stt << ctt; | |
613 | 1 | QTest::newRow("TiledBottom") << stb << ctb; | |
614 | |||
615 | 1 | QTest::newRow("Active/Maximize") << (sa | sm) << (ca | cm); | |
616 | 1 | QTest::newRow("Active/Fullscreen") << (sa | sf) << (ca | cf); | |
617 | 1 | QTest::newRow("Active/Resizing") << (sa | sr) << (ca | cr); | |
618 | 1 | QTest::newRow("Maximize/Fullscreen") << (sm | sf) << (cm | cf); | |
619 | 1 | QTest::newRow("Maximize/Resizing") << (sm | sr) << (cm | cr); | |
620 | 1 | QTest::newRow("Fullscreen/Resizing") << (sf | sr) << (cf | cr); | |
621 | 1 | QTest::newRow("TiledLeft/TiledRight") << (stl | str) << (ctl | ctr); | |
622 | 1 | QTest::newRow("TiledLeft/TiledTop") << (stl | stt) << (ctl | ctt); | |
623 | 1 | QTest::newRow("TiledLeft/TiledBottom") << (stl | stb) << (ctl | ctb); | |
624 | 1 | QTest::newRow("TiledRight/TiledTop") << (str | stt) << (ctr | ctt); | |
625 | 1 | QTest::newRow("TiledRight/TiledBottom") << (str | stb) << (ctr | ctb); | |
626 | 1 | QTest::newRow("TiledTop/TiledBottom") << (stt | stb) << (ctt | ctb); | |
627 | |||
628 | 1 | QTest::newRow("Active/Maximize/Fullscreen") << (sa | sm | sf) << (ca | cm | cf); | |
629 | 1 | QTest::newRow("Active/Maximize/Resizing") << (sa | sm | sr) << (ca | cm | cr); | |
630 | 1 | QTest::newRow("Maximize/Fullscreen|Resizing") << (sm | sf | sr) << (cm | cf | cr); | |
631 | |||
632 | 1 | QTest::newRow("Active/Maximize/Fullscreen/Resizing") | |
633 | 1 | << (sa | sm | sf | sr) << (ca | cm | cf | cr); | |
634 | 1 | } | |
635 | |||
636 | 25 | void XdgShellTest::testConfigureStates() | |
637 | { | ||
638 | // this test verifies that configure states works | ||
639 |
18/36✓ Branch 0 taken 25 times.
✗ Branch 1 not taken.
✓ Branch 2 taken 25 times.
✗ Branch 3 not taken.
✓ Branch 4 taken 25 times.
✗ Branch 5 not taken.
✓ Branch 6 taken 25 times.
✗ Branch 7 not taken.
✓ Branch 8 taken 25 times.
✗ Branch 9 not taken.
✓ Branch 10 taken 25 times.
✗ Branch 11 not taken.
✓ Branch 12 taken 25 times.
✗ Branch 13 not taken.
✗ Branch 14 not taken.
✓ Branch 15 taken 25 times.
✓ Branch 16 taken 25 times.
✗ Branch 17 not taken.
✓ Branch 18 taken 25 times.
✗ Branch 19 not taken.
✓ Branch 20 taken 25 times.
✗ Branch 21 not taken.
✓ Branch 22 taken 25 times.
✗ Branch 23 not taken.
✗ Branch 24 not taken.
✓ Branch 25 taken 25 times.
✓ Branch 26 taken 25 times.
✗ Branch 27 not taken.
✓ Branch 28 taken 25 times.
✗ Branch 29 not taken.
✓ Branch 30 taken 25 times.
✗ Branch 31 not taken.
✓ Branch 32 taken 25 times.
✗ Branch 33 not taken.
✓ Branch 34 taken 25 times.
✗ Branch 35 not taken.
|
25 | SURFACE |
640 | |||
641 |
1/2✓ Branch 0 taken 25 times.
✗ Branch 1 not taken.
|
25 | QSignalSpy configureSpy(xdgSurface.get(), &Client::XdgShellToplevel::configured); |
642 |
3/6✓ Branch 0 taken 25 times.
✗ Branch 1 not taken.
✓ Branch 2 taken 25 times.
✗ Branch 3 not taken.
✓ Branch 4 taken 25 times.
✗ Branch 5 not taken.
|
25 | QVERIFY(configureSpy.isValid()); |
643 | |||
644 |
2/4✓ Branch 0 taken 25 times.
✗ Branch 1 not taken.
✓ Branch 2 taken 25 times.
✗ Branch 3 not taken.
|
25 | QFETCH(Server::XdgShellSurface::States, serverStates); |
645 |
1/2✓ Branch 0 taken 25 times.
✗ Branch 1 not taken.
|
25 | serverXdgSurface->configure(serverStates); |
646 |
5/10✓ Branch 0 taken 25 times.
✗ Branch 1 not taken.
✓ Branch 2 taken 25 times.
✗ Branch 3 not taken.
✓ Branch 4 taken 25 times.
✗ Branch 5 not taken.
✓ Branch 6 taken 25 times.
✗ Branch 7 not taken.
✗ Branch 8 not taken.
✓ Branch 9 taken 25 times.
|
25 | QVERIFY(configureSpy.wait()); |
647 |
2/4✓ Branch 0 taken 25 times.
✗ Branch 1 not taken.
✗ Branch 2 not taken.
✓ Branch 3 taken 25 times.
|
25 | QCOMPARE(configureSpy.count(), 1); |
648 |
3/6✓ Branch 0 taken 25 times.
✗ Branch 1 not taken.
✓ Branch 2 taken 25 times.
✗ Branch 3 not taken.
✗ Branch 4 not taken.
✓ Branch 5 taken 25 times.
|
25 | QCOMPARE(xdgSurface->get_configure_data().size, QSize(0, 0)); |
649 |
3/6✓ Branch 0 taken 25 times.
✗ Branch 1 not taken.
✓ Branch 2 taken 25 times.
✗ Branch 3 not taken.
✓ Branch 4 taken 25 times.
✗ Branch 5 not taken.
|
25 | QTEST(xdgSurface->get_configure_data().states, "clientStates"); |
650 |
6/12✓ Branch 0 taken 25 times.
✗ Branch 1 not taken.
✓ Branch 2 taken 25 times.
✗ Branch 3 not taken.
✓ Branch 4 taken 25 times.
✗ Branch 5 not taken.
✓ Branch 6 taken 25 times.
✗ Branch 7 not taken.
✓ Branch 8 taken 25 times.
✗ Branch 9 not taken.
✓ Branch 10 taken 25 times.
✗ Branch 11 not taken.
|
25 | QCOMPARE(configureSpy.front().front().value<quint32>(), server.display->serial()); |
651 | |||
652 |
1/2✓ Branch 0 taken 25 times.
✗ Branch 1 not taken.
|
25 | QSignalSpy ackSpy(serverXdgSurface, &Server::XdgShellToplevel::configureAcknowledged); |
653 |
3/6✓ Branch 0 taken 25 times.
✗ Branch 1 not taken.
✓ Branch 2 taken 25 times.
✗ Branch 3 not taken.
✓ Branch 4 taken 25 times.
✗ Branch 5 not taken.
|
25 | QVERIFY(ackSpy.isValid()); |
654 | |||
655 |
4/8✓ Branch 0 taken 25 times.
✗ Branch 1 not taken.
✓ Branch 2 taken 25 times.
✗ Branch 3 not taken.
✓ Branch 4 taken 25 times.
✗ Branch 5 not taken.
✓ Branch 6 taken 25 times.
✗ Branch 7 not taken.
|
25 | xdgSurface->ackConfigure(configureSpy.front().front().value<quint32>()); |
656 |
5/10✓ Branch 0 taken 25 times.
✗ Branch 1 not taken.
✓ Branch 2 taken 25 times.
✗ Branch 3 not taken.
✓ Branch 4 taken 25 times.
✗ Branch 5 not taken.
✓ Branch 6 taken 25 times.
✗ Branch 7 not taken.
✗ Branch 8 not taken.
✓ Branch 9 taken 25 times.
|
25 | QVERIFY(ackSpy.wait()); |
657 |
2/4✓ Branch 0 taken 25 times.
✗ Branch 1 not taken.
✗ Branch 2 not taken.
✓ Branch 3 taken 25 times.
|
25 | QCOMPARE(ackSpy.count(), 1); |
658 |
8/16✓ Branch 0 taken 25 times.
✗ Branch 1 not taken.
✓ Branch 2 taken 25 times.
✗ Branch 3 not taken.
✓ Branch 4 taken 25 times.
✗ Branch 5 not taken.
✓ Branch 6 taken 25 times.
✗ Branch 7 not taken.
✓ Branch 8 taken 25 times.
✗ Branch 9 not taken.
✓ Branch 10 taken 25 times.
✗ Branch 11 not taken.
✓ Branch 12 taken 25 times.
✗ Branch 13 not taken.
✓ Branch 14 taken 25 times.
✗ Branch 15 not taken.
|
25 | QCOMPARE(ackSpy.front().front().value<quint32>(), |
659 | configureSpy.front().front().value<quint32>()); | ||
660 |
1/2✗ Branch 0 not taken.
✓ Branch 1 taken 25 times.
|
25 | } |
661 | |||
662 | 1 | void XdgShellTest::testConfigureMultipleAcks() | |
663 | { | ||
664 | // this test verifies that with multiple configure requests the last acknowledged one | ||
665 | // acknowledges all | ||
666 |
18/36✓ 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 taken 1 times.
✗ Branch 11 not taken.
✓ Branch 12 taken 1 times.
✗ Branch 13 not taken.
✗ Branch 14 not taken.
✓ Branch 15 taken 1 times.
✓ Branch 16 taken 1 times.
✗ Branch 17 not taken.
✓ Branch 18 taken 1 times.
✗ Branch 19 not taken.
✓ Branch 20 taken 1 times.
✗ Branch 21 not taken.
✓ Branch 22 taken 1 times.
✗ Branch 23 not taken.
✗ Branch 24 not taken.
✓ Branch 25 taken 1 times.
✓ Branch 26 taken 1 times.
✗ Branch 27 not taken.
✓ Branch 28 taken 1 times.
✗ Branch 29 not taken.
✓ Branch 30 taken 1 times.
✗ Branch 31 not taken.
✓ Branch 32 taken 1 times.
✗ Branch 33 not taken.
✓ Branch 34 taken 1 times.
✗ Branch 35 not taken.
|
1 | SURFACE |
667 | |||
668 |
1/2✓ Branch 0 taken 1 times.
✗ Branch 1 not taken.
|
1 | QSignalSpy configureSpy(xdgSurface.get(), &Client::XdgShellToplevel::configured); |
669 |
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(configureSpy.isValid()); |
670 |
1/2✓ Branch 0 taken 1 times.
✗ Branch 1 not taken.
|
1 | QSignalSpy ackSpy(serverXdgSurface, &Server::XdgShellToplevel::configureAcknowledged); |
671 |
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(ackSpy.isValid()); |
672 | |||
673 |
1/2✓ Branch 0 taken 1 times.
✗ Branch 1 not taken.
|
1 | serverXdgSurface->configure(Server::XdgShellSurface::States(), QSize(10, 20)); |
674 |
1/2✓ Branch 0 taken 1 times.
✗ Branch 1 not taken.
|
1 | auto const serial1 = server.display->serial(); |
675 |
1/2✓ Branch 0 taken 1 times.
✗ Branch 1 not taken.
|
1 | serverXdgSurface->configure(Server::XdgShellSurface::States(), QSize(20, 30)); |
676 |
1/2✓ Branch 0 taken 1 times.
✗ Branch 1 not taken.
|
1 | auto const serial2 = server.display->serial(); |
677 |
2/4✓ Branch 0 taken 1 times.
✗ Branch 1 not taken.
✓ Branch 2 taken 1 times.
✗ Branch 3 not taken.
|
1 | QVERIFY(serial1 != serial2); |
678 |
1/2✓ Branch 0 taken 1 times.
✗ Branch 1 not taken.
|
1 | serverXdgSurface->configure(Server::XdgShellSurface::States(), QSize(30, 40)); |
679 |
1/2✓ Branch 0 taken 1 times.
✗ Branch 1 not taken.
|
1 | auto const serial3 = server.display->serial(); |
680 |
2/4✓ Branch 0 taken 1 times.
✗ Branch 1 not taken.
✓ Branch 2 taken 1 times.
✗ Branch 3 not taken.
|
1 | QVERIFY(serial1 != serial3); |
681 |
2/4✓ Branch 0 taken 1 times.
✗ Branch 1 not taken.
✓ Branch 2 taken 1 times.
✗ Branch 3 not taken.
|
1 | QVERIFY(serial2 != serial3); |
682 | |||
683 |
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(configureSpy.wait()); |
684 |
12/58✗ Branch 0 not taken.
✓ Branch 1 taken 1 times.
✗ Branch 2 not taken.
✗ 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 taken 1 times.
✗ Branch 11 not taken.
✗ Branch 12 not taken.
✓ Branch 13 taken 1 times.
✓ Branch 14 taken 1 times.
✗ Branch 15 not taken.
✗ Branch 16 not taken.
✗ Branch 17 not taken.
✓ Branch 18 taken 1 times.
✗ Branch 19 not taken.
✓ Branch 20 taken 1 times.
✗ Branch 21 not taken.
✓ Branch 22 taken 1 times.
✗ Branch 23 not taken.
✗ Branch 24 not taken.
✗ Branch 25 not taken.
✗ Branch 26 not taken.
✗ Branch 27 not taken.
✗ Branch 28 not taken.
✗ Branch 29 not taken.
✗ Branch 30 not taken.
✗ Branch 31 not taken.
✗ Branch 32 not taken.
✗ Branch 33 not taken.
✗ Branch 34 not taken.
✗ Branch 35 not taken.
✗ Branch 36 not taken.
✗ Branch 37 not taken.
✗ Branch 38 not taken.
✗ Branch 39 not taken.
✗ Branch 40 not taken.
✗ Branch 41 not taken.
✗ Branch 42 not taken.
✗ Branch 43 not taken.
✗ Branch 44 not taken.
✗ Branch 45 not taken.
✗ Branch 46 not taken.
✗ Branch 47 not taken.
✗ Branch 48 not taken.
✗ Branch 49 not taken.
✗ Branch 50 not taken.
✗ Branch 51 not taken.
✗ Branch 52 not taken.
✗ Branch 53 not taken.
✓ Branch 54 taken 1 times.
✗ Branch 55 not taken.
✗ Branch 56 not taken.
✓ Branch 57 taken 1 times.
|
1 | QTRY_COMPARE(configureSpy.count(), 3); |
685 |
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(!configureSpy.wait(100)); |
686 | |||
687 |
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 | QCOMPARE(configureSpy.at(0).at(0).value<quint32>(), serial1); |
688 |
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 | QCOMPARE(configureSpy.at(1).at(0).value<quint32>(), serial2); |
689 |
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 | QCOMPARE(configureSpy.at(2).at(0).value<quint32>(), serial3); |
690 | |||
691 |
3/6✓ Branch 0 taken 1 times.
✗ Branch 1 not taken.
✓ Branch 2 taken 1 times.
✗ Branch 3 not taken.
✗ Branch 4 not taken.
✓ Branch 5 taken 1 times.
|
1 | QCOMPARE(xdgSurface->get_configure_data().size, QSize(30, 40)); |
692 |
3/6✓ Branch 0 taken 1 times.
✗ Branch 1 not taken.
✓ Branch 2 taken 1 times.
✗ Branch 3 not taken.
✗ Branch 4 not taken.
✓ Branch 5 taken 1 times.
|
1 | QCOMPARE(xdgSurface->get_configure_data().states, Client::xdg_shell_states()); |
693 |
3/6✓ Branch 0 taken 1 times.
✗ Branch 1 not taken.
✓ Branch 2 taken 1 times.
✗ Branch 3 not taken.
✗ Branch 4 not taken.
✓ Branch 5 taken 1 times.
|
1 | QCOMPARE(xdgSurface->get_configure_data().updates, |
694 | Client::xdg_shell_toplevel_configure_change::size); | ||
695 | |||
696 |
1/2✓ Branch 0 taken 1 times.
✗ Branch 1 not taken.
|
1 | xdgSurface->ackConfigure(serial3); |
697 |
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(ackSpy.wait()); |
698 |
2/4✓ Branch 0 taken 1 times.
✗ Branch 1 not taken.
✗ Branch 2 not taken.
✓ Branch 3 taken 1 times.
|
1 | QCOMPARE(ackSpy.count(), 3); |
699 |
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 | QCOMPARE(ackSpy.at(0).first().value<quint32>(), serial1); |
700 |
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 | QCOMPARE(ackSpy.at(1).first().value<quint32>(), serial2); |
701 |
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 | QCOMPARE(ackSpy.at(2).first().value<quint32>(), serial3); |
702 | |||
703 | // configure once more with the same size | ||
704 |
1/2✓ Branch 0 taken 1 times.
✗ Branch 1 not taken.
|
1 | serverXdgSurface->configure(Server::XdgShellSurface::States(), QSize(30, 40)); |
705 | |||
706 | // should not change size | ||
707 |
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(configureSpy.wait()); |
708 |
2/4✓ Branch 0 taken 1 times.
✗ Branch 1 not taken.
✗ Branch 2 not taken.
✓ Branch 3 taken 1 times.
|
1 | QCOMPARE(configureSpy.count(), 4); |
709 |
3/6✓ Branch 0 taken 1 times.
✗ Branch 1 not taken.
✓ Branch 2 taken 1 times.
✗ Branch 3 not taken.
✗ Branch 4 not taken.
✓ Branch 5 taken 1 times.
|
1 | QCOMPARE(xdgSurface->get_configure_data().size, QSize(30, 40)); |
710 |
3/6✓ Branch 0 taken 1 times.
✗ Branch 1 not taken.
✓ Branch 2 taken 1 times.
✗ Branch 3 not taken.
✗ Branch 4 not taken.
✓ Branch 5 taken 1 times.
|
1 | QCOMPARE(xdgSurface->get_configure_data().updates, |
711 | Client::xdg_shell_toplevel_configure_change::none); | ||
712 |
1/2✗ Branch 0 not taken.
✓ Branch 1 taken 1 times.
|
1 | } |
713 | |||
714 | 1 | void XdgShellTest::testMaxSize() | |
715 | { | ||
716 | // this test verifies changing the window maxSize | ||
717 | |||
718 | 1 | QSignalSpy xdgSurfaceCreatedSpy(server.globals.xdg_shell.get(), | |
719 | &Server::XdgShell::toplevelCreated); | ||
720 |
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(xdgSurfaceCreatedSpy.isValid()); |
721 | |||
722 |
1/2✓ Branch 0 taken 1 times.
✗ Branch 1 not taken.
|
1 | std::unique_ptr<Client::Surface> surface(m_compositor->createSurface()); |
723 | 1 | std::unique_ptr<Client::XdgShellToplevel> xdgSurface( | |
724 |
1/2✓ Branch 0 taken 1 times.
✗ Branch 1 not taken.
|
1 | m_xdgShell->create_toplevel(surface.get())); |
725 | |||
726 |
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(xdgSurfaceCreatedSpy.wait()); |
727 | |||
728 |
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 | auto serverXdgSurface = xdgSurfaceCreatedSpy.first().first().value<Server::XdgShellToplevel*>(); |
729 |
2/4✓ Branch 0 taken 1 times.
✗ Branch 1 not taken.
✓ Branch 2 taken 1 times.
✗ Branch 3 not taken.
|
1 | QVERIFY(serverXdgSurface); |
730 | |||
731 |
1/2✓ Branch 0 taken 1 times.
✗ Branch 1 not taken.
|
1 | QSignalSpy maxSizeSpy(serverXdgSurface, &Server::XdgShellToplevel::maxSizeChanged); |
732 |
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(maxSizeSpy.isValid()); |
733 | |||
734 |
1/2✓ Branch 0 taken 1 times.
✗ Branch 1 not taken.
|
1 | xdgSurface->setMaxSize(QSize(100, 100)); |
735 |
1/2✓ Branch 0 taken 1 times.
✗ Branch 1 not taken.
|
1 | surface->commit(Client::Surface::CommitFlag::None); |
736 |
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(maxSizeSpy.wait()); |
737 |
2/4✓ Branch 0 taken 1 times.
✗ Branch 1 not taken.
✗ Branch 2 not taken.
✓ Branch 3 taken 1 times.
|
1 | QCOMPARE(maxSizeSpy.count(), 1); |
738 |
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(maxSizeSpy.last().at(0).value<QSize>(), QSize(100, 100)); |
739 |
3/6✓ Branch 0 taken 1 times.
✗ Branch 1 not taken.
✓ Branch 2 taken 1 times.
✗ Branch 3 not taken.
✗ Branch 4 not taken.
✓ Branch 5 taken 1 times.
|
1 | QCOMPARE(serverXdgSurface->maximumSize(), QSize(100, 100)); |
740 | |||
741 |
1/2✓ Branch 0 taken 1 times.
✗ Branch 1 not taken.
|
1 | xdgSurface->setMaxSize(QSize(200, 200)); |
742 |
1/2✓ Branch 0 taken 1 times.
✗ Branch 1 not taken.
|
1 | surface->commit(Client::Surface::CommitFlag::None); |
743 |
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(maxSizeSpy.wait()); |
744 |
2/4✓ Branch 0 taken 1 times.
✗ Branch 1 not taken.
✗ Branch 2 not taken.
✓ Branch 3 taken 1 times.
|
1 | QCOMPARE(maxSizeSpy.count(), 2); |
745 |
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(maxSizeSpy.last().at(0).value<QSize>(), QSize(200, 200)); |
746 |
3/6✓ Branch 0 taken 1 times.
✗ Branch 1 not taken.
✓ Branch 2 taken 1 times.
✗ Branch 3 not taken.
✗ Branch 4 not taken.
✓ Branch 5 taken 1 times.
|
1 | QCOMPARE(serverXdgSurface->maximumSize(), QSize(200, 200)); |
747 |
1/2✗ Branch 0 not taken.
✓ Branch 1 taken 1 times.
|
1 | } |
748 | |||
749 | 1 | void XdgShellTest::testMinSize() | |
750 | { | ||
751 | // This test verifies changing the window minSize. | ||
752 | 1 | QSignalSpy xdgSurfaceCreatedSpy(server.globals.xdg_shell.get(), | |
753 | &Server::XdgShell::toplevelCreated); | ||
754 |
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(xdgSurfaceCreatedSpy.isValid()); |
755 |
1/2✓ Branch 0 taken 1 times.
✗ Branch 1 not taken.
|
1 | std::unique_ptr<Client::Surface> surface(m_compositor->createSurface()); |
756 | 1 | std::unique_ptr<Client::XdgShellToplevel> xdgSurface( | |
757 |
1/2✓ Branch 0 taken 1 times.
✗ Branch 1 not taken.
|
1 | m_xdgShell->create_toplevel(surface.get())); |
758 |
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(xdgSurfaceCreatedSpy.wait()); |
759 |
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 | auto serverXdgSurface = xdgSurfaceCreatedSpy.first().first().value<Server::XdgShellToplevel*>(); |
760 |
2/4✓ Branch 0 taken 1 times.
✗ Branch 1 not taken.
✓ Branch 2 taken 1 times.
✗ Branch 3 not taken.
|
1 | QVERIFY(serverXdgSurface); |
761 | |||
762 |
1/2✓ Branch 0 taken 1 times.
✗ Branch 1 not taken.
|
1 | QSignalSpy minSizeSpy(serverXdgSurface, &Server::XdgShellToplevel::minSizeChanged); |
763 |
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(minSizeSpy.isValid()); |
764 | |||
765 |
1/2✓ Branch 0 taken 1 times.
✗ Branch 1 not taken.
|
1 | xdgSurface->setMinSize(QSize(200, 200)); |
766 |
1/2✓ Branch 0 taken 1 times.
✗ Branch 1 not taken.
|
1 | surface->commit(Client::Surface::CommitFlag::None); |
767 |
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(minSizeSpy.wait()); |
768 |
2/4✓ Branch 0 taken 1 times.
✗ Branch 1 not taken.
✗ Branch 2 not taken.
✓ Branch 3 taken 1 times.
|
1 | QCOMPARE(minSizeSpy.count(), 1); |
769 |
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(minSizeSpy.last().at(0).value<QSize>(), QSize(200, 200)); |
770 |
3/6✓ Branch 0 taken 1 times.
✗ Branch 1 not taken.
✓ Branch 2 taken 1 times.
✗ Branch 3 not taken.
✗ Branch 4 not taken.
✓ Branch 5 taken 1 times.
|
1 | QCOMPARE(serverXdgSurface->minimumSize(), QSize(200, 200)); |
771 | |||
772 |
1/2✓ Branch 0 taken 1 times.
✗ Branch 1 not taken.
|
1 | xdgSurface->setMinSize(QSize(100, 100)); |
773 |
1/2✓ Branch 0 taken 1 times.
✗ Branch 1 not taken.
|
1 | surface->commit(Client::Surface::CommitFlag::None); |
774 |
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(minSizeSpy.wait()); |
775 |
2/4✓ Branch 0 taken 1 times.
✗ Branch 1 not taken.
✗ Branch 2 not taken.
✓ Branch 3 taken 1 times.
|
1 | QCOMPARE(minSizeSpy.count(), 2); |
776 |
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(minSizeSpy.last().at(0).value<QSize>(), QSize(100, 100)); |
777 |
3/6✓ Branch 0 taken 1 times.
✗ Branch 1 not taken.
✓ Branch 2 taken 1 times.
✗ Branch 3 not taken.
✗ Branch 4 not taken.
✓ Branch 5 taken 1 times.
|
1 | QCOMPARE(serverXdgSurface->minimumSize(), QSize(100, 100)); |
778 |
1/2✗ Branch 0 not taken.
✓ Branch 1 taken 1 times.
|
1 | } |
779 | |||
780 | 1 | void XdgShellTest::test_bounds() | |
781 | { | ||
782 |
18/36✓ 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 taken 1 times.
✗ Branch 11 not taken.
✓ Branch 12 taken 1 times.
✗ Branch 13 not taken.
✗ Branch 14 not taken.
✓ Branch 15 taken 1 times.
✓ Branch 16 taken 1 times.
✗ Branch 17 not taken.
✓ Branch 18 taken 1 times.
✗ Branch 19 not taken.
✓ Branch 20 taken 1 times.
✗ Branch 21 not taken.
✓ Branch 22 taken 1 times.
✗ Branch 23 not taken.
✗ Branch 24 not taken.
✓ Branch 25 taken 1 times.
✓ Branch 26 taken 1 times.
✗ Branch 27 not taken.
✓ Branch 28 taken 1 times.
✗ Branch 29 not taken.
✓ Branch 30 taken 1 times.
✗ Branch 31 not taken.
✓ Branch 32 taken 1 times.
✗ Branch 33 not taken.
✓ Branch 34 taken 1 times.
✗ Branch 35 not taken.
|
1 | SURFACE |
783 | |||
784 |
1/2✓ Branch 0 taken 1 times.
✗ Branch 1 not taken.
|
1 | QSignalSpy configure_spy(xdgSurface.get(), &Client::XdgShellToplevel::configured); |
785 |
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(configure_spy.isValid()); |
786 | |||
787 |
1/2✓ Branch 0 taken 1 times.
✗ Branch 1 not taken.
|
1 | serverXdgSurface->configure_bounds(QSize(100, 50)); |
788 |
1/2✓ Branch 0 taken 1 times.
✗ Branch 1 not taken.
|
1 | serverXdgSurface->configure(Server::XdgShellSurface::States(), QSize(10, 20)); |
789 | |||
790 |
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(configure_spy.wait()); |
791 |
3/6✓ Branch 0 taken 1 times.
✗ Branch 1 not taken.
✓ Branch 2 taken 1 times.
✗ Branch 3 not taken.
✗ Branch 4 not taken.
✓ Branch 5 taken 1 times.
|
1 | QCOMPARE(xdgSurface->get_configure_data().size, QSize(10, 20)); |
792 |
3/6✓ Branch 0 taken 1 times.
✗ Branch 1 not taken.
✓ Branch 2 taken 1 times.
✗ Branch 3 not taken.
✗ Branch 4 not taken.
✓ Branch 5 taken 1 times.
|
1 | QCOMPARE(xdgSurface->get_configure_data().states, Client::xdg_shell_states()); |
793 |
3/6✓ Branch 0 taken 1 times.
✗ Branch 1 not taken.
✓ Branch 2 taken 1 times.
✗ Branch 3 not taken.
✗ Branch 4 not taken.
✓ Branch 5 taken 1 times.
|
1 | QCOMPARE(xdgSurface->get_configure_data().bounds, QSize(100, 50)); |
794 |
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(xdgSurface->get_configure_data().updates.testFlag( |
795 | Client::xdg_shell_toplevel_configure_change::size)); | ||
796 |
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(xdgSurface->get_configure_data().updates.testFlag( |
797 | Client::xdg_shell_toplevel_configure_change::bounds)); | ||
798 | |||
799 |
1/2✓ Branch 0 taken 1 times.
✗ Branch 1 not taken.
|
1 | serverXdgSurface->configure_bounds(QSize(200, 150)); |
800 |
1/2✓ Branch 0 taken 1 times.
✗ Branch 1 not taken.
|
1 | serverXdgSurface->configure(Server::XdgShellSurface::States(), QSize(10, 20)); |
801 |
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(configure_spy.wait()); |
802 |
2/4✓ Branch 0 taken 1 times.
✗ Branch 1 not taken.
✗ Branch 2 not taken.
✓ Branch 3 taken 1 times.
|
1 | QCOMPARE(configure_spy.size(), 2); |
803 |
3/6✓ Branch 0 taken 1 times.
✗ Branch 1 not taken.
✓ Branch 2 taken 1 times.
✗ Branch 3 not taken.
✗ Branch 4 not taken.
✓ Branch 5 taken 1 times.
|
1 | QCOMPARE(xdgSurface->get_configure_data().bounds, QSize(200, 150)); |
804 |
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(!xdgSurface->get_configure_data().updates.testFlag( |
805 | Client::xdg_shell_toplevel_configure_change::size)); | ||
806 |
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(xdgSurface->get_configure_data().updates.testFlag( |
807 | Client::xdg_shell_toplevel_configure_change::bounds)); | ||
808 | |||
809 |
1/2✓ Branch 0 taken 1 times.
✗ Branch 1 not taken.
|
1 | serverXdgSurface->unconfigure_bounds(); |
810 |
1/2✓ Branch 0 taken 1 times.
✗ Branch 1 not taken.
|
1 | serverXdgSurface->configure(Server::XdgShellSurface::States(), QSize(10, 20)); |
811 |
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(configure_spy.wait()); |
812 |
2/4✓ Branch 0 taken 1 times.
✗ Branch 1 not taken.
✗ Branch 2 not taken.
✓ Branch 3 taken 1 times.
|
1 | QCOMPARE(configure_spy.size(), 3); |
813 |
3/6✓ Branch 0 taken 1 times.
✗ Branch 1 not taken.
✓ Branch 2 taken 1 times.
✗ Branch 3 not taken.
✗ Branch 4 not taken.
✓ Branch 5 taken 1 times.
|
1 | QCOMPARE(xdgSurface->get_configure_data().bounds, QSize(0, 0)); |
814 |
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(!xdgSurface->get_configure_data().updates.testFlag( |
815 | Client::xdg_shell_toplevel_configure_change::size)); | ||
816 |
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(xdgSurface->get_configure_data().updates.testFlag( |
817 | Client::xdg_shell_toplevel_configure_change::bounds)); | ||
818 |
1/2✗ Branch 0 not taken.
✓ Branch 1 taken 1 times.
|
1 | } |
819 | |||
820 | 1 | void XdgShellTest::test_capabilities() | |
821 | { | ||
822 | using client_change = Client::xdg_shell_toplevel_configure_change; | ||
823 | using client_changes = Client::xdg_shell_toplevel_configure_changes; | ||
824 | using server_cap = Server::xdg_shell_wm_capability; | ||
825 | using client_cap = Client::xdg_shell_wm_capability; | ||
826 | |||
827 |
18/36✓ 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 taken 1 times.
✗ Branch 11 not taken.
✓ Branch 12 taken 1 times.
✗ Branch 13 not taken.
✗ Branch 14 not taken.
✓ Branch 15 taken 1 times.
✓ Branch 16 taken 1 times.
✗ Branch 17 not taken.
✓ Branch 18 taken 1 times.
✗ Branch 19 not taken.
✓ Branch 20 taken 1 times.
✗ Branch 21 not taken.
✓ Branch 22 taken 1 times.
✗ Branch 23 not taken.
✗ Branch 24 not taken.
✓ Branch 25 taken 1 times.
✓ Branch 26 taken 1 times.
✗ Branch 27 not taken.
✓ Branch 28 taken 1 times.
✗ Branch 29 not taken.
✓ Branch 30 taken 1 times.
✗ Branch 31 not taken.
✓ Branch 32 taken 1 times.
✗ Branch 33 not taken.
✓ Branch 34 taken 1 times.
✗ Branch 35 not taken.
|
1 | SURFACE |
828 | |||
829 |
1/2✓ Branch 0 taken 1 times.
✗ Branch 1 not taken.
|
1 | QSignalSpy configure_spy(xdgSurface.get(), &Client::XdgShellToplevel::configured); |
830 |
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(configure_spy.isValid()); |
831 | |||
832 |
2/4✓ Branch 0 taken 1 times.
✗ Branch 1 not taken.
✓ Branch 2 taken 1 times.
✗ Branch 3 not taken.
|
1 | serverXdgSurface->set_capabilities({server_cap::minimize, server_cap::maximize}); |
833 |
1/2✓ Branch 0 taken 1 times.
✗ Branch 1 not taken.
|
1 | serverXdgSurface->configure(Server::XdgShellSurface::States(), QSize(10, 20)); |
834 | |||
835 |
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(configure_spy.wait()); |
836 |
3/6✓ Branch 0 taken 1 times.
✗ Branch 1 not taken.
✓ Branch 2 taken 1 times.
✗ Branch 3 not taken.
✗ Branch 4 not taken.
✓ Branch 5 taken 1 times.
|
1 | QCOMPARE(xdgSurface->get_configure_data().size, QSize(10, 20)); |
837 |
3/6✓ Branch 0 taken 1 times.
✗ Branch 1 not taken.
✓ Branch 2 taken 1 times.
✗ Branch 3 not taken.
✗ Branch 4 not taken.
✓ Branch 5 taken 1 times.
|
1 | QCOMPARE(xdgSurface->get_configure_data().states, Client::xdg_shell_states()); |
838 |
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(xdgSurface->get_configure_data().wm_capabilities, |
839 | std::set<client_cap>({client_cap::minimize, client_cap::maximize})); | ||
840 |
3/6✓ Branch 0 taken 1 times.
✗ Branch 1 not taken.
✓ Branch 2 taken 1 times.
✗ Branch 3 not taken.
✗ Branch 4 not taken.
✓ Branch 5 taken 1 times.
|
1 | QCOMPARE(xdgSurface->get_configure_data().updates, |
841 | client_changes(client_change::size) | client_change::wm_capabilities); | ||
842 | |||
843 |
2/4✓ Branch 0 taken 1 times.
✗ Branch 1 not taken.
✓ Branch 2 taken 1 times.
✗ Branch 3 not taken.
|
1 | serverXdgSurface->set_capabilities({server_cap::minimize, server_cap::fullscreen}); |
844 |
1/2✓ Branch 0 taken 1 times.
✗ Branch 1 not taken.
|
1 | serverXdgSurface->configure(Server::XdgShellSurface::States(), QSize(10, 20)); |
845 |
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(configure_spy.wait()); |
846 |
2/4✓ Branch 0 taken 1 times.
✗ Branch 1 not taken.
✗ Branch 2 not taken.
✓ Branch 3 taken 1 times.
|
1 | QCOMPARE(configure_spy.size(), 2); |
847 |
4/8✓ Branch 0 taken 1 times.
✗ Branch 1 not taken.
✓ Branch 2 taken 1 times.
✗ Branch 3 not taken.
✗ Branch 4 not taken.
✓ Branch 5 taken 1 times.
✗ Branch 6 not taken.
✓ Branch 7 taken 1 times.
|
1 | QCOMPARE(xdgSurface->get_configure_data().wm_capabilities, |
848 | std::set<client_cap>({client_cap::minimize, client_cap::fullscreen})); | ||
849 |
3/6✓ Branch 0 taken 1 times.
✗ Branch 1 not taken.
✓ Branch 2 taken 1 times.
✗ Branch 3 not taken.
✗ Branch 4 not taken.
✓ Branch 5 taken 1 times.
|
1 | QCOMPARE(xdgSurface->get_configure_data().updates, |
850 | client_changes(client_change::wm_capabilities)); | ||
851 | |||
852 |
1/2✓ Branch 0 taken 1 times.
✗ Branch 1 not taken.
|
1 | serverXdgSurface->configure(Server::XdgShellSurface::States(), QSize(20, 30)); |
853 |
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(configure_spy.wait()); |
854 |
2/4✓ Branch 0 taken 1 times.
✗ Branch 1 not taken.
✗ Branch 2 not taken.
✓ Branch 3 taken 1 times.
|
1 | QCOMPARE(configure_spy.size(), 3); |
855 |
3/6✓ Branch 0 taken 1 times.
✗ Branch 1 not taken.
✓ Branch 2 taken 1 times.
✗ Branch 3 not taken.
✗ Branch 4 not taken.
✓ Branch 5 taken 1 times.
|
1 | QCOMPARE(xdgSurface->get_configure_data().size, QSize(20, 30)); |
856 |
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(!xdgSurface->get_configure_data().updates.testFlag(client_change::wm_capabilities)); |
857 |
1/2✗ Branch 0 not taken.
✓ Branch 1 taken 1 times.
|
1 | } |
858 | |||
859 | 1 | void XdgShellTest::testPopup_data() | |
860 | { | ||
861 | 1 | QTest::addColumn<Client::xdg_shell_positioner_data>("positioner_data"); | |
862 | |||
863 | 1 | Client::xdg_shell_positioner_data pos_data; | |
864 | 1 | pos_data.size = QSize(10, 10); | |
865 | 1 | pos_data.anchor.rect = QRect(100, 100, 50, 50); | |
866 | |||
867 | 1 | QTest::newRow("default") << pos_data; | |
868 | |||
869 | 1 | Client::xdg_shell_positioner_data pos_data2; | |
870 | 1 | pos_data.size = QSize(20, 20); | |
871 | 1 | pos_data.anchor.rect = QRect(101, 102, 51, 52); | |
872 | 1 | QTest::newRow("sizeAndAnchorRect") << pos_data2; | |
873 | |||
874 | 1 | pos_data.anchor.edge = Qt::TopEdge | Qt::RightEdge; | |
875 | 1 | QTest::newRow("anchorEdge") << pos_data; | |
876 | |||
877 | 1 | pos_data.gravity = Qt::BottomEdge; | |
878 | 1 | QTest::newRow("gravity") << pos_data; | |
879 | |||
880 | 1 | pos_data.gravity = Qt::TopEdge | Qt::RightEdge; | |
881 | 1 | QTest::newRow("gravity2") << pos_data; | |
882 | |||
883 | using constraints = Client::xdg_shell_constraint_adjustment; | ||
884 | 1 | pos_data.constraint_adjustments = constraints::slide_x | constraints::flip_y; | |
885 | 1 | QTest::newRow("constraints") << pos_data; | |
886 | |||
887 | 2 | pos_data.constraint_adjustments = constraints::slide_x | constraints::slide_y | |
888 | 1 | | constraints::flip_x | constraints::flip_y | constraints::resize_x | constraints::resize_y; | |
889 | 1 | QTest::newRow("constraints2") << pos_data; | |
890 | |||
891 | 1 | pos_data.anchor.offset = QPoint(4, 5); | |
892 | 1 | QTest::newRow("offset") << pos_data; | |
893 | 1 | } | |
894 | |||
895 | 8 | void XdgShellTest::testPopup() | |
896 | { | ||
897 | 8 | QSignalSpy xdgTopLevelCreatedSpy(server.globals.xdg_shell.get(), | |
898 | &Server::XdgShell::toplevelCreated); | ||
899 |
1/2✓ Branch 0 taken 8 times.
✗ Branch 1 not taken.
|
8 | QSignalSpy popupCreatedSpy(server.globals.xdg_shell.get(), &Server::XdgShell::popupCreated); |
900 | |||
901 |
1/2✓ Branch 0 taken 8 times.
✗ Branch 1 not taken.
|
8 | std::unique_ptr<Client::Surface> parentSurface(m_compositor->createSurface()); |
902 | 8 | std::unique_ptr<Client::XdgShellToplevel> xdgParentSurface( | |
903 |
1/2✓ Branch 0 taken 8 times.
✗ Branch 1 not taken.
|
8 | m_xdgShell->create_toplevel(parentSurface.get())); |
904 | |||
905 |
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(xdgTopLevelCreatedSpy.wait()); |
906 | 8 | auto serverXdgTopLevel | |
907 |
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 | = xdgTopLevelCreatedSpy.first().first().value<Server::XdgShellToplevel*>(); |
908 | |||
909 |
2/4✓ Branch 0 taken 8 times.
✗ Branch 1 not taken.
✓ Branch 2 taken 8 times.
✗ Branch 3 not taken.
|
8 | QFETCH(Client::xdg_shell_positioner_data, positioner_data); |
910 | |||
911 |
1/2✓ Branch 0 taken 8 times.
✗ Branch 1 not taken.
|
8 | std::unique_ptr<Client::Surface> surface(m_compositor->createSurface()); |
912 | 8 | std::unique_ptr<Client::XdgShellPopup> xdgSurface( | |
913 |
1/2✓ Branch 0 taken 8 times.
✗ Branch 1 not taken.
|
8 | m_xdgShell->create_popup(surface.get(), xdgParentSurface.get(), positioner_data)); |
914 | |||
915 |
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(popupCreatedSpy.wait()); |
916 |
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 | auto serverXdgPopup = popupCreatedSpy.first().first().value<Server::XdgShellPopup*>(); |
917 |
2/4✓ Branch 0 taken 8 times.
✗ Branch 1 not taken.
✓ Branch 2 taken 8 times.
✗ Branch 3 not taken.
|
8 | QVERIFY(serverXdgPopup); |
918 | |||
919 |
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 | QCOMPARE(serverXdgPopup->get_positioner().size, positioner_data.size); |
920 |
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 | QCOMPARE(serverXdgPopup->get_positioner().anchor.rect, positioner_data.anchor.rect); |
921 |
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 | QCOMPARE(serverXdgPopup->get_positioner().anchor.edge, positioner_data.anchor.edge); |
922 |
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 | QCOMPARE(serverXdgPopup->get_positioner().gravity, positioner_data.gravity); |
923 |
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 | QCOMPARE(serverXdgPopup->get_positioner().anchor.offset, positioner_data.anchor.offset); |
924 | |||
925 | // We have different enums for client and server, but they share the same values. | ||
926 |
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 | QCOMPARE((int)serverXdgPopup->get_positioner().constraint_adjustments, |
927 | (int)positioner_data.constraint_adjustments); | ||
928 | |||
929 |
4/8✓ 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.
|
8 | QCOMPARE(serverXdgPopup->transientFor(), serverXdgTopLevel->surface()); |
930 |
1/2✗ Branch 0 not taken.
✓ Branch 1 taken 8 times.
|
8 | } |
931 | |||
932 | 1 | void XdgShellTest::test_popup_reposition() | |
933 | { | ||
934 | 1 | QSignalSpy toplevel_spy(server.globals.xdg_shell.get(), &Server::XdgShell::toplevelCreated); | |
935 |
1/2✓ Branch 0 taken 1 times.
✗ Branch 1 not taken.
|
1 | QSignalSpy popup_spy(server.globals.xdg_shell.get(), &Server::XdgShell::popupCreated); |
936 |
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(toplevel_spy.isValid()); |
937 |
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(popup_spy.isValid()); |
938 | |||
939 |
1/2✓ Branch 0 taken 1 times.
✗ Branch 1 not taken.
|
1 | std::unique_ptr<Client::Surface> parent_surface(m_compositor->createSurface()); |
940 | 1 | std::unique_ptr<Client::XdgShellToplevel> toplevel( | |
941 |
1/2✓ Branch 0 taken 1 times.
✗ Branch 1 not taken.
|
1 | m_xdgShell->create_toplevel(parent_surface.get())); |
942 | |||
943 |
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(toplevel_spy.wait()); |
944 |
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 | auto server_toplevel = toplevel_spy.first().first().value<Server::XdgShellToplevel*>(); |
945 | |||
946 | 1 | Client::xdg_shell_positioner_data pos_data; | |
947 | 1 | pos_data.size = QSize(10, 10); | |
948 | 1 | pos_data.anchor.rect = QRect(100, 100, 50, 50); | |
949 | 1 | pos_data.parent.serial = 1234; | |
950 | 1 | pos_data.parent.size = QSize(200, 300); | |
951 | |||
952 |
1/2✓ Branch 0 taken 1 times.
✗ Branch 1 not taken.
|
1 | std::unique_ptr<Client::Surface> surface(m_compositor->createSurface()); |
953 | 1 | std::unique_ptr<Client::XdgShellPopup> popup( | |
954 |
1/2✓ Branch 0 taken 1 times.
✗ Branch 1 not taken.
|
1 | m_xdgShell->create_popup(surface.get(), toplevel.get(), pos_data)); |
955 | |||
956 |
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(popup_spy.wait()); |
957 |
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 | auto server_popup = popup_spy.first().first().value<Server::XdgShellPopup*>(); |
958 |
2/4✓ Branch 0 taken 1 times.
✗ Branch 1 not taken.
✓ Branch 2 taken 1 times.
✗ Branch 3 not taken.
|
1 | QVERIFY(server_popup); |
959 | |||
960 |
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 | QCOMPARE(server_popup->get_positioner().size, pos_data.size); |
961 |
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 | QCOMPARE(server_popup->get_positioner().anchor.rect, pos_data.anchor.rect); |
962 |
2/4✓ Branch 0 taken 1 times.
✗ Branch 1 not taken.
✓ Branch 2 taken 1 times.
✗ Branch 3 not taken.
|
1 | QVERIFY(!pos_data.is_reactive); |
963 |
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 | QCOMPARE(server_popup->get_positioner().is_reactive, pos_data.is_reactive); |
964 |
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 | QCOMPARE(server_popup->get_positioner().parent.serial, pos_data.parent.serial); |
965 |
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 | QCOMPARE(server_popup->get_positioner().parent.size, pos_data.parent.size); |
966 | |||
967 |
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(server_popup->transientFor(), server_toplevel->surface()); |
968 | |||
969 | 1 | uint32_t token = 9000; | |
970 | |||
971 | 1 | Client::xdg_shell_positioner_data pos_data2; | |
972 | 1 | pos_data2.size = QSize(11, 11); | |
973 | 1 | pos_data2.anchor.rect = QRect(101, 101, 51, 51); | |
974 | 1 | pos_data2.parent.serial = 1235; | |
975 | 1 | pos_data2.parent.size = QSize(201, 301); | |
976 | 1 | pos_data2.is_reactive = true; | |
977 | |||
978 |
1/2✓ Branch 0 taken 1 times.
✗ Branch 1 not taken.
|
1 | auto positioner = m_xdgShell->create_positioner(pos_data2); |
979 | |||
980 |
1/2✓ Branch 0 taken 1 times.
✗ Branch 1 not taken.
|
1 | QSignalSpy reposition_spy(server_popup, &Server::XdgShellPopup::reposition); |
981 |
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(reposition_spy.isValid()); |
982 | |||
983 |
1/2✓ Branch 0 taken 1 times.
✗ Branch 1 not taken.
|
1 | popup->reposition(positioner, token); |
984 |
1/2✓ Branch 0 taken 1 times.
✗ Branch 1 not taken.
|
1 | delete positioner; |
985 | |||
986 |
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(reposition_spy.wait()); |
987 |
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 | QCOMPARE(reposition_spy.first().first().value<quint32>(), token); |
988 | |||
989 |
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 | QCOMPARE(server_popup->get_positioner().size, pos_data2.size); |
990 |
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 | QCOMPARE(server_popup->get_positioner().anchor.rect, pos_data2.anchor.rect); |
991 |
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 | QCOMPARE(server_popup->get_positioner().is_reactive, pos_data2.is_reactive); |
992 |
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 | QCOMPARE(server_popup->get_positioner().parent.serial, pos_data2.parent.serial); |
993 |
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 | QCOMPARE(server_popup->get_positioner().parent.size, pos_data2.parent.size); |
994 | |||
995 |
1/2✓ Branch 0 taken 1 times.
✗ Branch 1 not taken.
|
1 | QSignalSpy repositioned_spy(popup.get(), &Client::XdgShellPopup::repositioned); |
996 |
1/2✓ Branch 0 taken 1 times.
✗ Branch 1 not taken.
|
1 | server_popup->repositioned(token); |
997 | |||
998 |
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(repositioned_spy.wait()); |
999 |
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 | QCOMPARE(repositioned_spy.first().first().value<quint32>(), token); |
1000 |
1/2✗ Branch 0 not taken.
✓ Branch 1 taken 1 times.
|
1 | } |
1001 | |||
1002 | // top level then toplevel | ||
1003 | 1 | void XdgShellTest::testMultipleRoles1() | |
1004 | { | ||
1005 | // setting multiple roles on an xdg surface should fail | ||
1006 | 1 | QSignalSpy xdgSurfaceCreatedSpy(server.globals.xdg_shell.get(), | |
1007 | &Server::XdgShell::toplevelCreated); | ||
1008 |
1/2✓ Branch 0 taken 1 times.
✗ Branch 1 not taken.
|
1 | QSignalSpy popupCreatedSpy(server.globals.xdg_shell.get(), &Server::XdgShell::popupCreated); |
1009 | |||
1010 |
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(xdgSurfaceCreatedSpy.isValid()); |
1011 |
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(popupCreatedSpy.isValid()); |
1012 | |||
1013 |
1/2✓ Branch 0 taken 1 times.
✗ Branch 1 not taken.
|
1 | std::unique_ptr<Client::Surface> surface(m_compositor->createSurface()); |
1014 | // This is testing we work when a client does something stupid | ||
1015 | // we can't use Wrapland API here because by design that stops you from doing anything stupid | ||
1016 | |||
1017 |
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 | qDebug() << (xdg_wm_base*)*m_xdgShell; |
1018 |
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 | auto xdgSurface = xdg_wm_base_get_xdg_surface(*m_xdgShell, *surface.get()); |
1019 | |||
1020 | // create a top level | ||
1021 |
1/2✓ Branch 0 taken 1 times.
✗ Branch 1 not taken.
|
1 | auto xdgTopLevel1 = xdg_surface_get_toplevel(xdgSurface); |
1022 |
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(xdgSurfaceCreatedSpy.wait()); |
1023 | |||
1024 | // now try to create another top level for the same xdg surface. It should fail | ||
1025 |
1/2✓ Branch 0 taken 1 times.
✗ Branch 1 not taken.
|
1 | auto xdgTopLevel2 = xdg_surface_get_toplevel(xdgSurface); |
1026 |
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(!xdgSurfaceCreatedSpy.wait(10)); |
1027 | |||
1028 |
1/2✓ Branch 0 taken 1 times.
✗ Branch 1 not taken.
|
1 | xdg_toplevel_destroy(xdgTopLevel1); |
1029 |
1/2✓ Branch 0 taken 1 times.
✗ Branch 1 not taken.
|
1 | xdg_toplevel_destroy(xdgTopLevel2); |
1030 |
1/2✓ Branch 0 taken 1 times.
✗ Branch 1 not taken.
|
1 | xdg_surface_destroy(xdgSurface); |
1031 |
1/2✗ Branch 0 not taken.
✓ Branch 1 taken 1 times.
|
1 | } |
1032 | |||
1033 | // toplevel then popup | ||
1034 | 1 | void XdgShellTest::testMultipleRoles2() | |
1035 | { | ||
1036 | 1 | QSignalSpy xdgSurfaceCreatedSpy(server.globals.xdg_shell.get(), | |
1037 | &Server::XdgShell::toplevelCreated); | ||
1038 |
1/2✓ Branch 0 taken 1 times.
✗ Branch 1 not taken.
|
1 | QSignalSpy popupCreatedSpy(server.globals.xdg_shell.get(), &Server::XdgShell::popupCreated); |
1039 | |||
1040 |
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(xdgSurfaceCreatedSpy.isValid()); |
1041 |
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(popupCreatedSpy.isValid()); |
1042 | |||
1043 |
1/2✓ Branch 0 taken 1 times.
✗ Branch 1 not taken.
|
1 | std::unique_ptr<Client::Surface> surface(m_compositor->createSurface()); |
1044 |
1/2✓ Branch 0 taken 1 times.
✗ Branch 1 not taken.
|
1 | std::unique_ptr<Client::Surface> parentSurface(m_compositor->createSurface()); |
1045 | |||
1046 |
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 | auto parentXdgSurface = xdg_wm_base_get_xdg_surface(*m_xdgShell, *parentSurface.get()); |
1047 |
1/2✓ Branch 0 taken 1 times.
✗ Branch 1 not taken.
|
1 | auto xdgTopLevelParent = xdg_surface_get_toplevel(parentXdgSurface); |
1048 |
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(xdgSurfaceCreatedSpy.wait()); |
1049 | |||
1050 |
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 | auto xdgSurface = xdg_wm_base_get_xdg_surface(*m_xdgShell, *surface.get()); |
1051 | // create a top level | ||
1052 |
1/2✓ Branch 0 taken 1 times.
✗ Branch 1 not taken.
|
1 | auto xdgTopLevel1 = xdg_surface_get_toplevel(xdgSurface); |
1053 |
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(xdgSurfaceCreatedSpy.wait()); |
1054 | |||
1055 | // now try to create a popup on the same xdg surface. It should fail | ||
1056 | |||
1057 |
2/4✓ Branch 0 taken 1 times.
✗ Branch 1 not taken.
✓ Branch 2 taken 1 times.
✗ Branch 3 not taken.
|
1 | auto positioner = xdg_wm_base_create_positioner(*m_xdgShell); |
1058 |
1/2✓ Branch 0 taken 1 times.
✗ Branch 1 not taken.
|
1 | xdg_positioner_set_anchor_rect(positioner, 10, 10, 10, 10); |
1059 |
1/2✓ Branch 0 taken 1 times.
✗ Branch 1 not taken.
|
1 | xdg_positioner_set_size(positioner, 10, 100); |
1060 | |||
1061 |
1/2✓ Branch 0 taken 1 times.
✗ Branch 1 not taken.
|
1 | auto xdgPopup2 = xdg_surface_get_popup(xdgSurface, parentXdgSurface, positioner); |
1062 |
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(!popupCreatedSpy.wait(10)); |
1063 | |||
1064 |
1/2✓ Branch 0 taken 1 times.
✗ Branch 1 not taken.
|
1 | xdg_positioner_destroy(positioner); |
1065 |
1/2✓ Branch 0 taken 1 times.
✗ Branch 1 not taken.
|
1 | xdg_toplevel_destroy(xdgTopLevel1); |
1066 |
1/2✓ Branch 0 taken 1 times.
✗ Branch 1 not taken.
|
1 | xdg_toplevel_destroy(xdgTopLevelParent); |
1067 |
1/2✓ Branch 0 taken 1 times.
✗ Branch 1 not taken.
|
1 | xdg_popup_destroy(xdgPopup2); |
1068 |
1/2✓ Branch 0 taken 1 times.
✗ Branch 1 not taken.
|
1 | xdg_surface_destroy(xdgSurface); |
1069 |
1/2✓ Branch 0 taken 1 times.
✗ Branch 1 not taken.
|
1 | xdg_surface_destroy(parentXdgSurface); |
1070 |
1/2✗ Branch 0 not taken.
✓ Branch 1 taken 1 times.
|
1 | } |
1071 | |||
1072 | 1 | void XdgShellTest::test_role_after_buffer() | |
1073 | { | ||
1074 | 1 | QSignalSpy surface_spy(server.globals.compositor.get(), &Server::Compositor::surfaceCreated); | |
1075 |
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(surface_spy.isValid()); |
1076 |
1/2✓ Branch 0 taken 1 times.
✗ Branch 1 not taken.
|
1 | QSignalSpy xdg_toplevel_spy(server.globals.xdg_shell.get(), &Server::XdgShell::toplevelCreated); |
1077 |
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(xdg_toplevel_spy.isValid()); |
1078 | |||
1079 |
1/2✓ Branch 0 taken 1 times.
✗ Branch 1 not taken.
|
1 | std::unique_ptr<Client::Surface> surface(m_compositor->createSurface()); |
1080 |
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 | auto xdg_surface = xdg_wm_base_get_xdg_surface(*m_xdgShell, *surface.get()); |
1081 | |||
1082 |
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(surface_spy.wait()); |
1083 |
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 | auto server_surface = surface_spy.first().first().value<Server::Surface*>(); |
1084 | |||
1085 |
1/2✓ Branch 0 taken 1 times.
✗ Branch 1 not taken.
|
1 | QSignalSpy commit_spy(server_surface, &Server::Surface::committed); |
1086 |
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(commit_spy.isValid()); |
1087 | |||
1088 | // Now commit a buffer before getting the toplevel from the surface. | ||
1089 |
1/2✓ Branch 0 taken 1 times.
✗ Branch 1 not taken.
|
1 | auto img = QImage(QSize(300, 300), QImage::Format_ARGB32_Premultiplied); |
1090 |
1/2✓ Branch 0 taken 1 times.
✗ Branch 1 not taken.
|
1 | img.fill(Qt::black); |
1091 |
1/2✓ Branch 0 taken 1 times.
✗ Branch 1 not taken.
|
1 | auto buffer = m_shmPool->createBuffer(img); |
1092 | |||
1093 |
1/2✓ Branch 0 taken 1 times.
✗ Branch 1 not taken.
|
1 | surface->attachBuffer(buffer); |
1094 |
1/2✓ Branch 0 taken 1 times.
✗ Branch 1 not taken.
|
1 | surface->commit(Wrapland::Client::Surface::CommitFlag::None); |
1095 | |||
1096 |
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(commit_spy.wait()); |
1097 | |||
1098 |
1/2✓ Branch 0 taken 1 times.
✗ Branch 1 not taken.
|
1 | auto xdg_toplevel = xdg_surface_get_toplevel(xdg_surface); |
1099 |
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(!xdg_toplevel_spy.wait(100)); |
1100 | |||
1101 |
1/2✓ Branch 0 taken 1 times.
✗ Branch 1 not taken.
|
1 | xdg_toplevel_destroy(xdg_toplevel); |
1102 |
1/2✓ Branch 0 taken 1 times.
✗ Branch 1 not taken.
|
1 | xdg_surface_destroy(xdg_surface); |
1103 |
1/2✗ Branch 0 not taken.
✓ Branch 1 taken 1 times.
|
1 | } |
1104 | |||
1105 | 1 | void XdgShellTest::testWindowGeometry() | |
1106 | { | ||
1107 | 1 | QSignalSpy toplevel_created_spy(server.globals.xdg_shell.get(), | |
1108 | &Server::XdgShell::toplevelCreated); | ||
1109 |
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(toplevel_created_spy.isValid()); |
1110 | |||
1111 |
1/2✓ Branch 0 taken 1 times.
✗ Branch 1 not taken.
|
1 | std::unique_ptr<Client::Surface> surface(m_compositor->createSurface()); |
1112 |
1/2✓ Branch 0 taken 1 times.
✗ Branch 1 not taken.
|
1 | std::unique_ptr<Client::XdgShellToplevel> toplevel(m_xdgShell->create_toplevel(surface.get())); |
1113 | |||
1114 |
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(toplevel_created_spy.wait()); |
1115 | |||
1116 |
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 | auto server_toplevel = toplevel_created_spy.first().first().value<Server::XdgShellToplevel*>(); |
1117 |
2/4✓ Branch 0 taken 1 times.
✗ Branch 1 not taken.
✓ Branch 2 taken 1 times.
✗ Branch 3 not taken.
|
1 | QVERIFY(server_toplevel); |
1118 | |||
1119 |
2/4✓ Branch 0 taken 1 times.
✗ Branch 1 not taken.
✓ Branch 2 taken 1 times.
✗ Branch 3 not taken.
|
1 | QSignalSpy window_geometry_changed_spy(server_toplevel->surface(), |
1120 | &Server::XdgShellSurface::window_geometry_changed); | ||
1121 |
1/2✓ Branch 0 taken 1 times.
✗ Branch 1 not taken.
|
1 | toplevel->setWindowGeometry(QRect(50, 50, 400, 400)); |
1122 |
1/2✓ Branch 0 taken 1 times.
✗ Branch 1 not taken.
|
1 | surface->commit(Client::Surface::CommitFlag::None); |
1123 |
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(window_geometry_changed_spy.wait()); |
1124 | |||
1125 | // Window geometry is still invalid since surface has no size. | ||
1126 |
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 | QVERIFY(!server_toplevel->surface()->window_geometry().isValid()); |
1127 | |||
1128 | // Create a buffer for the surface. | ||
1129 |
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 | QSignalSpy toplevel_commit_spy(server_toplevel->surface()->surface(), |
1130 | &Server::Surface::committed); | ||
1131 | |||
1132 |
1/2✓ Branch 0 taken 1 times.
✗ Branch 1 not taken.
|
1 | QImage img(QSize(500, 500), QImage::Format_ARGB32_Premultiplied); |
1133 |
1/2✓ Branch 0 taken 1 times.
✗ Branch 1 not taken.
|
1 | img.fill(Qt::black); |
1134 |
1/2✓ Branch 0 taken 1 times.
✗ Branch 1 not taken.
|
1 | auto buffer = m_shmPool->createBuffer(img); |
1135 | |||
1136 | // The x/y-coordinates of the attachement should not make a difference. | ||
1137 |
1/2✓ Branch 0 taken 1 times.
✗ Branch 1 not taken.
|
1 | surface->attachBuffer(buffer, QPoint(55, 55)); |
1138 |
1/2✓ Branch 0 taken 1 times.
✗ Branch 1 not taken.
|
1 | surface->commit(Wrapland::Client::Surface::CommitFlag::None); |
1139 |
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(toplevel_commit_spy.wait()); |
1140 |
2/4✓ Branch 0 taken 1 times.
✗ Branch 1 not taken.
✗ Branch 2 not taken.
✓ Branch 3 taken 1 times.
|
1 | QCOMPARE(toplevel_commit_spy.count(), 1); |
1141 |
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 | QVERIFY(server_toplevel->surface()->surface()->isMapped()); |
1142 | |||
1143 | // Now the window geometry is the full size. | ||
1144 |
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(server_toplevel->surface()->window_geometry(), QRect(50, 50, 400, 400)); |
1145 | |||
1146 | // Reduce the size of the surface. | ||
1147 |
1/2✓ Branch 0 taken 1 times.
✗ Branch 1 not taken.
|
1 | img = QImage(QSize(300, 300), QImage::Format_ARGB32_Premultiplied); |
1148 |
1/2✓ Branch 0 taken 1 times.
✗ Branch 1 not taken.
|
1 | img.fill(Qt::black); |
1149 |
1/2✓ Branch 0 taken 1 times.
✗ Branch 1 not taken.
|
1 | buffer = m_shmPool->createBuffer(img); |
1150 | |||
1151 | // The x/y-coordinates of the attachement should not make a difference. | ||
1152 |
1/2✓ Branch 0 taken 1 times.
✗ Branch 1 not taken.
|
1 | surface->attachBuffer(buffer, QPoint(55, 55)); |
1153 |
1/2✓ Branch 0 taken 1 times.
✗ Branch 1 not taken.
|
1 | surface->commit(Wrapland::Client::Surface::CommitFlag::None); |
1154 | |||
1155 |
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(toplevel_commit_spy.wait()); |
1156 |
2/4✓ Branch 0 taken 1 times.
✗ Branch 1 not taken.
✗ Branch 2 not taken.
✓ Branch 3 taken 1 times.
|
1 | QCOMPARE(toplevel_commit_spy.count(), 2); |
1157 | |||
1158 | // Now the window geometry is clamped to the surface size. | ||
1159 |
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(server_toplevel->surface()->window_geometry(), QRect(50, 50, 250, 250)); |
1160 | |||
1161 | // Add a popup to this toplevel. | ||
1162 | 1 | Client::xdg_shell_positioner_data positioner_data; | |
1163 | 1 | positioner_data.size = QSize(10, 10); | |
1164 | 1 | positioner_data.anchor.rect = QRect(100, 100, 50, 50); | |
1165 | |||
1166 |
1/2✓ Branch 0 taken 1 times.
✗ Branch 1 not taken.
|
1 | QSignalSpy popup_created_spy(server.globals.xdg_shell.get(), &Server::XdgShell::popupCreated); |
1167 |
1/2✓ Branch 0 taken 1 times.
✗ Branch 1 not taken.
|
1 | std::unique_ptr<Client::Surface> popup_surface(m_compositor->createSurface()); |
1168 | 1 | std::unique_ptr<Client::XdgShellPopup> popup( | |
1169 |
1/2✓ Branch 0 taken 1 times.
✗ Branch 1 not taken.
|
1 | m_xdgShell->create_popup(popup_surface.get(), toplevel.get(), positioner_data)); |
1170 |
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(popup_created_spy.wait()); |
1171 |
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 | auto server_popup = popup_created_spy.first().first().value<Server::XdgShellPopup*>(); |
1172 |
2/4✓ Branch 0 taken 1 times.
✗ Branch 1 not taken.
✓ Branch 2 taken 1 times.
✗ Branch 3 not taken.
|
1 | QVERIFY(server_popup); |
1173 | |||
1174 |
2/4✓ Branch 0 taken 1 times.
✗ Branch 1 not taken.
✓ Branch 2 taken 1 times.
✗ Branch 3 not taken.
|
1 | QSignalSpy popupWindowGeometryChangedSpy(server_popup->surface(), |
1175 | &Server::XdgShellSurface::window_geometry_changed); | ||
1176 |
1/2✓ Branch 0 taken 1 times.
✗ Branch 1 not taken.
|
1 | popup->setWindowGeometry(QRect(60, 60, 300, 300)); |
1177 |
1/2✓ Branch 0 taken 1 times.
✗ Branch 1 not taken.
|
1 | popup_surface->commit(Client::Surface::CommitFlag::None); |
1178 |
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(popupWindowGeometryChangedSpy.wait()); |
1179 | |||
1180 | // Window geometry is still invalid since surface has no size. | ||
1181 |
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 | QVERIFY(!server_popup->surface()->window_geometry().isValid()); |
1182 | |||
1183 | // Create a buffer for the surface. | ||
1184 |
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 | QSignalSpy popup_commit_spy(server_popup->surface()->surface(), &Server::Surface::committed); |
1185 |
1/2✓ Branch 0 taken 1 times.
✗ Branch 1 not taken.
|
1 | img = QImage(QSize(300, 300), QImage::Format_ARGB32_Premultiplied); |
1186 |
1/2✓ Branch 0 taken 1 times.
✗ Branch 1 not taken.
|
1 | img.fill(Qt::black); |
1187 |
1/2✓ Branch 0 taken 1 times.
✗ Branch 1 not taken.
|
1 | buffer = m_shmPool->createBuffer(img); |
1188 | |||
1189 | // The x/y-coordinates of the attachement should not make a difference. | ||
1190 |
1/2✓ Branch 0 taken 1 times.
✗ Branch 1 not taken.
|
1 | popup_surface->attachBuffer(buffer, QPoint(55, 55)); |
1191 |
1/2✓ Branch 0 taken 1 times.
✗ Branch 1 not taken.
|
1 | popup_surface->commit(Wrapland::Client::Surface::CommitFlag::None); |
1192 | |||
1193 |
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(popup_commit_spy.wait()); |
1194 |
2/4✓ Branch 0 taken 1 times.
✗ Branch 1 not taken.
✗ Branch 2 not taken.
✓ Branch 3 taken 1 times.
|
1 | QCOMPARE(popup_commit_spy.count(), 1); |
1195 | |||
1196 | // Window geometry is clamped to the surface size. | ||
1197 |
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(server_popup->surface()->window_geometry(), QRect(60, 60, 240, 240)); |
1198 |
1/2✗ Branch 0 not taken.
✓ Branch 1 taken 1 times.
|
1 | } |
1199 | |||
1200 |
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(XdgShellTest) |
1201 | #include "xdg_shell.moc" | ||
1202 |