aboutsummaryrefslogtreecommitdiffstats
path: root/tests/auto/quickwidgets
diff options
context:
space:
mode:
authorLiang Qi <liang.qi@qt.io>2018-01-19 10:49:56 +0100
committerLiang Qi <liang.qi@qt.io>2018-01-24 09:34:11 +0100
commit2570b801c74832a3c83a8b56ad0f76812969e190 (patch)
treec4bd64d8e6b15b507f51f550ba13a0c062528d65 /tests/auto/quickwidgets
parent1b96186d1418adcba85fdbfd794da2d2f6ea122d (diff)
parent706a6647db695cdeb854ef1bf956ded56b498f78 (diff)
Merge remote-tracking branch 'origin/5.9' into 5.10
Conflicts: .qmake.conf src/qml/compiler/qv4codegen.cpp src/qml/compiler/qv4compileddata_p.h src/qml/debugger/qqmlprofiler_p.h src/qml/jsruntime/qv4engine.cpp src/qml/memory/qv4mm.cpp src/qml/qml/qqmlcomponent.cpp src/qml/qml/qqmlobjectcreator.cpp src/qml/qml/qqmlobjectcreator_p.h src/qml/types/qqmldelegatemodel.cpp src/quick/items/qquickitem_p.h src/quick/items/qquickwindow.cpp tests/auto/quick/touchmouse/BLACKLIST tests/benchmarks/qml/holistic/tst_holistic.cpp Change-Id: I520f349ab4b048dd337d9647113564fc257865c2
Diffstat (limited to 'tests/auto/quickwidgets')
-rw-r--r--tests/auto/quickwidgets/qquickwidget/data/mouse.qml18
-rw-r--r--tests/auto/quickwidgets/qquickwidget/tst_qquickwidget.cpp29
2 files changed, 47 insertions, 0 deletions
diff --git a/tests/auto/quickwidgets/qquickwidget/data/mouse.qml b/tests/auto/quickwidgets/qquickwidget/data/mouse.qml
new file mode 100644
index 0000000000..5d1c6e8443
--- /dev/null
+++ b/tests/auto/quickwidgets/qquickwidget/data/mouse.qml
@@ -0,0 +1,18 @@
+import QtQuick 2.0
+
+Rectangle {
+ width: 50
+ height: 50
+
+ property bool wasClicked: false
+ property bool wasDoubleClicked: false
+ property bool wasMoved: false
+
+ MouseArea {
+ anchors.fill: parent
+ hoverEnabled: true
+ onClicked: wasClicked = true
+ onDoubleClicked: wasDoubleClicked = true
+ onMouseXChanged: wasMoved = true
+ }
+}
diff --git a/tests/auto/quickwidgets/qquickwidget/tst_qquickwidget.cpp b/tests/auto/quickwidgets/qquickwidget/tst_qquickwidget.cpp
index 0bf2f8d7d8..61673996aa 100644
--- a/tests/auto/quickwidgets/qquickwidget/tst_qquickwidget.cpp
+++ b/tests/auto/quickwidgets/qquickwidget/tst_qquickwidget.cpp
@@ -66,6 +66,7 @@ private slots:
void keyEvents();
void shortcuts();
void enterLeave();
+ void mouseEventWindowPos();
};
@@ -470,6 +471,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"