Changeset View
Changeset View
Standalone View
Standalone View
autotests/client/test_selection.cpp
Show First 20 Lines • Show All 243 Lines • ▼ Show 20 Line(s) | 215 | { | |||
---|---|---|---|---|---|
244 | QVERIFY(selectionClearedClient2Spy.isValid()); | 244 | QVERIFY(selectionClearedClient2Spy.isValid()); | ||
245 | QSignalSpy keyboardEnteredClient2Spy(m_client2.keyboard, &Keyboard::entered); | 245 | QSignalSpy keyboardEnteredClient2Spy(m_client2.keyboard, &Keyboard::entered); | ||
246 | QVERIFY(keyboardEnteredClient2Spy.isValid()); | 246 | QVERIFY(keyboardEnteredClient2Spy.isValid()); | ||
247 | QScopedPointer<Surface> s2(m_client2.compositor->createSurface()); | 247 | QScopedPointer<Surface> s2(m_client2.compositor->createSurface()); | ||
248 | QVERIFY(surfaceCreatedSpy.wait()); | 248 | QVERIFY(surfaceCreatedSpy.wait()); | ||
249 | auto serverSurface2 = surfaceCreatedSpy.last().first().value<SurfaceInterface*>(); | 249 | auto serverSurface2 = surfaceCreatedSpy.last().first().value<SurfaceInterface*>(); | ||
250 | QVERIFY(serverSurface2); | 250 | QVERIFY(serverSurface2); | ||
251 | 251 | | |||
252 | // entering that surface should give a selection | 252 | // entering that surface should give a selection offer | ||
253 | m_seatInterface->setFocusedKeyboardSurface(serverSurface2); | 253 | m_seatInterface->setFocusedKeyboardSurface(serverSurface2); | ||
254 | QVERIFY(selectionOfferedClient2Spy.wait()); | 254 | QVERIFY(selectionOfferedClient2Spy.wait()); | ||
255 | QVERIFY(selectionClearedClient2Spy.isEmpty()); | 255 | QVERIFY(selectionClearedClient2Spy.isEmpty()); | ||
256 | // now unset the selection | 256 | | ||
257 | m_client2.dataDevice->clearSelection(keyboardEnteredClient2Spy.first().first().value<quint32>()); | | |||
258 | QVERIFY(selectionClearedClient2Spy.wait()); | | |||
259 | // set a data source but without offers | 257 | // set a data source but without offers | ||
260 | QScopedPointer<DataSource> dataSource2(m_client2.ddm->createDataSource()); | 258 | QScopedPointer<DataSource> dataSource2(m_client2.ddm->createDataSource()); | ||
261 | m_client2.dataDevice->setSelection(keyboardEnteredClient2Spy.first().first().value<quint32>(), dataSource2.data()); | 259 | m_client2.dataDevice->setSelection(keyboardEnteredClient2Spy.first().first().value<quint32>(), dataSource2.data()); | ||
262 | QVERIFY(selectionOfferedClient2Spy.wait()); | 260 | QVERIFY(selectionOfferedClient2Spy.wait()); | ||
263 | // and clear again | 261 | // and clear | ||
264 | m_client2.dataDevice->clearSelection(keyboardEnteredClient2Spy.first().first().value<quint32>()); | 262 | m_client2.dataDevice->clearSelection(keyboardEnteredClient2Spy.first().first().value<quint32>()); | ||
265 | QVERIFY(selectionClearedClient2Spy.wait()); | 263 | QVERIFY(selectionClearedClient2Spy.wait()); | ||
266 | 264 | | |||
267 | // now pass focus to first surface | 265 | // now pass focus to first surface | ||
268 | m_seatInterface->setFocusedKeyboardSurface(serverSurface1); | 266 | m_seatInterface->setFocusedKeyboardSurface(serverSurface1); | ||
269 | // we should get a clear | 267 | // we should get a clear | ||
270 | QVERIFY(selectionClearedClient1Spy.wait()); | 268 | QVERIFY(selectionClearedClient1Spy.wait()); | ||
271 | } | 269 | } | ||
272 | 270 | | |||
273 | QTEST_GUILESS_MAIN(SelectionTest) | 271 | QTEST_GUILESS_MAIN(SelectionTest) | ||
274 | #include "test_selection.moc" | 272 | #include "test_selection.moc" |