diff options
Diffstat (limited to 'tests/auto/quick/qquicktext')
-rw-r--r-- | tests/auto/quick/qquicktext/data/hover.qml | 22 | ||||
-rw-r--r-- | tests/auto/quick/qquicktext/tst_qquicktext.cpp | 28 |
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" |