aboutsummaryrefslogtreecommitdiffstats
path: root/tests/auto/quick/qquicktext
diff options
context:
space:
mode:
Diffstat (limited to 'tests/auto/quick/qquicktext')
-rw-r--r--tests/auto/quick/qquicktext/data/hover.qml22
-rw-r--r--tests/auto/quick/qquicktext/tst_qquicktext.cpp28
2 files changed, 50 insertions, 0 deletions
diff --git a/tests/auto/quick/qquicktext/data/hover.qml b/tests/auto/quick/qquicktext/data/hover.qml
new file mode 100644
index 0000000000..36d9b5c691
--- /dev/null
+++ b/tests/auto/quick/qquicktext/data/hover.qml
@@ -0,0 +1,22 @@
+import QtQuick 2.1
+import QtQuick.Window 2.1
+
+Window {
+ width: 100
+ height: 100
+ property alias mouseArea: mouseArea
+ property alias textItem: textItem
+ MouseArea {
+ id: mouseArea
+ hoverEnabled: true
+ anchors.fill: parent
+ acceptedButtons: Qt.NoButton
+ property bool wasHovered: false
+ onPositionChanged: wasHovered = true
+ Text {
+ id: textItem
+ text: "plain text"
+ anchors.fill: parent
+ }
+ }
+}
diff --git a/tests/auto/quick/qquicktext/tst_qquicktext.cpp b/tests/auto/quick/qquicktext/tst_qquicktext.cpp
index 6b93791545..78e03be9c2 100644
--- a/tests/auto/quick/qquicktext/tst_qquicktext.cpp
+++ b/tests/auto/quick/qquicktext/tst_qquicktext.cpp
@@ -44,6 +44,7 @@
#include <QtQml/qqmlengine.h>
#include <QtQml/qqmlcomponent.h>
#include <QtQuick/private/qquicktext_p.h>
+#include <QtQuick/private/qquickmousearea_p.h>
#include <private/qquicktext_p_p.h>
#include <private/qquickvaluetypes_p.h>
#include <QFontMetrics>
@@ -151,6 +152,8 @@ private slots:
void elideBeforeMaximumLineCount();
+ void hover();
+
private:
QStringList standard;
QStringList richText;
@@ -3744,6 +3747,31 @@ void tst_qquicktext::elideBeforeMaximumLineCount()
QCOMPARE(item->lineCount(), 2);
}
+void tst_qquicktext::hover()
+{ // QTBUG-33842
+ QQmlComponent component(&engine, testFile("hover.qml"));
+
+ QScopedPointer<QObject> object(component.create());
+
+ QQuickWindow *window = qobject_cast<QQuickWindow *>(object.data());
+ QVERIFY(window);
+
+ QQuickMouseArea *mouseArea = window->property("mouseArea").value<QQuickMouseArea *>();
+ QVERIFY(mouseArea);
+ QQuickText *textItem = window->property("textItem").value<QQuickText *>();
+ QVERIFY(textItem);
+
+ QVERIFY(!mouseArea->property("wasHovered").toBool());
+
+ QPoint center(window->width() / 2, window->height() / 2);
+ QPoint delta(window->width() / 10, window->height() / 10);
+
+ QTest::mouseMove(window, center - delta);
+ QTest::mouseMove(window, center + delta);
+
+ QVERIFY(mouseArea->property("wasHovered").toBool());
+}
+
QTEST_MAIN(tst_qquicktext)
#include "tst_qquicktext.moc"