2
* Copyright (C) 2012, 2013 Canonical, Ltd.
4
* This program is free software; you can redistribute it and/or modify
5
* it under the terms of the GNU General Public License as published by
6
* the Free Software Foundation; version 3.
8
* This program is distributed in the hope that it will be useful,
9
* but WITHOUT ANY WARRANTY; without even the implied warranty of
10
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
11
* GNU General Public License for more details.
13
* You should have received a copy of the GNU General Public License
14
* along with this program. If not, see <http://www.gnu.org/licenses/>.
20
#include <qpa/qwindowsysteminterface.h>
21
#include <QtGui/QGuiApplication>
23
TestUtil::TestUtil(QObject *parent)
35
TestUtil::isInstanceOf(QObject *obj, QString name)
37
if (!obj) return false;
38
bool result = obj->inherits(name.toUtf8());
40
const QMetaObject *metaObject = obj->metaObject();
41
while (!result && metaObject) {
42
const QString className = metaObject->className();
43
const QString qmlName = className.left(className.indexOf("_QMLTYPE_"));
44
result = qmlName == name;
45
metaObject = metaObject->superClass();
51
TouchEventSequenceWrapper *TestUtil::touchEvent()
56
return new TouchEventSequenceWrapper(
57
QTest::touchEvent(m_targetWindow, m_touchDevice, /* autoCommit */ false));
60
void TestUtil::ensureTargetWindow()
63
m_targetWindow = QGuiApplication::topLevelWindows()[0];
66
void TestUtil::ensureTouchDevice()
69
m_touchDevice = new QTouchDevice;
70
m_touchDevice->setType(QTouchDevice::TouchScreen);
71
QWindowSystemInterface::registerTouchDevice(m_touchDevice);