aboutsummaryrefslogtreecommitdiffstats
path: root/tests/auto/qtquick2/qquickitem/tst_qquickitem.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'tests/auto/qtquick2/qquickitem/tst_qquickitem.cpp')
-rw-r--r--tests/auto/qtquick2/qquickitem/tst_qquickitem.cpp42
1 files changed, 41 insertions, 1 deletions
diff --git a/tests/auto/qtquick2/qquickitem/tst_qquickitem.cpp b/tests/auto/qtquick2/qquickitem/tst_qquickitem.cpp
index 7e32816599..dccf055ae8 100644
--- a/tests/auto/qtquick2/qquickitem/tst_qquickitem.cpp
+++ b/tests/auto/qtquick2/qquickitem/tst_qquickitem.cpp
@@ -2,7 +2,7 @@
**
** Copyright (C) 2012 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
-** Contact: Nokia Corporation (qt-info@nokia.com)
+** Contact: http://www.qt-project.org/
**
** This file is part of the test suite of the Qt Toolkit.
**
@@ -66,9 +66,23 @@ protected:
virtual void focusOutEvent(QFocusEvent *) { Q_ASSERT(focused); focused = false; }
virtual void mousePressEvent(QMouseEvent *event) { event->accept(); ++pressCount; }
virtual void mouseReleaseEvent(QMouseEvent *event) { event->accept(); ++releaseCount; }
+ virtual void touchEvent(QTouchEvent *event) { event->accept(); }
virtual void wheelEvent(QWheelEvent *event) { event->accept(); ++wheelCount; }
};
+class TestCanvas: public QQuickCanvas
+{
+public:
+ TestCanvas()
+ : QQuickCanvas()
+ {}
+
+ virtual bool event(QEvent *event)
+ {
+ return QQuickCanvas::event(event);
+ }
+};
+
class TestPolishItem : public QQuickItem
{
Q_OBJECT
@@ -124,6 +138,7 @@ private slots:
void enabled();
void mouseGrab();
+ void touchEventAccept();
void polishOutsideAnimation();
void polishOnCompleted();
@@ -862,6 +877,31 @@ void tst_qquickitem::mouseGrab()
delete canvas;
}
+void tst_qquickitem::touchEventAccept()
+{
+ TestCanvas *canvas = new TestCanvas;
+ canvas->resize(100, 100);
+ canvas->show();
+
+ TestItem *item = new TestItem;
+ item->setSize(QSizeF(100, 100));
+ item->setParentItem(canvas->rootItem());
+
+ static QTouchDevice* device = new QTouchDevice;
+ device->setType(QTouchDevice::TouchScreen);
+ QWindowSystemInterface::registerTouchDevice(device);
+
+ QTouchEvent *event = new QTouchEvent(QEvent::TouchBegin, device);
+
+ bool accepted = canvas->event(event);
+
+ QVERIFY(accepted && event->isAccepted());
+
+ delete event;
+ delete item;
+ delete canvas;
+}
+
void tst_qquickitem::polishOutsideAnimation()
{
QQuickCanvas *canvas = new QQuickCanvas;