aboutsummaryrefslogtreecommitdiffstats
path: root/tests/auto/quick/qquickitem
diff options
context:
space:
mode:
authorAndrew den Exter <andrew.den-exter@nokia.com>2012-06-21 15:49:10 +1000
committerQt by Nokia <qt-info@nokia.com>2012-06-22 04:43:54 +0200
commitd2857ba596f334daca665aacfa074f71fc8ecdb4 (patch)
tree2782529a8f45689c3c3e910dfcf96abc724f855d /tests/auto/quick/qquickitem
parent5ac47a3909762e62b054a951adb6b5771cc6d0eb (diff)
Add tests for clicking and dragging with right and middle buttons.
Task-number: QTBUG-24461 Change-Id: I2c8b3455cb3aead5df7dfd85f65eb633a552b881 Reviewed-by: Martin Jones <martin.jones@nokia.com>
Diffstat (limited to 'tests/auto/quick/qquickitem')
-rw-r--r--tests/auto/quick/qquickitem/tst_qquickitem.cpp63
1 files changed, 63 insertions, 0 deletions
diff --git a/tests/auto/quick/qquickitem/tst_qquickitem.cpp b/tests/auto/quick/qquickitem/tst_qquickitem.cpp
index 47f9ff4fed..c1c8067b02 100644
--- a/tests/auto/quick/qquickitem/tst_qquickitem.cpp
+++ b/tests/auto/quick/qquickitem/tst_qquickitem.cpp
@@ -166,6 +166,8 @@ private slots:
void paintOrder_data();
void paintOrder();
+ void acceptedMouseButtons();
+
private:
enum PaintOrderOp {
@@ -1665,6 +1667,67 @@ void tst_qquickitem::paintOrder()
QCOMPARE(items, expected);
}
+void tst_qquickitem::acceptedMouseButtons()
+{
+ TestItem item;
+ QCOMPARE(item.acceptedMouseButtons(), Qt::MouseButtons(Qt::NoButton));
+
+ QQuickCanvas canvas;
+ item.setSize(QSizeF(200,100));
+ item.setParentItem(canvas.rootItem());
+
+ QTest::mousePress(&canvas, Qt::LeftButton, 0, QPoint(50, 50));
+ QTest::mouseRelease(&canvas, Qt::LeftButton, 0, QPoint(50, 50));
+ QCOMPARE(item.pressCount, 0);
+ QCOMPARE(item.releaseCount, 0);
+
+ QTest::mousePress(&canvas, Qt::RightButton, 0, QPoint(50, 50));
+ QTest::mouseRelease(&canvas, Qt::RightButton, 0, QPoint(50, 50));
+ QCOMPARE(item.pressCount, 0);
+ QCOMPARE(item.releaseCount, 0);
+
+ QTest::mousePress(&canvas, Qt::MiddleButton, 0, QPoint(50, 50));
+ QTest::mouseRelease(&canvas, Qt::MiddleButton, 0, QPoint(50, 50));
+ QCOMPARE(item.pressCount, 0);
+ QCOMPARE(item.releaseCount, 0);
+
+ item.setAcceptedMouseButtons(Qt::LeftButton);
+ QCOMPARE(item.acceptedMouseButtons(), Qt::MouseButtons(Qt::LeftButton));
+
+ QTest::mousePress(&canvas, Qt::LeftButton, 0, QPoint(50, 50));
+ QTest::mouseRelease(&canvas, Qt::LeftButton, 0, QPoint(50, 50));
+ QCOMPARE(item.pressCount, 1);
+ QCOMPARE(item.releaseCount, 1);
+
+ QTest::mousePress(&canvas, Qt::RightButton, 0, QPoint(50, 50));
+ QTest::mouseRelease(&canvas, Qt::RightButton, 0, QPoint(50, 50));
+ QCOMPARE(item.pressCount, 1);
+ QCOMPARE(item.releaseCount, 1);
+
+ QTest::mousePress(&canvas, Qt::MiddleButton, 0, QPoint(50, 50));
+ QTest::mouseRelease(&canvas, Qt::MiddleButton, 0, QPoint(50, 50));
+ QCOMPARE(item.pressCount, 1);
+ QCOMPARE(item.releaseCount, 1);
+
+ item.setAcceptedMouseButtons(Qt::RightButton | Qt::MiddleButton);
+ QCOMPARE(item.acceptedMouseButtons(), Qt::MouseButtons(Qt::RightButton | Qt::MiddleButton));
+
+ QTest::mousePress(&canvas, Qt::LeftButton, 0, QPoint(50, 50));
+ QTest::mouseRelease(&canvas, Qt::LeftButton, 0, QPoint(50, 50));
+ QCOMPARE(item.pressCount, 1);
+ QCOMPARE(item.releaseCount, 1);
+
+ QTest::mousePress(&canvas, Qt::RightButton, 0, QPoint(50, 50));
+ QTest::mouseRelease(&canvas, Qt::RightButton, 0, QPoint(50, 50));
+ QCOMPARE(item.pressCount, 2);
+ QCOMPARE(item.releaseCount, 2);
+
+ QTest::mousePress(&canvas, Qt::MiddleButton, 0, QPoint(50, 50));
+ QTest::mouseRelease(&canvas, Qt::MiddleButton, 0, QPoint(50, 50));
+ QCOMPARE(item.pressCount, 3);
+ QCOMPARE(item.releaseCount, 3);
+}
+
QTEST_MAIN(tst_qquickitem)