summaryrefslogtreecommitdiffstats
path: root/tests
diff options
context:
space:
mode:
authorGiulio Camuffo <giulio.camuffo@jollamobile.com>2014-08-14 16:57:47 +0300
committerGiulio Camuffo <giulio.camuffo@jollamobile.com>2014-08-15 15:28:32 +0200
commit8d3962f637c9b72f76d300c3d2b9120bf610876f (patch)
tree7eab7f911bdbe418c6f7490deec8b1396451170e /tests
parentb9220eb6b3525f308093cad72c9196b18bc17a3b (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.cpp10
-rw-r--r--tests/auto/client/mockcompositor.h2
-rw-r--r--tests/auto/client/tst_client.cpp7
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> &parameters);
static void sendMousePress(void *data, const QList<QVariant> &parameters);
@@ -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()