diff options
author | Giulio Camuffo <giulio.camuffo@jollamobile.com> | 2014-08-14 16:57:47 +0300 |
---|---|---|
committer | Giulio Camuffo <giulio.camuffo@jollamobile.com> | 2014-08-15 15:28:32 +0200 |
commit | 8d3962f637c9b72f76d300c3d2b9120bf610876f (patch) | |
tree | 7eab7f911bdbe418c6f7490deec8b1396451170e /tests | |
parent | b9220eb6b3525f308093cad72c9196b18bc17a3b (diff) |
Fix client tests
Change-Id: I6511dfb826c522db3d8bd01c5670c06f187abff2
Reviewed-by: Robin Burchell <robin.burchell@viroteck.net>
Diffstat (limited to 'tests')
-rw-r--r-- | tests/auto/client/mockcompositor.cpp | 10 | ||||
-rw-r--r-- | tests/auto/client/mockcompositor.h | 2 | ||||
-rw-r--r-- | tests/auto/client/tst_client.cpp | 7 |
3 files changed, 19 insertions, 0 deletions
diff --git a/tests/auto/client/mockcompositor.cpp b/tests/auto/client/mockcompositor.cpp index e51f3ed57..cfaa34788 100644 --- a/tests/auto/client/mockcompositor.cpp +++ b/tests/auto/client/mockcompositor.cpp @@ -189,6 +189,11 @@ void *MockCompositor::run(void *data) return 0; } +void MockCompositor::discardSurfaces() +{ + m_compositor->discardSurfaces(); +} + namespace Impl { Compositor::Compositor() @@ -293,5 +298,10 @@ void Compositor::removeSurface(Surface *surface) m_pointer->setFocus(0, QPoint()); } +void Compositor::discardSurfaces() +{ + m_surfaces.clear(); +} + } diff --git a/tests/auto/client/mockcompositor.h b/tests/auto/client/mockcompositor.h index 7f3e22683..68e55d356 100644 --- a/tests/auto/client/mockcompositor.h +++ b/tests/auto/client/mockcompositor.h @@ -81,6 +81,7 @@ public: void addSurface(Surface *surface); void removeSurface(Surface *surface); + void discardSurfaces(); static void setKeyboardFocus(void *data, const QList<QVariant> ¶meters); static void sendMousePress(void *data, const QList<QVariant> ¶meters); @@ -154,6 +155,7 @@ public: void sendKeyRelease(const QSharedPointer<MockSurface> &surface, uint code); QSharedPointer<MockSurface> surface(); + void discardSurfaces(); void lock(); void unlock(); diff --git a/tests/auto/client/tst_client.cpp b/tests/auto/client/tst_client.cpp index b43f53116..9c3138bcb 100644 --- a/tests/auto/client/tst_client.cpp +++ b/tests/auto/client/tst_client.cpp @@ -119,6 +119,9 @@ public: { QSocketNotifier *notifier = new QSocketNotifier(compositor->waylandFileDescriptor(), QSocketNotifier::Read, this); connect(notifier, SIGNAL(activated(int)), this, SLOT(processWaylandEvents())); + // connect to the event dispatcher to make sure to flush out the outgoing message queue + connect(QCoreApplication::eventDispatcher(), &QAbstractEventDispatcher::awake, this, &tst_WaylandClient::processWaylandEvents); + connect(QCoreApplication::eventDispatcher(), &QAbstractEventDispatcher::aboutToBlock, this, &tst_WaylandClient::processWaylandEvents); } public slots: @@ -146,7 +149,11 @@ private: void tst_WaylandClient::screen() { + QCoreApplication::processEvents(QEventLoop::AllEvents); + QTRY_COMPARE(QGuiApplication::primaryScreen()->size(), screenSize); + // discard the cursor surface created by the QWaylandInputDevice + compositor->discardSurfaces(); } void tst_WaylandClient::createDestroyWindow() |