diff options
Diffstat (limited to 'tests/auto/quick/qquicktext/tst_qquicktext.cpp')
-rw-r--r-- | tests/auto/quick/qquicktext/tst_qquicktext.cpp | 28 |
1 files changed, 28 insertions, 0 deletions
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" |