aboutsummaryrefslogtreecommitdiffstats
path: root/tests/auto/quickwidgets
diff options
context:
space:
mode:
authorShawn Rutledge <shawn.rutledge@qt.io>2017-11-13 13:30:20 +0100
committerShawn Rutledge <shawn.rutledge@qt.io>2017-11-13 14:09:41 +0100
commit29521913732704306b7db824ac9ce4be461bffc8 (patch)
treed834bd3d78a833bf767c4ba813e2d838d12dd4f2 /tests/auto/quickwidgets
parent7853634a1134a2b4b470a6d2c8b5da1610105d51 (diff)
parent6990ae6c1bad32952e371fa72bee65a7af11c313 (diff)
Merge remote-tracking branch 'origin/5.9' into 5.10
Conflicts: src/quick/items/qquickwindow.cpp src/quick/items/qquickwindow_p.h tests/auto/quick/quick.pro Change-Id: Ia12f20e95fb151bbbc75dbf187364a924cd0bc7a
Diffstat (limited to 'tests/auto/quickwidgets')
-rw-r--r--tests/auto/quickwidgets/qquickwidget/BLACKLIST2
-rw-r--r--tests/auto/quickwidgets/qquickwidget/data/enterleave.qml12
-rw-r--r--tests/auto/quickwidgets/qquickwidget/tst_qquickwidget.cpp25
3 files changed, 39 insertions, 0 deletions
diff --git a/tests/auto/quickwidgets/qquickwidget/BLACKLIST b/tests/auto/quickwidgets/qquickwidget/BLACKLIST
new file mode 100644
index 0000000000..6594a22472
--- /dev/null
+++ b/tests/auto/quickwidgets/qquickwidget/BLACKLIST
@@ -0,0 +1,2 @@
+[enterLeave]
+osx
diff --git a/tests/auto/quickwidgets/qquickwidget/data/enterleave.qml b/tests/auto/quickwidgets/qquickwidget/data/enterleave.qml
new file mode 100644
index 0000000000..b3057e30ad
--- /dev/null
+++ b/tests/auto/quickwidgets/qquickwidget/data/enterleave.qml
@@ -0,0 +1,12 @@
+import QtQuick 2.0
+
+Rectangle {
+ property bool hasMouse: mouseArea.containsMouse
+ height: 200
+ width: 200
+ MouseArea {
+ id: mouseArea
+ hoverEnabled: true
+ anchors.fill: parent
+ }
+}
diff --git a/tests/auto/quickwidgets/qquickwidget/tst_qquickwidget.cpp b/tests/auto/quickwidgets/qquickwidget/tst_qquickwidget.cpp
index 537fe99012..0bf2f8d7d8 100644
--- a/tests/auto/quickwidgets/qquickwidget/tst_qquickwidget.cpp
+++ b/tests/auto/quickwidgets/qquickwidget/tst_qquickwidget.cpp
@@ -65,6 +65,7 @@ private slots:
void nullEngine();
void keyEvents();
void shortcuts();
+ void enterLeave();
};
@@ -445,6 +446,30 @@ void tst_qquickwidget::shortcuts()
QTRY_VERIFY(filter.shortcutOk);
}
+void tst_qquickwidget::enterLeave()
+{
+ QQuickWidget view;
+ view.setSource(testFileUrl("enterleave.qml"));
+
+ // Ensure it is not inside the window first
+ QCursor::setPos(QPoint(50, 50));
+ QTRY_VERIFY(QCursor::pos() == QPoint(50, 50));
+
+ view.move(100, 100);
+ view.show();
+ QVERIFY(QTest::qWaitForWindowExposed(&view, 5000));
+ QQuickItem *rootItem = view.rootObject();
+ QVERIFY(rootItem);
+
+ QTRY_VERIFY(!rootItem->property("hasMouse").toBool());
+ // Check the enter
+ QCursor::setPos(view.pos() + QPoint(50, 50));
+ QTRY_VERIFY(rootItem->property("hasMouse").toBool());
+ // Now check the leave
+ QCursor::setPos(view.pos() - QPoint(50, 50));
+ QTRY_VERIFY(!rootItem->property("hasMouse").toBool());
+}
+
QTEST_MAIN(tst_qquickwidget)
#include "tst_qquickwidget.moc"