on xenial help sign in
Add tests
commita4cff5bb88ab462ed30ee0081592b13ca333f5fc authorDaniel d'Andrada <daniel.dandrada@canonical.com> dateThu 12 Mar 2015, 11:45 (12 years ago) parentc506f9a
3 files changed+30
tests/mocks/Unity/Application/MirSurfaceItem.cpp+6 tests/mocks/Unity/Application/MirSurfaceItem.h+5 tests/qmltests/Stages/tst_SurfaceContainer.qml+19
tests/mocks/Unity/Application/MirSurfaceItem.cpp+6
@@ -47,6 +47,12 @@ MirSurfaceItem::MirSurfaceItem(const QString& name,
4747{
4848 qDebug() << "MirSurfaceItem::MirSurfaceItem() " << this->name();
4949
50+ setAcceptedMouseButtons(Qt::LeftButton | Qt::MiddleButton | Qt::RightButton |
51+ Qt::ExtraButton1 | Qt::ExtraButton2 | Qt::ExtraButton3 | Qt::ExtraButton4 |
52+ Qt::ExtraButton5 | Qt::ExtraButton6 | Qt::ExtraButton7 | Qt::ExtraButton8 |
53+ Qt::ExtraButton9 | Qt::ExtraButton10 | Qt::ExtraButton11 |
54+ Qt::ExtraButton12 | Qt::ExtraButton13);
55+
5056 QQmlEngine::setObjectOwnership(this, QQmlEngine::CppOwnership);
5157
5258 connect(this, &QQuickItem::focusChanged,
tests/mocks/Unity/Application/MirSurfaceItem.h+5
@@ -104,6 +104,11 @@ Q_SIGNALS:
104104protected:
105105 void touchEvent(QTouchEvent * event) override;
106106
107+ // becaue the default implementation ignores the events
108+ void mousePressEvent(QMouseEvent *) override {}
109+ void mouseMoveEvent(QMouseEvent *) override {}
110+ void mouseReleaseEvent(QMouseEvent *) override {}
111+
107112private Q_SLOTS:
108113 void onFocusChanged();
109114 void onComponentStatusChanged(QQmlComponent::Status status);
tests/qmltests/Stages/tst_SurfaceContainer.qml+19
@@ -92,6 +92,7 @@ Rectangle {
9292 CheckBox {id: interactiveCheckbox; checked: true; }
9393 Label { text: "interactive" }
9494 }
95+ MouseTouchEmulationCheckbox {}
9596 }
9697 }
9798
@@ -168,5 +169,23 @@ Rectangle {
168169 compare(surfaceContainer.surface.touchPressCount, 1)
169170 compare(surfaceContainer.surface.touchReleaseCount, 1);
170171 }
172+
173+ function test_surfaceGetsActiveFocusOnMousePress() {
174+ surfaceCheckbox.checked = true;
175+ verify(surfaceContainer.surface !== null);
176+
177+ compare(surfaceContainer.surface.activeFocus, false);
178+ mouseClick(surfaceContainer);
179+ compare(surfaceContainer.surface.activeFocus, true);
180+ }
181+
182+ function test_surfaceGetsActiveFocusOnTap() {
183+ surfaceCheckbox.checked = true;
184+ verify(surfaceContainer.surface !== null);
185+
186+ compare(surfaceContainer.surface.activeFocus, false);
187+ tap(surfaceContainer);
188+ compare(surfaceContainer.surface.activeFocus, true);
189+ }
171190 }
172191}