Skip to content

Commit

Permalink
Browse files Browse the repository at this point in the history
Separate out some of the common test code
Moves findItem, findItems() etc. into shared/visualtestutil.h and
moves duplicate list model test classes and other common view-specific
code into shared/viewtestutil.h.

Change-Id: Ia79bc4df1ab7fb618597755c0288a2e8f5054faf
Reviewed-by: Martin Jones <martin.jones@nokia.com>
  • Loading branch information
Bea Lam authored and Qt by Nokia committed Feb 7, 2012
1 parent a52c112 commit 5e42176
Show file tree
Hide file tree
Showing 25 changed files with 858 additions and 1,205 deletions.
1 change: 1 addition & 0 deletions tests/auto/qtquick2/qquickanchors/qquickanchors.pro
Expand Up @@ -3,6 +3,7 @@ CONFIG += testcase
SOURCES += tst_qquickanchors.cpp

include (../../shared/util.pri)
include (../shared/util.pri)

macx:CONFIG -= app_bundle

Expand Down
29 changes: 3 additions & 26 deletions tests/auto/qtquick2/qquickanchors/tst_qquickanchors.cpp
Expand Up @@ -49,10 +49,13 @@
#include <QtQuick/private/qquickanchors_p_p.h>
#include <QtQuick/private/qquickitem_p.h>
#include "../../shared/util.h"
#include "../shared/visualtestutil.h"

Q_DECLARE_METATYPE(QQuickAnchors::Anchor)
Q_DECLARE_METATYPE(QQuickAnchorLine::AnchorLine)

using namespace QQuickVisualTestUtil;

class tst_qquickanchors : public QDeclarativeDataTest
{
Q_OBJECT
Expand Down Expand Up @@ -82,32 +85,6 @@ private slots:
void marginsRTL();
};

/*
Find an item with the specified objectName.
*/
template<typename T>
T *findItem(QQuickItem *parent, const QString &objectName)
{
if (!parent)
return 0;

const QMetaObject &mo = T::staticMetaObject;
//qDebug() << parent->QQuickItem::children().count() << "children";
for (int i = 0; i < parent->childItems().count(); ++i) {
QQuickItem *item = qobject_cast<QQuickItem*>(parent->childItems().at(i));
if (!item)
continue;
//qDebug() << "try" << item;
if (mo.cast(item) && (objectName.isEmpty() || item->objectName() == objectName))
return static_cast<T*>(item);
item = findItem<T>(item, objectName);
if (item)
return static_cast<T*>(item);
}

return 0;
}

void tst_qquickanchors::basicAnchors()
{
QQuickView *view = new QQuickView;
Expand Down
1 change: 1 addition & 0 deletions tests/auto/qtquick2/qquickflickable/qquickflickable.pro
Expand Up @@ -5,6 +5,7 @@ macx:CONFIG -= app_bundle
SOURCES += tst_qquickflickable.cpp

include (../../shared/util.pri)
include (../shared/util.pri)

testDataFiles.files = data
testDataFiles.path = .
Expand Down
49 changes: 5 additions & 44 deletions tests/auto/qtquick2/qquickflickable/tst_qquickflickable.cpp
Expand Up @@ -48,8 +48,13 @@
#include <private/qdeclarativevaluetype_p.h>
#include <math.h>
#include "../../shared/util.h"
#include "../shared/viewtestutil.h"
#include "../shared/visualtestutil.h"
#include <QtOpenGL/QGLShaderProgram>

using namespace QQuickViewTestUtil;
using namespace QQuickVisualTestUtil;

class tst_qquickflickable : public QDeclarativeDataTest
{
Q_OBJECT
Expand All @@ -76,10 +81,6 @@ private slots:

private:
QDeclarativeEngine engine;

void flick(QQuickView *canvas, const QPoint &from, const QPoint &to, int duration);
template<typename T>
T *findItem(QQuickItem *parent, const QString &objectName);
};

void tst_qquickflickable::create()
Expand Down Expand Up @@ -657,46 +658,6 @@ void tst_qquickflickable::margins()
delete root;
}

