diff options
author | Simon Hausmann <simon.hausmann@qt.io> | 2020-03-10 14:23:53 +0100 |
---|---|---|
committer | Simon Hausmann <simon.hausmann@qt.io> | 2020-03-10 14:24:28 +0100 |
commit | 3f3e82fb05eb9eb9e03ccf8ed7de987b91e698ee (patch) | |
tree | 484247f63e601abd8b012b86e6cde6ff56710cbb /tests/auto/qquickpopup | |
parent | c3ff6b78ba8e0978bc408f6e3e490bcd32f6cfb0 (diff) | |
parent | 6cdd4b53031de17b36b30b00de0a6945470a35ad (diff) |
Merge remote-tracking branch 'origin/5.15' into dev
Conflicts:
src/imports/controls/qtquickcontrols2plugin.cpp
Change-Id: Ifc09ea9f71fdba119fe8eed99f0bdcb402444f27
Diffstat (limited to 'tests/auto/qquickpopup')
-rw-r--r-- | tests/auto/qquickpopup/data/invisibleToolTipOpen.qml | 28 | ||||
-rw-r--r-- | tests/auto/qquickpopup/tst_qquickpopup.cpp | 28 |
2 files changed, 56 insertions, 0 deletions
diff --git a/tests/auto/qquickpopup/data/invisibleToolTipOpen.qml b/tests/auto/qquickpopup/data/invisibleToolTipOpen.qml new file mode 100644 index 00000000..2e58bb97 --- /dev/null +++ b/tests/auto/qquickpopup/data/invisibleToolTipOpen.qml @@ -0,0 +1,28 @@ +import QtQuick 2.13 +import QtQuick.Window 2.13 +import QtQuick.Controls 2.13 + +Window { + width: 400 + height: 400 + property alias mouseArea: mouseArea + property alias loader: loader + MouseArea { + id: mouseArea + property bool isToolTipVisible: false + width: 200 + height: 200 + hoverEnabled: true + ToolTip.text: "static tooltip" + ToolTip.visible: containsMouse + ToolTip.onVisibleChanged: isToolTipVisible = ToolTip.visible + } + Loader { + id: loader + active: false + sourceComponent: Rectangle { + ToolTip.text: "dynamic tooltip" + ToolTip.visible: false + } + } +} diff --git a/tests/auto/qquickpopup/tst_qquickpopup.cpp b/tests/auto/qquickpopup/tst_qquickpopup.cpp index f0d8b004..d96436de 100644 --- a/tests/auto/qquickpopup/tst_qquickpopup.cpp +++ b/tests/auto/qquickpopup/tst_qquickpopup.cpp @@ -94,6 +94,7 @@ private slots: void toolTipCrashOnClose(); void setOverlayParentToNull(); void tabFence(); + void invisibleToolTipOpen(); }; void tst_QQuickPopup::initTestCase() @@ -1358,6 +1359,33 @@ void tst_QQuickPopup::tabFence() QVERIFY(outsideButton1->hasActiveFocus()); } +void tst_QQuickPopup::invisibleToolTipOpen() +{ + QQuickApplicationHelper helper(this, "invisibleToolTipOpen.qml"); + + QQuickWindow *window = helper.window; + centerOnScreen(window); + moveMouseAway(window); + window->show(); + QVERIFY(QTest::qWaitForWindowActive(window)); + + QQuickItem *mouseArea = qvariant_cast<QQuickItem *>(window->property("mouseArea")); + QVERIFY(mouseArea); + QObject *loader = qvariant_cast<QObject *>(window->property("loader")); + QVERIFY(loader); + + QTest::mouseMove(window, QPoint(mouseArea->width() / 2, mouseArea->height() / 2)); + QTRY_VERIFY(mouseArea->property("isToolTipVisible").toBool()); + + QSignalSpy componentLoadedSpy(loader, SIGNAL(loaded())); + QVERIFY(componentLoadedSpy.isValid()); + + loader->setProperty("active", true); + QTRY_COMPARE(componentLoadedSpy.count(), 1); + + QTRY_VERIFY(mouseArea->property("isToolTipVisible").toBool()); +} + QTEST_QUICKCONTROLS_MAIN(tst_QQuickPopup) #include "tst_qquickpopup.moc" |