diff options
Diffstat (limited to 'tests/auto/quickwidgets/qquickwidget/tst_qquickwidget.cpp')
-rw-r--r-- | tests/auto/quickwidgets/qquickwidget/tst_qquickwidget.cpp | 29 |
1 files changed, 29 insertions, 0 deletions
diff --git a/tests/auto/quickwidgets/qquickwidget/tst_qquickwidget.cpp b/tests/auto/quickwidgets/qquickwidget/tst_qquickwidget.cpp index e4991a5f26..6c8d8191a5 100644 --- a/tests/auto/quickwidgets/qquickwidget/tst_qquickwidget.cpp +++ b/tests/auto/quickwidgets/qquickwidget/tst_qquickwidget.cpp @@ -62,6 +62,7 @@ private slots: void keyEvents(); void shortcuts(); void enterLeave(); + void mouseEventWindowPos(); }; @@ -433,6 +434,34 @@ void tst_qquickwidget::enterLeave() QTRY_VERIFY(!rootItem->property("hasMouse").toBool()); } +void tst_qquickwidget::mouseEventWindowPos() +{ + QWidget widget; + widget.resize(100, 100); + QQuickWidget *quick = new QQuickWidget(&widget); + quick->setSource(testFileUrl("mouse.qml")); + quick->move(50, 50); + widget.show(); + QVERIFY(QTest::qWaitForWindowExposed(&widget, 5000)); + QQuickItem *rootItem = quick->rootObject(); + QVERIFY(rootItem); + + QVERIFY(!rootItem->property("wasClicked").toBool()); + QVERIFY(!rootItem->property("wasDoubleClicked").toBool()); + QVERIFY(!rootItem->property("wasMoved").toBool()); + + QWindow *window = widget.windowHandle(); + QVERIFY(window); + + QTest::mouseMove(window, QPoint(60, 60)); + QTest::mouseClick(window, Qt::LeftButton, Qt::KeyboardModifiers(), QPoint(60, 60)); + QTRY_VERIFY(rootItem->property("wasClicked").toBool()); + QTest::mouseDClick(window, Qt::LeftButton, Qt::KeyboardModifiers(), QPoint(60, 60)); + QTRY_VERIFY(rootItem->property("wasDoubleClicked").toBool()); + QTest::mouseMove(window, QPoint(70, 70)); + QTRY_VERIFY(rootItem->property("wasMoved").toBool()); +} + QTEST_MAIN(tst_qquickwidget) #include "tst_qquickwidget.moc" |