Directory: | ./ |
---|---|
File: | autotests/client/primary_selection.cpp |
Date: | 2024-01-22 17:25:27 |
Exec | Total | Coverage | |
---|---|---|---|
Lines: | 409 | 409 | 100.0% |
Branches: | 821 | 1750 | 46.9% |
Line | Branch | Exec | Source |
---|---|---|---|
1 | /* | ||
2 | SPDX-FileCopyrightText: 2020 Adrien Faveraux <af@brain-networks.fr> | ||
3 | SPDX-FileCopyrightText: 2021 Francesco Sorrentino <francesco.sorr@gmail.com> | ||
4 | |||
5 | SPDX-License-Identifier: LGPL-2.1-only OR LGPL-3.0-only | ||
6 | */ | ||
7 | #include "../../src/client/primary_selection.h" | ||
8 | #include "../../src/client/compositor.h" | ||
9 | #include "../../src/client/connection_thread.h" | ||
10 | #include "../../src/client/event_queue.h" | ||
11 | #include "../../src/client/keyboard.h" | ||
12 | #include "../../src/client/pointer.h" | ||
13 | #include "../../src/client/registry.h" | ||
14 | #include "../../src/client/seat.h" | ||
15 | #include "../../src/client/surface.h" | ||
16 | |||
17 | #include "../../server/compositor.h" | ||
18 | #include "../../server/display.h" | ||
19 | #include "../../server/primary_selection.h" | ||
20 | #include "../../server/seat.h" | ||
21 | #include "../../server/surface.h" | ||
22 | |||
23 | #include "../../tests/globals.h" | ||
24 | |||
25 | #include <QThread> | ||
26 | #include <QtTest> | ||
27 | #include <wayland-client.h> | ||
28 | |||
29 | 1 | class TestPrimarySelection : public QObject | |
30 | { | ||
31 | Q_OBJECT | ||
32 | private Q_SLOTS: | ||
33 | void init(); | ||
34 | void cleanup(); | ||
35 | |||
36 | void testCreate(); | ||
37 | void testSetSelection(); | ||
38 | void testSendSelectionOnSeat(); | ||
39 | void testReplaceSource(); | ||
40 | void testOffer(); | ||
41 | void testRequestSend(); | ||
42 | void testCancel(); | ||
43 | void testServerGet(); | ||
44 | |||
45 | void testDestroy(); | ||
46 | |||
47 | private: | ||
48 | 1 | struct { | |
49 | std::unique_ptr<Wrapland::Server::Display> display; | ||
50 | Wrapland::Server::globals globals; | ||
51 | 1 | Wrapland::Server::Seat* seat{nullptr}; | |
52 | } server; | ||
53 | |||
54 | 1 | Wrapland::Client::ConnectionThread* m_connection = nullptr; | |
55 | 1 | Wrapland::Client::PrimarySelectionDeviceManager* m_deviceManager = nullptr; | |
56 | 1 | Wrapland::Client::Compositor* m_compositor = nullptr; | |
57 | 1 | Wrapland::Client::Seat* m_seat = nullptr; | |
58 | 1 | Wrapland::Client::EventQueue* m_queue = nullptr; | |
59 | 1 | QThread* m_thread = nullptr; | |
60 | }; | ||
61 | |||
62 | constexpr auto socket_name{"wrapland-test-wayland-primaryselection-0"}; | ||
63 | |||
64 | 9 | void TestPrimarySelection::init() | |
65 | { | ||
66 | 9 | qRegisterMetaType<Wrapland::Server::primary_selection_device*>(); | |
67 | 9 | qRegisterMetaType<Wrapland::Server::primary_selection_source*>(); | |
68 | 9 | qRegisterMetaType<Wrapland::Server::Surface*>(); | |
69 | 9 | qRegisterMetaType<std::string>(); | |
70 | |||
71 | 9 | server.display = std::make_unique<Wrapland::Server::Display>(); | |
72 |
2/4✓ Branch 0 taken 9 times.
✗ Branch 1 not taken.
✓ Branch 2 taken 9 times.
✗ Branch 3 not taken.
|
9 | server.display->set_socket_name(socket_name); |
73 | 9 | server.display->start(); | |
74 |
1/2✓ Branch 0 taken 9 times.
✗ Branch 1 not taken.
|
9 | QVERIFY(server.display->running()); |
75 | |||
76 | // setup connection | ||
77 |
1/2✓ Branch 0 taken 9 times.
✗ Branch 1 not taken.
|
9 | m_connection = new Wrapland::Client::ConnectionThread; |
78 | 9 | QSignalSpy establishedSpy(m_connection, | |
79 | &Wrapland::Client::ConnectionThread::establishedChanged); | ||
80 |
2/4✓ Branch 0 taken 9 times.
✗ Branch 1 not taken.
✓ Branch 2 taken 9 times.
✗ Branch 3 not taken.
|
9 | m_connection->setSocketName(socket_name); |
81 | |||
82 |
2/4✓ Branch 0 taken 9 times.
✗ Branch 1 not taken.
✓ Branch 2 taken 9 times.
✗ Branch 3 not taken.
|
9 | m_thread = new QThread(this); |
83 |
1/2✓ Branch 0 taken 9 times.
✗ Branch 1 not taken.
|
9 | m_connection->moveToThread(m_thread); |
84 |
1/2✓ Branch 0 taken 9 times.
✗ Branch 1 not taken.
|
9 | m_thread->start(); |
85 | |||
86 |
1/2✓ Branch 0 taken 9 times.
✗ Branch 1 not taken.
|
9 | m_connection->establishConnection(); |
87 |
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(establishedSpy.wait()); |
88 | |||
89 |
2/4✓ Branch 0 taken 9 times.
✗ Branch 1 not taken.
✓ Branch 2 taken 9 times.
✗ Branch 3 not taken.
|
9 | m_queue = new Wrapland::Client::EventQueue(this); |
90 |
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(!m_queue->isValid()); |
91 |
1/2✓ Branch 0 taken 9 times.
✗ Branch 1 not taken.
|
9 | m_queue->setup(m_connection); |
92 |
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(m_queue->isValid()); |
93 | |||
94 |
1/2✓ Branch 0 taken 9 times.
✗ Branch 1 not taken.
|
9 | Wrapland::Client::Registry registry; |
95 |
1/2✓ Branch 0 taken 9 times.
✗ Branch 1 not taken.
|
9 | QSignalSpy deviceManagerSpy(®istry, |
96 |
1/2✓ Branch 0 taken 9 times.
✗ Branch 1 not taken.
|
9 | SIGNAL(primarySelectionDeviceManagerAnnounced(quint32, quint32))); |
97 | |||
98 |
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(deviceManagerSpy.isValid()); |
99 |
2/4✓ Branch 0 taken 9 times.
✗ Branch 1 not taken.
✓ Branch 2 taken 9 times.
✗ Branch 3 not taken.
|
9 | QSignalSpy seatSpy(®istry, SIGNAL(seatAnnounced(quint32, quint32))); |
100 |
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(seatSpy.isValid()); |
101 |
2/4✓ Branch 0 taken 9 times.
✗ Branch 1 not taken.
✓ Branch 2 taken 9 times.
✗ Branch 3 not taken.
|
9 | QSignalSpy compositorSpy(®istry, SIGNAL(compositorAnnounced(quint32, quint32))); |
102 |
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(compositorSpy.isValid()); |
103 |
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(!registry.eventQueue()); |
104 |
1/2✓ Branch 0 taken 9 times.
✗ Branch 1 not taken.
|
9 | registry.setEventQueue(m_queue); |
105 |
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 | QCOMPARE(registry.eventQueue(), m_queue); |
106 |
2/4✓ Branch 0 taken 9 times.
✗ Branch 1 not taken.
✓ Branch 2 taken 9 times.
✗ Branch 3 not taken.
|
9 | registry.create(m_connection->display()); |
107 |
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(registry.isValid()); |
108 |
1/2✓ Branch 0 taken 9 times.
✗ Branch 1 not taken.
|
9 | registry.setup(); |
109 | |||
110 | 18 | server.globals.primary_selection_device_manager | |
111 |
1/2✓ Branch 0 taken 9 times.
✗ Branch 1 not taken.
|
9 | = std::make_unique<Wrapland::Server::primary_selection_device_manager>( |
112 | 9 | server.display.get()); | |
113 | |||
114 |
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(deviceManagerSpy.wait()); |
115 |
1/2✓ Branch 0 taken 9 times.
✗ Branch 1 not taken.
|
9 | m_deviceManager = registry.createPrimarySelectionDeviceManager( |
116 |
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 | deviceManagerSpy.first().first().value<quint32>(), |
117 |
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 | deviceManagerSpy.first().last().value<quint32>(), |
118 | this); | ||
119 | |||
120 |
1/2✓ Branch 0 taken 9 times.
✗ Branch 1 not taken.
|
9 | server.globals.seats.emplace_back( |
121 |
1/2✓ Branch 0 taken 9 times.
✗ Branch 1 not taken.
|
9 | std::make_unique<Wrapland::Server::Seat>(server.display.get())); |
122 | 9 | server.seat = server.globals.seats.back().get(); | |
123 |
1/2✓ Branch 0 taken 9 times.
✗ Branch 1 not taken.
|
9 | server.seat->setHasPointer(true); |
124 | |||
125 |
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(seatSpy.wait()); |
126 |
1/2✓ Branch 0 taken 9 times.
✗ Branch 1 not taken.
|
9 | m_seat = registry.createSeat( |
127 |
6/12✓ 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.
|
9 | seatSpy.first().first().value<quint32>(), seatSpy.first().last().value<quint32>(), this); |
128 |
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(m_seat->isValid()); |
129 |
2/4✓ Branch 0 taken 9 times.
✗ Branch 1 not taken.
✓ Branch 2 taken 9 times.
✗ Branch 3 not taken.
|
9 | QSignalSpy pointerChangedSpy(m_seat, SIGNAL(hasPointerChanged(bool))); |
130 |
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(pointerChangedSpy.isValid()); |
131 |
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(pointerChangedSpy.wait()); |
132 | |||
133 | 18 | server.globals.compositor | |
134 |
1/2✓ Branch 0 taken 9 times.
✗ Branch 1 not taken.
|
9 | = std::make_unique<Wrapland::Server::Compositor>(server.display.get()); |
135 | |||
136 |
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(compositorSpy.wait()); |
137 |
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.
|
18 | m_compositor = registry.createCompositor(compositorSpy.first().first().value<quint32>(), |
138 |
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 | compositorSpy.first().last().value<quint32>(), |
139 | this); | ||
140 |
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(m_compositor->isValid()); |
141 |
1/2✗ Branch 0 not taken.
✓ Branch 1 taken 9 times.
|
9 | } |
142 | |||
143 | 9 | void TestPrimarySelection::cleanup() | |
144 | { | ||
145 |
1/2✗ Branch 0 not taken.
✓ Branch 1 taken 9 times.
|
9 | if (m_deviceManager) { |
146 |
1/2✗ Branch 0 not taken.
✓ Branch 1 taken 9 times.
|
9 | delete m_deviceManager; |
147 | 9 | m_deviceManager = nullptr; | |
148 | 9 | } | |
149 |
1/2✗ Branch 0 not taken.
✓ Branch 1 taken 9 times.
|
9 | if (m_seat) { |
150 |
1/2✗ Branch 0 not taken.
✓ Branch 1 taken 9 times.
|
9 | delete m_seat; |
151 | 9 | m_seat = nullptr; | |
152 | 9 | } | |
153 |
1/2✗ Branch 0 not taken.
✓ Branch 1 taken 9 times.
|
9 | if (m_compositor) { |
154 |
1/2✗ Branch 0 not taken.
✓ Branch 1 taken 9 times.
|
9 | delete m_compositor; |
155 | 9 | m_compositor = nullptr; | |
156 | 9 | } | |
157 |
1/2✗ Branch 0 not taken.
✓ Branch 1 taken 9 times.
|
9 | if (m_queue) { |
158 |
1/2✗ Branch 0 not taken.
✓ Branch 1 taken 9 times.
|
9 | delete m_queue; |
159 | 9 | m_queue = nullptr; | |
160 | 9 | } | |
161 | 9 | m_connection->deleteLater(); | |
162 | 9 | m_thread->quit(); | |
163 | 9 | m_thread->wait(); | |
164 |
1/2✗ Branch 0 not taken.
✓ Branch 1 taken 9 times.
|
9 | delete m_thread; |
165 | |||
166 | 9 | m_thread = nullptr; | |
167 | 9 | m_connection = nullptr; | |
168 | |||
169 |
1/2✓ Branch 0 taken 9 times.
✗ Branch 1 not taken.
|
9 | server = {}; |
170 | 9 | } | |
171 | |||
172 | 1 | void TestPrimarySelection::testCreate() | |
173 | { | ||
174 | 1 | QSignalSpy deviceCreatedSpy( | |
175 | 1 | server.globals.primary_selection_device_manager.get(), | |
176 | &Wrapland::Server::primary_selection_device_manager::device_created); | ||
177 |
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(deviceCreatedSpy.isValid()); |
178 | |||
179 | 1 | std::unique_ptr<Wrapland::Client::PrimarySelectionDevice> device( | |
180 |
1/2✓ Branch 0 taken 1 times.
✗ Branch 1 not taken.
|
1 | m_deviceManager->getDevice(m_seat)); |
181 |
3/6✓ Branch 0 taken 1 times.
✗ Branch 1 not taken.
✓ Branch 2 taken 1 times.
✗ Branch 3 not taken.
✓ Branch 4 taken 1 times.
✗ Branch 5 not taken.
|
1 | QVERIFY(device->isValid()); |
182 | |||
183 |
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(deviceCreatedSpy.wait()); |
184 |
2/4✓ Branch 0 taken 1 times.
✗ Branch 1 not taken.
✗ Branch 2 not taken.
✓ Branch 3 taken 1 times.
|
1 | QCOMPARE(deviceCreatedSpy.count(), 1); |
185 | |||
186 | 1 | auto serverDevice | |
187 |
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 | = deviceCreatedSpy.first().first().value<Wrapland::Server::primary_selection_device*>(); |
188 |
2/4✓ Branch 0 taken 1 times.
✗ Branch 1 not taken.
✓ Branch 2 taken 1 times.
✗ Branch 3 not taken.
|
1 | QVERIFY(serverDevice); |
189 |
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(serverDevice->seat(), server.seat); |
190 |
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(!serverDevice->selection()); |
191 | |||
192 |
3/6✓ Branch 0 taken 1 times.
✗ Branch 1 not taken.
✓ Branch 2 taken 1 times.
✗ Branch 3 not taken.
✓ Branch 4 taken 1 times.
✗ Branch 5 not taken.
|
1 | QVERIFY(!server.seat->primarySelection()); |
193 |
2/4✓ Branch 0 taken 1 times.
✗ Branch 1 not taken.
✓ Branch 2 taken 1 times.
✗ Branch 3 not taken.
|
1 | server.seat->setPrimarySelection(serverDevice->selection()); |
194 |
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.seat->primarySelection(), serverDevice->selection()); |
195 | |||
196 | // and destroy | ||
197 |
1/2✓ Branch 0 taken 1 times.
✗ Branch 1 not taken.
|
1 | QSignalSpy destroyedSpy(serverDevice, &QObject::destroyed); |
198 |
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()); |
199 | 1 | device.reset(); | |
200 |
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()); |
201 |
3/6✓ Branch 0 taken 1 times.
✗ Branch 1 not taken.
✓ Branch 2 taken 1 times.
✗ Branch 3 not taken.
✓ Branch 4 taken 1 times.
✗ Branch 5 not taken.
|
1 | QVERIFY(!server.seat->primarySelection()); |
202 |
1/2✗ Branch 0 not taken.
✓ Branch 1 taken 1 times.
|
1 | } |
203 | |||
204 | 1 | void TestPrimarySelection::testSetSelection() | |
205 | { | ||
206 | 1 | std::unique_ptr<Wrapland::Client::Pointer> pointer(m_seat->createPointer()); | |
207 | |||
208 |
1/2✓ Branch 0 taken 1 times.
✗ Branch 1 not taken.
|
1 | QSignalSpy deviceCreatedSpy( |
209 | 1 | server.globals.primary_selection_device_manager.get(), | |
210 | &Wrapland::Server::primary_selection_device_manager::device_created); | ||
211 |
3/6✓ Branch 0 taken 1 times.
✗ Branch 1 not taken.
✓ Branch 2 taken 1 times.
✗ Branch 3 not taken.
✓ Branch 4 taken 1 times.
✗ Branch 5 not taken.
|
1 | QVERIFY(deviceCreatedSpy.isValid()); |
212 | |||
213 | 1 | std::unique_ptr<Wrapland::Client::PrimarySelectionDevice> device( | |
214 |
1/2✓ Branch 0 taken 1 times.
✗ Branch 1 not taken.
|
1 | m_deviceManager->getDevice(m_seat)); |
215 |
3/6✓ Branch 0 taken 1 times.
✗ Branch 1 not taken.
✓ Branch 2 taken 1 times.
✗ Branch 3 not taken.
✓ Branch 4 taken 1 times.
✗ Branch 5 not taken.
|
1 | QVERIFY(device->isValid()); |
216 | |||
217 |
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(deviceCreatedSpy.wait()); |
218 |
2/4✓ Branch 0 taken 1 times.
✗ Branch 1 not taken.
✗ Branch 2 not taken.
✓ Branch 3 taken 1 times.
|
1 | QCOMPARE(deviceCreatedSpy.count(), 1); |
219 | 1 | auto serverDevice | |
220 |
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 | = deviceCreatedSpy.first().first().value<Wrapland::Server::primary_selection_device*>(); |
221 |
2/4✓ Branch 0 taken 1 times.
✗ Branch 1 not taken.
✓ Branch 2 taken 1 times.
✗ Branch 3 not taken.
|
1 | QVERIFY(serverDevice); |
222 | |||
223 |
1/2✓ Branch 0 taken 1 times.
✗ Branch 1 not taken.
|
1 | QSignalSpy sourceCreatedSpy( |
224 | 1 | server.globals.primary_selection_device_manager.get(), | |
225 | &Wrapland::Server::primary_selection_device_manager::source_created); | ||
226 |
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(deviceCreatedSpy.isValid()); |
227 | |||
228 | 1 | std::unique_ptr<Wrapland::Client::PrimarySelectionSource> source( | |
229 |
1/2✓ Branch 0 taken 1 times.
✗ Branch 1 not taken.
|
1 | m_deviceManager->createSource()); |
230 |
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(source->isValid()); |
231 |
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 | source->offer(QStringLiteral("text/plain")); |
232 | |||
233 |
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(sourceCreatedSpy.wait()); |
234 |
2/4✓ Branch 0 taken 1 times.
✗ Branch 1 not taken.
✗ Branch 2 not taken.
✓ Branch 3 taken 1 times.
|
1 | QCOMPARE(sourceCreatedSpy.count(), 1); |
235 | 1 | auto serverSource | |
236 |
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 | = sourceCreatedSpy.first().first().value<Wrapland::Server::primary_selection_source*>(); |
237 |
2/4✓ Branch 0 taken 1 times.
✗ Branch 1 not taken.
✓ Branch 2 taken 1 times.
✗ Branch 3 not taken.
|
1 | QVERIFY(serverSource); |
238 | |||
239 | // everything setup, now we can test setting the selection | ||
240 |
1/2✓ Branch 0 taken 1 times.
✗ Branch 1 not taken.
|
1 | QSignalSpy selectionChangedSpy(serverDevice, |
241 | &Wrapland::Server::primary_selection_device::selection_changed); | ||
242 |
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(selectionChangedSpy.isValid()); |
243 | |||
244 |
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(!serverDevice->selection()); |
245 |
1/2✓ Branch 0 taken 1 times.
✗ Branch 1 not taken.
|
1 | device->setSelection(1, source.get()); |
246 |
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(selectionChangedSpy.wait()); |
247 |
2/4✓ Branch 0 taken 1 times.
✗ Branch 1 not taken.
✗ Branch 2 not taken.
✓ Branch 3 taken 1 times.
|
1 | QCOMPARE(selectionChangedSpy.count(), 1); |
248 |
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(serverDevice->selection(), serverSource); |
249 | |||
250 | // Send selection to device. | ||
251 |
1/2✓ Branch 0 taken 1 times.
✗ Branch 1 not taken.
|
1 | QSignalSpy selectionOfferedSpy(device.get(), |
252 | &Wrapland::Client::PrimarySelectionDevice::selectionOffered); | ||
253 |
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(selectionOfferedSpy.isValid()); |
254 |
2/4✓ Branch 0 taken 1 times.
✗ Branch 1 not taken.
✓ Branch 2 taken 1 times.
✗ Branch 3 not taken.
|
1 | serverDevice->send_selection(serverDevice->selection()); |
255 |
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(selectionOfferedSpy.wait()); |
256 |
2/4✓ Branch 0 taken 1 times.
✗ Branch 1 not taken.
✗ Branch 2 not taken.
✓ Branch 3 taken 1 times.
|
1 | QCOMPARE(selectionOfferedSpy.count(), 1); |
257 | |||
258 | 1 | auto offer | |
259 |
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 | = selectionOfferedSpy.first().first().value<Wrapland::Client::PrimarySelectionOffer*>(); |
260 |
2/4✓ Branch 0 taken 1 times.
✗ Branch 1 not taken.
✓ Branch 2 taken 1 times.
✗ Branch 3 not taken.
|
1 | QVERIFY(offer); |
261 |
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(offer->offeredMimeTypes().count(), 1); |
262 |
7/14✓ 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 not taken.
✓ Branch 13 taken 1 times.
|
1 | QCOMPARE(offer->offeredMimeTypes().first().name(), QStringLiteral("text/plain")); |
263 | |||
264 | // sending a new mimetype to the selection, should be announced in the offer | ||
265 |
2/4✓ Branch 0 taken 1 times.
✗ Branch 1 not taken.
✓ Branch 2 taken 1 times.
✗ Branch 3 not taken.
|
1 | QSignalSpy mimeTypeAddedSpy(offer, SIGNAL(mimeTypeOffered(QString))); |
266 |
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(mimeTypeAddedSpy.isValid()); |
267 |
2/4✓ Branch 0 taken 1 times.
✗ Branch 1 not taken.
✓ Branch 2 taken 1 times.
✗ Branch 3 not taken.
|
1 | source->offer("text/html"); |
268 |
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(mimeTypeAddedSpy.wait()); |
269 |
2/4✓ Branch 0 taken 1 times.
✗ Branch 1 not taken.
✗ Branch 2 not taken.
✓ Branch 3 taken 1 times.
|
1 | QCOMPARE(mimeTypeAddedSpy.count(), 1); |
270 |
7/14✓ 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 not taken.
✓ Branch 13 taken 1 times.
|
1 | QCOMPARE(mimeTypeAddedSpy.first().first().toString(), QStringLiteral("text/html")); |
271 |
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(offer->offeredMimeTypes().count(), 2); |
272 |
7/14✓ 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 not taken.
✓ Branch 13 taken 1 times.
|
1 | QCOMPARE(offer->offeredMimeTypes().first().name(), QStringLiteral("text/plain")); |
273 |
7/14✓ 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 not taken.
✓ Branch 13 taken 1 times.
|
1 | QCOMPARE(offer->offeredMimeTypes().last().name(), QStringLiteral("text/html")); |
274 | |||
275 | // now clear the selection | ||
276 |
1/2✓ Branch 0 taken 1 times.
✗ Branch 1 not taken.
|
1 | device->setSelection(1, nullptr); |
277 |
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(selectionChangedSpy.wait()); |
278 |
2/4✓ Branch 0 taken 1 times.
✗ Branch 1 not taken.
✗ Branch 2 not taken.
✓ Branch 3 taken 1 times.
|
1 | QCOMPARE(selectionChangedSpy.count(), 2); |
279 |
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(!serverDevice->selection()); |
280 | |||
281 | // set another selection | ||
282 |
1/2✓ Branch 0 taken 1 times.
✗ Branch 1 not taken.
|
1 | device->setSelection(2, source.get()); |
283 |
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(selectionChangedSpy.wait()); |
284 | // now unbind the device | ||
285 |
1/2✓ Branch 0 taken 1 times.
✗ Branch 1 not taken.
|
1 | QSignalSpy unboundSpy(serverDevice, |
286 | &Wrapland::Server::primary_selection_device::resourceDestroyed); | ||
287 |
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(unboundSpy.isValid()); |
288 | 1 | device.reset(); | |
289 |
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(unboundSpy.wait()); |
290 |
1/2✗ Branch 0 not taken.
✓ Branch 1 taken 1 times.
|
1 | } |
291 | |||
292 | 1 | void TestPrimarySelection::testSendSelectionOnSeat() | |
293 | { | ||
294 | // This test verifies that the selection is sent when setting a focused keyboard. | ||
295 | |||
296 | // First add keyboard support to Seat. | ||
297 | 1 | QSignalSpy keyboardChangedSpy(m_seat, &Wrapland::Client::Seat::hasKeyboardChanged); | |
298 |
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(keyboardChangedSpy.isValid()); |
299 |
1/2✓ Branch 0 taken 1 times.
✗ Branch 1 not taken.
|
1 | server.seat->setHasKeyboard(true); |
300 |
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(keyboardChangedSpy.wait()); |
301 | |||
302 | // Now create device, Keyboard and a Surface. | ||
303 |
1/2✓ Branch 0 taken 1 times.
✗ Branch 1 not taken.
|
1 | QSignalSpy deviceCreatedSpy( |
304 | 1 | server.globals.primary_selection_device_manager.get(), | |
305 | &Wrapland::Server::primary_selection_device_manager::device_created); | ||
306 |
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(deviceCreatedSpy.isValid()); |
307 | 1 | std::unique_ptr<Wrapland::Client::PrimarySelectionDevice> device( | |
308 |
1/2✓ Branch 0 taken 1 times.
✗ Branch 1 not taken.
|
1 | m_deviceManager->getDevice(m_seat)); |
309 |
3/6✓ Branch 0 taken 1 times.
✗ Branch 1 not taken.
✓ Branch 2 taken 1 times.
✗ Branch 3 not taken.
✓ Branch 4 taken 1 times.
✗ Branch 5 not taken.
|
1 | QVERIFY(device->isValid()); |
310 |
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(deviceCreatedSpy.wait()); |
311 | 1 | auto serverDevice | |
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 | = deviceCreatedSpy.first().first().value<Wrapland::Server::primary_selection_device*>(); |
313 |
2/4✓ Branch 0 taken 1 times.
✗ Branch 1 not taken.
✓ Branch 2 taken 1 times.
✗ Branch 3 not taken.
|
1 | QVERIFY(serverDevice); |
314 |
1/2✓ Branch 0 taken 1 times.
✗ Branch 1 not taken.
|
1 | std::unique_ptr<Wrapland::Client::Keyboard> keyboard(m_seat->createKeyboard()); |
315 |
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(keyboard->isValid()); |
316 |
1/2✓ Branch 0 taken 1 times.
✗ Branch 1 not taken.
|
1 | QSignalSpy surfaceCreatedSpy(server.globals.compositor.get(), |
317 | &Wrapland::Server::Compositor::surfaceCreated); | ||
318 |
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()); |
319 | |||
320 |
1/2✓ Branch 0 taken 1 times.
✗ Branch 1 not taken.
|
1 | std::unique_ptr<Wrapland::Client::Surface> surface(m_compositor->createSurface()); |
321 |
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->isValid()); |
322 |
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()); |
323 | |||
324 |
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<Wrapland::Server::Surface*>(); |
325 |
2/4✓ Branch 0 taken 1 times.
✗ Branch 1 not taken.
✓ Branch 2 taken 1 times.
✗ Branch 3 not taken.
|
1 | QVERIFY(serverSurface); |
326 |
1/2✓ Branch 0 taken 1 times.
✗ Branch 1 not taken.
|
1 | server.seat->setFocusedKeyboardSurface(serverSurface); |
327 | |||
328 | // Now set the selection. | ||
329 | 1 | std::unique_ptr<Wrapland::Client::PrimarySelectionSource> source( | |
330 |
1/2✓ Branch 0 taken 1 times.
✗ Branch 1 not taken.
|
1 | m_deviceManager->createSource()); |
331 |
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(source->isValid()); |
332 |
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 | source->offer(QStringLiteral("text/plain")); |
333 |
1/2✓ Branch 0 taken 1 times.
✗ Branch 1 not taken.
|
1 | device->setSelection(1, source.get()); |
334 | |||
335 | // We should get a selection offered for that on the device. | ||
336 |
1/2✓ Branch 0 taken 1 times.
✗ Branch 1 not taken.
|
1 | QSignalSpy selectionOfferedSpy(device.get(), |
337 | &Wrapland::Client::PrimarySelectionDevice::selectionOffered); | ||
338 |
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(selectionOfferedSpy.isValid()); |
339 |
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(selectionOfferedSpy.wait()); |
340 |
2/4✓ Branch 0 taken 1 times.
✗ Branch 1 not taken.
✗ Branch 2 not taken.
✓ Branch 3 taken 1 times.
|
1 | QCOMPARE(selectionOfferedSpy.count(), 1); |
341 | |||
342 | // Now unfocus the keyboard. | ||
343 |
1/2✓ Branch 0 taken 1 times.
✗ Branch 1 not taken.
|
1 | server.seat->setFocusedKeyboardSurface(nullptr); |
344 | // if setting the same surface again, we should get another offer | ||
345 |
1/2✓ Branch 0 taken 1 times.
✗ Branch 1 not taken.
|
1 | server.seat->setFocusedKeyboardSurface(serverSurface); |
346 |
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(selectionOfferedSpy.wait()); |
347 |
2/4✓ Branch 0 taken 1 times.
✗ Branch 1 not taken.
✗ Branch 2 not taken.
✓ Branch 3 taken 1 times.
|
1 | QCOMPARE(selectionOfferedSpy.count(), 2); |
348 | |||
349 | // Now let's try to destroy the device and set a focused keyboard just while the | ||
350 | // device is being destroyed. | ||
351 |
1/2✓ Branch 0 taken 1 times.
✗ Branch 1 not taken.
|
1 | server.seat->setFocusedKeyboardSurface(nullptr); |
352 |
1/2✓ Branch 0 taken 1 times.
✗ Branch 1 not taken.
|
1 | QSignalSpy unboundSpy(serverDevice, |
353 | &Wrapland::Server::primary_selection_device::resourceDestroyed); | ||
354 |
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(unboundSpy.isValid()); |
355 | 1 | device.reset(); | |
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 | QVERIFY(unboundSpy.wait()); |
357 |
1/2✓ Branch 0 taken 1 times.
✗ Branch 1 not taken.
|
1 | server.seat->setFocusedKeyboardSurface(serverSurface); |
358 |
1/2✗ Branch 0 not taken.
✓ Branch 1 taken 1 times.
|
1 | } |
359 | |||
360 | 1 | void TestPrimarySelection::testReplaceSource() | |
361 | { | ||
362 | // This test verifies that replacing a source cancels the previous source. | ||
363 | |||
364 | // First add keyboard support to Seat. | ||
365 | 1 | QSignalSpy keyboardChangedSpy(m_seat, &Wrapland::Client::Seat::hasKeyboardChanged); | |
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(keyboardChangedSpy.isValid()); |
367 |
1/2✓ Branch 0 taken 1 times.
✗ Branch 1 not taken.
|
1 | server.seat->setHasKeyboard(true); |
368 |
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(keyboardChangedSpy.wait()); |
369 | // now create device, Keyboard and a Surface | ||
370 |
1/2✓ Branch 0 taken 1 times.
✗ Branch 1 not taken.
|
1 | QSignalSpy deviceCreatedSpy( |
371 | 1 | server.globals.primary_selection_device_manager.get(), | |
372 | &Wrapland::Server::primary_selection_device_manager::device_created); | ||
373 |
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(deviceCreatedSpy.isValid()); |
374 | |||
375 | 1 | std::unique_ptr<Wrapland::Client::PrimarySelectionDevice> device( | |
376 |
1/2✓ Branch 0 taken 1 times.
✗ Branch 1 not taken.
|
1 | m_deviceManager->getDevice(m_seat)); |
377 |
3/6✓ Branch 0 taken 1 times.
✗ Branch 1 not taken.
✓ Branch 2 taken 1 times.
✗ Branch 3 not taken.
✓ Branch 4 taken 1 times.
✗ Branch 5 not taken.
|
1 | QVERIFY(device->isValid()); |
378 |
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(deviceCreatedSpy.wait()); |
379 | 1 | auto serverDevice | |
380 |
3/6✓ Branch 0 taken 1 times.
✗ Branch 1 not taken.
✓ Branch 2 taken 1 times.
✗ Branch 3 not taken.
✓ Branch 4 taken 1 times.
✗ Branch 5 not taken.
|
1 | = deviceCreatedSpy.first().first().value<Wrapland::Server::primary_selection_device*>(); |
381 |
2/4✓ Branch 0 taken 1 times.
✗ Branch 1 not taken.
✓ Branch 2 taken 1 times.
✗ Branch 3 not taken.
|
1 | QVERIFY(serverDevice); |
382 |
1/2✓ Branch 0 taken 1 times.
✗ Branch 1 not taken.
|
1 | std::unique_ptr<Wrapland::Client::Keyboard> keyboard(m_seat->createKeyboard()); |
383 |
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(keyboard->isValid()); |
384 |
1/2✓ Branch 0 taken 1 times.
✗ Branch 1 not taken.
|
1 | QSignalSpy surfaceCreatedSpy(server.globals.compositor.get(), |
385 | &Wrapland::Server::Compositor::surfaceCreated); | ||
386 |
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()); |
387 |
1/2✓ Branch 0 taken 1 times.
✗ Branch 1 not taken.
|
1 | std::unique_ptr<Wrapland::Client::Surface> surface(m_compositor->createSurface()); |
388 |
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->isValid()); |
389 |
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()); |
390 | |||
391 |
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<Wrapland::Server::Surface*>(); |
392 |
2/4✓ Branch 0 taken 1 times.
✗ Branch 1 not taken.
✓ Branch 2 taken 1 times.
✗ Branch 3 not taken.
|
1 | QVERIFY(serverSurface); |
393 |
1/2✓ Branch 0 taken 1 times.
✗ Branch 1 not taken.
|
1 | server.seat->setFocusedKeyboardSurface(serverSurface); |
394 | |||
395 | // now set the selection | ||
396 | 1 | std::unique_ptr<Wrapland::Client::PrimarySelectionSource> source( | |
397 |
1/2✓ Branch 0 taken 1 times.
✗ Branch 1 not taken.
|
1 | m_deviceManager->createSource()); |
398 |
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(source->isValid()); |
399 |
3/6✓ Branch 0 taken 1 times.
✗ Branch 1 not taken.
✓ Branch 2 taken 1 times.
✗ Branch 3 not taken.
✓ Branch 4 taken 1 times.
✗ Branch 5 not taken.
|
1 | source->offer(QStringLiteral("text/plain")); |
400 |
1/2✓ Branch 0 taken 1 times.
✗ Branch 1 not taken.
|
1 | device->setSelection(1, source.get()); |
401 |
1/2✓ Branch 0 taken 1 times.
✗ Branch 1 not taken.
|
1 | QSignalSpy sourceCancelledSpy(source.get(), |
402 | &Wrapland::Client::PrimarySelectionSource::cancelled); | ||
403 |
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(sourceCancelledSpy.isValid()); |
404 | // we should get a selection offered for that on the device | ||
405 |
1/2✓ Branch 0 taken 1 times.
✗ Branch 1 not taken.
|
1 | QSignalSpy selectionOfferedSpy(device.get(), |
406 | &Wrapland::Client::PrimarySelectionDevice::selectionOffered); | ||
407 |
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(selectionOfferedSpy.isValid()); |
408 |
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(selectionOfferedSpy.wait()); |
409 |
2/4✓ Branch 0 taken 1 times.
✗ Branch 1 not taken.
✗ Branch 2 not taken.
✓ Branch 3 taken 1 times.
|
1 | QCOMPARE(selectionOfferedSpy.count(), 1); |
410 | |||
411 | // create a second source and replace previous one | ||
412 | 1 | std::unique_ptr<Wrapland::Client::PrimarySelectionSource> source2( | |
413 |
1/2✓ Branch 0 taken 1 times.
✗ Branch 1 not taken.
|
1 | m_deviceManager->createSource()); |
414 |
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(source2->isValid()); |
415 | |||
416 |
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 | source2->offer(QStringLiteral("text/plain")); |
417 | |||
418 |
1/2✓ Branch 0 taken 1 times.
✗ Branch 1 not taken.
|
1 | QSignalSpy sourceCancelled2Spy(source2.get(), |
419 | &Wrapland::Client::PrimarySelectionSource::cancelled); | ||
420 |
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(sourceCancelled2Spy.isValid()); |
421 | |||
422 |
1/2✓ Branch 0 taken 1 times.
✗ Branch 1 not taken.
|
1 | device->setSelection(1, source2.get()); |
423 |
2/4✓ Branch 0 taken 1 times.
✗ Branch 1 not taken.
✗ Branch 2 not taken.
✓ Branch 3 taken 1 times.
|
1 | QCOMPARE(selectionOfferedSpy.count(), 1); |
424 | |||
425 |
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(sourceCancelledSpy.wait()); |
426 |
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(selectionOfferedSpy.count(), 2); |
427 |
2/4✓ Branch 0 taken 1 times.
✗ Branch 1 not taken.
✓ Branch 2 taken 1 times.
✗ Branch 3 not taken.
|
1 | QVERIFY(sourceCancelled2Spy.isEmpty()); |
428 | |||
429 | // replace the source with itself, ensure that it did not get cancelled | ||
430 |
1/2✓ Branch 0 taken 1 times.
✗ Branch 1 not taken.
|
1 | device->setSelection(1, source2.get()); |
431 |
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(!sourceCancelled2Spy.wait(500)); |
432 |
2/4✓ Branch 0 taken 1 times.
✗ Branch 1 not taken.
✗ Branch 2 not taken.
✓ Branch 3 taken 1 times.
|
1 | QCOMPARE(selectionOfferedSpy.count(), 2); |
433 |
2/4✓ Branch 0 taken 1 times.
✗ Branch 1 not taken.
✓ Branch 2 taken 1 times.
✗ Branch 3 not taken.
|
1 | QVERIFY(sourceCancelled2Spy.isEmpty()); |
434 | |||
435 | // create a new device and replace previous one | ||
436 | 1 | std::unique_ptr<Wrapland::Client::PrimarySelectionDevice> device2( | |
437 |
1/2✓ Branch 0 taken 1 times.
✗ Branch 1 not taken.
|
1 | m_deviceManager->getDevice(m_seat)); |
438 |
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(device2->isValid()); |
439 | 1 | std::unique_ptr<Wrapland::Client::PrimarySelectionSource> source3( | |
440 |
1/2✓ Branch 0 taken 1 times.
✗ Branch 1 not taken.
|
1 | m_deviceManager->createSource()); |
441 |
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(source3->isValid()); |
442 |
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 | source3->offer(QStringLiteral("text/plain")); |
443 |
1/2✓ Branch 0 taken 1 times.
✗ Branch 1 not taken.
|
1 | device2->setSelection(1, source3.get()); |
444 |
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(sourceCancelled2Spy.wait()); |
445 | |||
446 | // try to crash by first destroying source3 and setting a new source | ||
447 | 1 | std::unique_ptr<Wrapland::Client::PrimarySelectionSource> source4( | |
448 |
1/2✓ Branch 0 taken 1 times.
✗ Branch 1 not taken.
|
1 | m_deviceManager->createSource()); |
449 |
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(source4->isValid()); |
450 |
2/4✓ Branch 0 taken 1 times.
✗ Branch 1 not taken.
✓ Branch 2 taken 1 times.
✗ Branch 3 not taken.
|
1 | source4->offer("text/plain"); |
451 | 1 | source3.reset(); | |
452 |
1/2✓ Branch 0 taken 1 times.
✗ Branch 1 not taken.
|
1 | device2->setSelection(1, source4.get()); |
453 |
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(selectionOfferedSpy.wait()); |
454 |
1/2✗ Branch 0 not taken.
✓ Branch 1 taken 1 times.
|
1 | } |
455 | |||
456 | 1 | void TestPrimarySelection::testOffer() | |
457 | { | ||
458 | 1 | qRegisterMetaType<Wrapland::Server::primary_selection_source*>(); | |
459 | 1 | QSignalSpy sourceCreatedSpy( | |
460 | 1 | server.globals.primary_selection_device_manager.get(), | |
461 | &Wrapland::Server::primary_selection_device_manager::source_created); | ||
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(sourceCreatedSpy.isValid()); |
463 | |||
464 | 1 | std::unique_ptr<Wrapland::Client::PrimarySelectionSource> source( | |
465 |
1/2✓ Branch 0 taken 1 times.
✗ Branch 1 not taken.
|
1 | m_deviceManager->createSource()); |
466 |
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(source->isValid()); |
467 | |||
468 |
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(sourceCreatedSpy.wait()); |
469 |
2/4✓ Branch 0 taken 1 times.
✗ Branch 1 not taken.
✗ Branch 2 not taken.
✓ Branch 3 taken 1 times.
|
1 | QCOMPARE(sourceCreatedSpy.count(), 1); |
470 | |||
471 | QPointer<Wrapland::Server::primary_selection_source> serverSource | ||
472 |
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 | = sourceCreatedSpy.first().first().value<Wrapland::Server::primary_selection_source*>(); |
473 |
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(!serverSource.isNull()); |
474 |
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(serverSource->mime_types().size(), 0); |
475 | |||
476 |
2/4✓ Branch 0 taken 1 times.
✗ Branch 1 not taken.
✓ Branch 2 taken 1 times.
✗ Branch 3 not taken.
|
1 | QSignalSpy offeredSpy(serverSource.data(), |
477 | &Wrapland::Server::primary_selection_source::mime_type_offered); | ||
478 |
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(offeredSpy.isValid()); |
479 | |||
480 |
1/2✓ Branch 0 taken 1 times.
✗ Branch 1 not taken.
|
1 | const std::string plain = "text/plain"; |
481 |
1/2✓ Branch 0 taken 1 times.
✗ Branch 1 not taken.
|
1 | QMimeDatabase db; |
482 |
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 | source->offer(db.mimeTypeForName(QString::fromStdString(plain))); |
483 | |||
484 |
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(offeredSpy.wait()); |
485 |
2/4✓ Branch 0 taken 1 times.
✗ Branch 1 not taken.
✗ Branch 2 not taken.
✓ Branch 3 taken 1 times.
|
1 | QCOMPARE(offeredSpy.count(), 1); |
486 | |||
487 |
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(offeredSpy.last().first().value<std::string>(), plain); |
488 |
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(serverSource->mime_types().size(), 1); |
489 |
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(serverSource->mime_types().front(), plain); |
490 | |||
491 |
1/2✓ Branch 0 taken 1 times.
✗ Branch 1 not taken.
|
1 | const std::string html = "text/html"; |
492 |
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 | source->offer(db.mimeTypeForName(QString::fromStdString(html))); |
493 | |||
494 |
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(offeredSpy.wait()); |
495 |
2/4✓ Branch 0 taken 1 times.
✗ Branch 1 not taken.
✗ Branch 2 not taken.
✓ Branch 3 taken 1 times.
|
1 | QCOMPARE(offeredSpy.count(), 2); |
496 |
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(offeredSpy.first().first().value<std::string>(), plain); |
497 |
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(offeredSpy.last().first().value<std::string>(), html); |
498 |
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(serverSource->mime_types().size(), 2); |
499 |
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(serverSource->mime_types().front(), plain); |
500 |
4/8✓ Branch 0 taken 1 times.
✗ Branch 1 not taken.
✓ Branch 2 taken 1 times.
✗ Branch 3 not taken.
✓ Branch 4 taken 1 times.
✗ Branch 5 not taken.
✗ Branch 6 not taken.
✓ Branch 7 taken 1 times.
|
1 | QCOMPARE(serverSource->mime_types().back(), html); |
501 | |||
502 | // try destroying the client side, should trigger a destroy of server side | ||
503 | 1 | source.reset(); | |
504 |
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(!serverSource.isNull()); |
505 |
2/4✓ Branch 0 taken 1 times.
✗ Branch 1 not taken.
✓ Branch 2 taken 1 times.
✗ Branch 3 not taken.
|
1 | wl_display_flush(m_connection->display()); |
506 | // After running the event loop the Wayland event should be delivered. | ||
507 |
1/2✓ Branch 0 taken 1 times.
✗ Branch 1 not taken.
|
1 | QCoreApplication::processEvents(); |
508 |
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(serverSource.isNull()); |
509 |
1/2✗ Branch 0 not taken.
✓ Branch 1 taken 1 times.
|
1 | } |
510 | |||
511 | 1 | void TestPrimarySelection::testRequestSend() | |
512 | { | ||
513 | 1 | QSignalSpy sourceCreatedSpy( | |
514 | 1 | server.globals.primary_selection_device_manager.get(), | |
515 | &Wrapland::Server::primary_selection_device_manager::source_created); | ||
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 | QVERIFY(sourceCreatedSpy.isValid()); |
517 | |||
518 | 1 | std::unique_ptr<Wrapland::Client::PrimarySelectionSource> source( | |
519 |
1/2✓ Branch 0 taken 1 times.
✗ Branch 1 not taken.
|
1 | m_deviceManager->createSource()); |
520 |
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(source->isValid()); |
521 | |||
522 |
1/2✓ Branch 0 taken 1 times.
✗ Branch 1 not taken.
|
1 | QSignalSpy sendRequestedSpy(source.get(), |
523 | &Wrapland::Client::PrimarySelectionSource::sendDataRequested); | ||
524 |
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(sendRequestedSpy.isValid()); |
525 | |||
526 |
1/2✓ Branch 0 taken 1 times.
✗ Branch 1 not taken.
|
1 | const std::string plain = "text/plain"; |
527 |
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(sourceCreatedSpy.wait()); |
528 |
2/4✓ Branch 0 taken 1 times.
✗ Branch 1 not taken.
✗ Branch 2 not taken.
✓ Branch 3 taken 1 times.
|
1 | QCOMPARE(sourceCreatedSpy.count(), 1); |
529 |
1/2✓ Branch 0 taken 1 times.
✗ Branch 1 not taken.
|
1 | QTemporaryFile file; |
530 |
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(file.open()); |
531 |
1/2✓ Branch 0 taken 1 times.
✗ Branch 1 not taken.
|
1 | sourceCreatedSpy.first() |
532 |
1/2✓ Branch 0 taken 1 times.
✗ Branch 1 not taken.
|
1 | .first() |
533 |
1/2✓ Branch 0 taken 1 times.
✗ Branch 1 not taken.
|
1 | .value<Wrapland::Server::primary_selection_source*>() |
534 |
2/4✓ Branch 0 taken 1 times.
✗ Branch 1 not taken.
✓ Branch 2 taken 1 times.
✗ Branch 3 not taken.
|
1 | ->request_data(plain, file.handle()); |
535 | |||
536 |
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(sendRequestedSpy.wait()); |
537 |
2/4✓ Branch 0 taken 1 times.
✗ Branch 1 not taken.
✗ Branch 2 not taken.
✓ Branch 3 taken 1 times.
|
1 | QCOMPARE(sendRequestedSpy.count(), 1); |
538 |
6/12✓ Branch 0 taken 1 times.
✗ Branch 1 not taken.
✓ Branch 2 taken 1 times.
✗ Branch 3 not taken.
✓ Branch 4 taken 1 times.
✗ Branch 5 not taken.
✓ Branch 6 taken 1 times.
✗ Branch 7 not taken.
✓ Branch 8 taken 1 times.
✗ Branch 9 not taken.
✗ Branch 10 not taken.
✓ Branch 11 taken 1 times.
|
1 | QCOMPARE(sendRequestedSpy.first().first().toString().toUtf8().constData(), plain); |
539 |
6/12✓ Branch 0 taken 1 times.
✗ Branch 1 not taken.
✓ Branch 2 taken 1 times.
✗ Branch 3 not taken.
✓ Branch 4 taken 1 times.
✗ Branch 5 not taken.
✓ Branch 6 taken 1 times.
✗ Branch 7 not taken.
✓ Branch 8 taken 1 times.
✗ Branch 9 not taken.
✓ Branch 10 taken 1 times.
✗ Branch 11 not taken.
|
1 | QCOMPARE(sendRequestedSpy.first().last().value<qint32>(), file.handle()); |
540 |
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(sendRequestedSpy.first().last().value<qint32>() != -1); |
541 | |||
542 |
1/2✓ Branch 0 taken 1 times.
✗ Branch 1 not taken.
|
1 | QFile writeFile; |
543 |
6/12✓ Branch 0 taken 1 times.
✗ Branch 1 not taken.
✓ Branch 2 taken 1 times.
✗ Branch 3 not taken.
✓ Branch 4 taken 1 times.
✗ Branch 5 not taken.
✓ Branch 6 taken 1 times.
✗ Branch 7 not taken.
✓ Branch 8 taken 1 times.
✗ Branch 9 not taken.
✓ Branch 10 taken 1 times.
✗ Branch 11 not taken.
|
1 | QVERIFY(writeFile.open(sendRequestedSpy.first().last().value<qint32>(), |
544 | QFile::WriteOnly, | ||
545 | QFileDevice::AutoCloseHandle)); | ||
546 |
1/2✓ Branch 0 taken 1 times.
✗ Branch 1 not taken.
|
1 | writeFile.close(); |
547 |
1/2✗ Branch 0 not taken.
✓ Branch 1 taken 1 times.
|
1 | } |
548 | |||
549 | 1 | void TestPrimarySelection::testCancel() | |
550 | { | ||
551 | 1 | QSignalSpy sourceCreatedSpy( | |
552 | 1 | server.globals.primary_selection_device_manager.get(), | |
553 | &Wrapland::Server::primary_selection_device_manager::source_created); | ||
554 |
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(sourceCreatedSpy.isValid()); |
555 | |||
556 | 1 | std::unique_ptr<Wrapland::Client::PrimarySelectionSource> source( | |
557 |
1/2✓ Branch 0 taken 1 times.
✗ Branch 1 not taken.
|
1 | m_deviceManager->createSource()); |
558 |
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(source->isValid()); |
559 |
1/2✓ Branch 0 taken 1 times.
✗ Branch 1 not taken.
|
1 | QSignalSpy cancelledSpy(source.get(), &Wrapland::Client::PrimarySelectionSource::cancelled); |
560 |
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(cancelledSpy.isValid()); |
561 | |||
562 |
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(sourceCreatedSpy.wait()); |
563 | |||
564 |
2/4✓ Branch 0 taken 1 times.
✗ Branch 1 not taken.
✗ Branch 2 not taken.
✓ Branch 3 taken 1 times.
|
1 | QCOMPARE(cancelledSpy.count(), 0); |
565 |
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 | sourceCreatedSpy.first().first().value<Wrapland::Server::primary_selection_source*>()->cancel(); |
566 | |||
567 |
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(cancelledSpy.wait()); |
568 |
2/4✓ Branch 0 taken 1 times.
✗ Branch 1 not taken.
✗ Branch 2 not taken.
✓ Branch 3 taken 1 times.
|
1 | QCOMPARE(cancelledSpy.count(), 1); |
569 |
1/2✗ Branch 0 not taken.
✓ Branch 1 taken 1 times.
|
1 | } |
570 | |||
571 | 1 | void TestPrimarySelection::testServerGet() | |
572 | { | ||
573 | 1 | QSignalSpy sourceCreatedSpy( | |
574 | 1 | server.globals.primary_selection_device_manager.get(), | |
575 | &Wrapland::Server::primary_selection_device_manager::source_created); | ||
576 |
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(sourceCreatedSpy.isValid()); |
577 | |||
578 | 1 | std::unique_ptr<Wrapland::Client::PrimarySelectionSource> source( | |
579 |
1/2✓ Branch 0 taken 1 times.
✗ Branch 1 not taken.
|
1 | m_deviceManager->createSource()); |
580 |
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(source->isValid()); |
581 | |||
582 |
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(sourceCreatedSpy.wait()); |
583 | 1 | auto sourceSpy | |
584 |
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 | = sourceCreatedSpy.first().first().value<Wrapland::Server::primary_selection_source*>(); |
585 |
2/4✓ Branch 0 taken 1 times.
✗ Branch 1 not taken.
✓ Branch 2 taken 1 times.
✗ Branch 3 not taken.
|
1 | QVERIFY(sourceSpy); |
586 |
1/2✗ Branch 0 not taken.
✓ Branch 1 taken 1 times.
|
1 | } |
587 | |||
588 | 1 | void TestPrimarySelection::testDestroy() | |
589 | { | ||
590 | 1 | std::unique_ptr<Wrapland::Client::PrimarySelectionDevice> device( | |
591 | 1 | m_deviceManager->getDevice(m_seat)); | |
592 |
3/6✓ Branch 0 taken 1 times.
✗ Branch 1 not taken.
✓ Branch 2 taken 1 times.
✗ Branch 3 not taken.
✓ Branch 4 taken 1 times.
✗ Branch 5 not taken.
|
1 | QVERIFY(device->isValid()); |
593 | |||
594 |
2/4✓ Branch 0 taken 1 times.
✗ Branch 1 not taken.
✓ Branch 2 taken 1 times.
✗ Branch 3 not taken.
|
2 | connect(m_connection, |
595 | &Wrapland::Client::ConnectionThread::establishedChanged, | ||
596 | 1 | m_deviceManager, | |
597 | 1 | &Wrapland::Client::PrimarySelectionDeviceManager::release); | |
598 |
2/4✓ Branch 0 taken 1 times.
✗ Branch 1 not taken.
✓ Branch 2 taken 1 times.
✗ Branch 3 not taken.
|
2 | connect(m_connection, |
599 | &Wrapland::Client::ConnectionThread::establishedChanged, | ||
600 | 1 | m_seat, | |
601 | 1 | &Wrapland::Client::Seat::release); | |
602 |
2/4✓ Branch 0 taken 1 times.
✗ Branch 1 not taken.
✓ Branch 2 taken 1 times.
✗ Branch 3 not taken.
|
2 | connect(m_connection, |
603 | &Wrapland::Client::ConnectionThread::establishedChanged, | ||
604 | 1 | m_compositor, | |
605 | 1 | &Wrapland::Client::Compositor::release); | |
606 |
2/4✓ Branch 0 taken 1 times.
✗ Branch 1 not taken.
✓ Branch 2 taken 1 times.
✗ Branch 3 not taken.
|
2 | connect(m_connection, |
607 | &Wrapland::Client::ConnectionThread::establishedChanged, | ||
608 | 1 | device.get(), | |
609 | 1 | &Wrapland::Client::PrimarySelectionDevice::release); | |
610 |
2/4✓ Branch 0 taken 1 times.
✗ Branch 1 not taken.
✓ Branch 2 taken 1 times.
✗ Branch 3 not taken.
|
2 | connect(m_connection, |
611 | &Wrapland::Client::ConnectionThread::establishedChanged, | ||
612 | 1 | m_queue, | |
613 | 1 | &Wrapland::Client::EventQueue::release); | |
614 | |||
615 |
1/2✓ Branch 0 taken 1 times.
✗ Branch 1 not taken.
|
1 | server = {}; |
616 |
18/74✓ Branch 0 taken 1 times.
✗ Branch 1 not taken.
✗ Branch 2 not taken.
✓ Branch 3 taken 1 times.
✗ Branch 4 not taken.
✗ 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 not taken.
✓ Branch 19 taken 1 times.
✗ Branch 20 not taken.
✗ Branch 21 not taken.
✓ Branch 22 taken 1 times.
✗ Branch 23 not taken.
✓ Branch 24 taken 1 times.
✗ Branch 25 not taken.
✓ Branch 26 taken 1 times.
✗ Branch 27 not taken.
✗ Branch 28 not taken.
✓ Branch 29 taken 1 times.
✓ Branch 30 taken 1 times.
✗ Branch 31 not taken.
✗ Branch 32 not taken.
✓ Branch 33 taken 1 times.
✗ 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 not taken.
✗ Branch 55 not taken.
✗ Branch 56 not taken.
✗ Branch 57 not taken.
✗ Branch 58 not taken.
✗ Branch 59 not taken.
✗ Branch 60 not taken.
✗ Branch 61 not taken.
✗ Branch 62 not taken.
✗ Branch 63 not taken.
✗ Branch 64 not taken.
✗ Branch 65 not taken.
✗ Branch 66 not taken.
✗ Branch 67 not taken.
✓ Branch 68 taken 1 times.
✗ Branch 69 not taken.
✓ Branch 70 taken 1 times.
✗ Branch 71 not taken.
✓ Branch 72 taken 1 times.
✗ Branch 73 not taken.
|
1 | QTRY_VERIFY(!m_connection->established()); |
617 | |||
618 | // Now the device should be destroyed. | ||
619 |
19/74✓ 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 not taken.
✓ Branch 19 taken 1 times.
✗ Branch 20 not taken.
✗ Branch 21 not taken.
✓ Branch 22 taken 1 times.
✗ Branch 23 not taken.
✓ Branch 24 taken 1 times.
✗ Branch 25 not taken.
✓ Branch 26 taken 1 times.
✗ Branch 27 not taken.
✗ Branch 28 not taken.
✓ Branch 29 taken 1 times.
✓ Branch 30 taken 1 times.
✗ Branch 31 not taken.
✗ Branch 32 not taken.
✓ Branch 33 taken 1 times.
✗ 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 not taken.
✗ Branch 55 not taken.
✗ Branch 56 not taken.
✗ Branch 57 not taken.
✗ Branch 58 not taken.
✗ Branch 59 not taken.
✗ Branch 60 not taken.
✗ Branch 61 not taken.
✗ Branch 62 not taken.
✗ Branch 63 not taken.
✗ Branch 64 not taken.
✗ Branch 65 not taken.
✗ Branch 66 not taken.
✗ Branch 67 not taken.
✓ Branch 68 taken 1 times.
✗ Branch 69 not taken.
✓ Branch 70 taken 1 times.
✗ Branch 71 not taken.
✓ Branch 72 taken 1 times.
✗ Branch 73 not taken.
|
1 | QTRY_VERIFY(!device->isValid()); |
620 | |||
621 | // Calling destroy again should not fail. | ||
622 |
1/2✓ Branch 0 taken 1 times.
✗ Branch 1 not taken.
|
1 | device->release(); |
623 |
1/2✗ Branch 0 not taken.
✓ Branch 1 taken 1 times.
|
1 | } |
624 | |||
625 |
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(TestPrimarySelection) |
626 | #include "primary_selection.moc" | ||
627 |