aboutsummaryrefslogtreecommitdiffstats
path: root/tests
diff options
context:
space:
mode:
Diffstat (limited to 'tests')
-rw-r--r--tests/auto/qtquick2/qquickmousearea/data/hoverVisible.qml15
-rw-r--r--tests/auto/qtquick2/qquickmousearea/tst_qquickmousearea.cpp30
2 files changed, 45 insertions, 0 deletions
diff --git a/tests/auto/qtquick2/qquickmousearea/data/hoverVisible.qml b/tests/auto/qtquick2/qquickmousearea/data/hoverVisible.qml
new file mode 100644
index 0000000000..2d65b5573e
--- /dev/null
+++ b/tests/auto/qtquick2/qquickmousearea/data/hoverVisible.qml
@@ -0,0 +1,15 @@
+import QtQuick 2.0
+
+Rectangle {
+ width: 400; height: 400;
+
+ Rectangle {
+ width: 100; height: 100;
+ MouseArea {
+ id: mousetracker; objectName: "mousetracker"
+ anchors.fill: parent
+ visible: false
+ hoverEnabled: true
+ }
+ }
+}
diff --git a/tests/auto/qtquick2/qquickmousearea/tst_qquickmousearea.cpp b/tests/auto/qtquick2/qquickmousearea/tst_qquickmousearea.cpp
index 1520dd5d6e..66f651329a 100644
--- a/tests/auto/qtquick2/qquickmousearea/tst_qquickmousearea.cpp
+++ b/tests/auto/qtquick2/qquickmousearea/tst_qquickmousearea.cpp
@@ -71,6 +71,7 @@ private slots:
void clickThrough();
void hoverPosition();
void hoverPropagation();
+ void hoverVisible();
private:
QQuickView *createView();
@@ -771,6 +772,35 @@ void tst_QQuickMouseArea::hoverPropagation()
delete canvas;
}
+void tst_QQuickMouseArea::hoverVisible()
+{
+ QQuickView *canvas = createView();
+ canvas->setSource(testFileUrl("hoverVisible.qml"));
+
+ QQuickItem *root = canvas->rootObject();
+ QVERIFY(root != 0);
+
+ QQuickMouseArea *mouseTracker = canvas->rootObject()->findChild<QQuickMouseArea*>("mousetracker");
+ QVERIFY(mouseTracker != 0);
+
+ QSignalSpy enteredSpy(mouseTracker, SIGNAL(entered()));
+
+ QTest::mouseMove(canvas,QPoint(10,32));
+
+ QCOMPARE(mouseTracker->hovered(), false);
+ QCOMPARE(enteredSpy.count(), 0);
+
+ mouseTracker->setVisible(true);
+
+ QCOMPARE(mouseTracker->hovered(), true);
+ QCOMPARE(enteredSpy.count(), 1);
+
+ QEXPECT_FAIL("", "QTBUG-24282", Continue);
+ QCOMPARE(QPointF(mouseTracker->mouseX(), mouseTracker->mouseY()), QPointF(10,32));
+
+ delete canvas;
+}
+
QTEST_MAIN(tst_QQuickMouseArea)
#include "tst_qquickmousearea.moc"