void tst_qquickflickable::flick(QQuickView *canvas, const QPoint &from, const QPoint &to, int duration)
{
const int pointCount = 5;
QPoint diff = to - from;

// send press, five equally spaced moves, and release.
QTest::mousePress(canvas, Qt::LeftButton, 0, from);

for (int i = 0; i < pointCount; ++i) {
QMouseEvent mv(QEvent::MouseMove, from + (i+1)*diff/pointCount, Qt::LeftButton, Qt::LeftButton,Qt::NoModifier);
QGuiApplication::sendEvent(canvas, &mv);
QTest::qWait(duration/pointCount);
QCoreApplication::processEvents();
}

QTest::mouseRelease(canvas, Qt::LeftButton, 0, to);
QTest::qWait(50);
}

template<typename T>
T *tst_qquickflickable::findItem(QQuickItem *parent, const QString &objectName)
{
const QMetaObject &mo = T::staticMetaObject;
//qDebug() << parent->childItems().count() << "children";
for (int i = 0; i < parent->childItems().count(); ++i) {
QQuickItem *item = qobject_cast<QQuickItem*>(parent->childItems().at(i));
if (!item)
continue;
//qDebug() << "try" << item;
if (mo.cast(item) && (objectName.isEmpty() || item->objectName() == objectName)) {
return static_cast<T*>(item);
}
item = findItem<T>(item, objectName);
if (item)
return static_cast<T*>(item);
}

return 0;
}

QTEST_MAIN(tst_qquickflickable)

#include "tst_qquickflickable.moc"
1 change: 1 addition & 0 deletions tests/auto/qtquick2/qquickfocusscope/qquickfocusscope.pro
Expand Up @@ -3,6 +3,7 @@ TARGET = tst_qquickfocusscope
SOURCES += tst_qquickfocusscope.cpp

include (../../shared/util.pri)
include (../shared/util.pri)

macx:CONFIG -= app_bundle

Expand Down
28 changes: 3 additions & 25 deletions tests/auto/qtquick2/qquickfocusscope/tst_qquickfocusscope.cpp
Expand Up @@ -48,16 +48,16 @@
#include <QtQuick/private/qquicktext_p.h>
#include <QtQuick/private/qquickfocusscope_p.h>
#include "../../shared/util.h"
#include "../shared/visualtestutil.h"

using namespace QQuickVisualTestUtil;

class tst_qquickfocusscope : public QDeclarativeDataTest
{
Q_OBJECT
public:
tst_qquickfocusscope() {}

template<typename T>
T *findItem(QQuickItem *parent, const QString &id);

private slots:
void basic();
void nested();
Expand All @@ -71,28 +71,6 @@ private slots:
void canvasFocus();
};

/*
Find an item with the specified id.
*/
template<typename T>
T *tst_qquickfocusscope::findItem(QQuickItem *parent, const QString &objectName)
{
const QMetaObject &mo = T::staticMetaObject;
QList<QQuickItem *> children = parent->childItems();
for (int i = 0; i < children.count(); ++i) {
QQuickItem *item = children.at(i);
if (item) {
if (mo.cast(item) && (objectName.isEmpty() || item->objectName() == objectName)) {
return static_cast<T*>(item);
}
item = findItem<T>(item, objectName);
if (item)
return static_cast<T*>(item);
}
}
return 0;
}

void tst_qquickfocusscope::basic()
{
QQuickView *view = new QQuickView;
Expand Down
1 change: 1 addition & 0 deletions tests/auto/qtquick2/qquickgridview/qquickgridview.pro
Expand Up @@ -5,6 +5,7 @@ macx:CONFIG -= app_bundle
SOURCES += tst_qquickgridview.cpp

include (../../shared/util.pri)
include (../shared/util.pri)

testDataFiles.files = data
testDataFiles.path = .
Expand Down

0 comments on commit 5e42176

Please sign in to comment.