diff options
author | Andrew den Exter <andrew.den-exter@nokia.com> | 2012-06-21 15:49:10 +1000 |
---|---|---|
committer | Qt by Nokia <qt-info@nokia.com> | 2012-06-22 04:43:54 +0200 |
commit | d2857ba596f334daca665aacfa074f71fc8ecdb4 (patch) | |
tree | 2782529a8f45689c3c3e910dfcf96abc724f855d /tests/auto/quick/qquickitem/tst_qquickitem.cpp | |
parent | 5ac47a3909762e62b054a951adb6b5771cc6d0eb (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/tst_qquickitem.cpp')
-rw-r--r-- | tests/auto/quick/qquickitem/tst_qquickitem.cpp | 63 |
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) |