on xenial help sign in
depend on the metaobject classname instead on of the object name
7908b9bAlbert Astals Cid
tests/plugins/Ubuntu/Gestures/tst_FloatingFlickable.cpp+7−4
@@ -61,10 +61,13 @@ void tst_FloatingFlickable::tapGoesThrough()
61
61
62static void removeTimeConstraints(QQuickItem *floatingFlickable)
62static void removeTimeConstraints(QQuickItem *floatingFlickable)
63{
63{
64− QObject *swipeAreaPrivate = floatingFlickable->findChild<QObject*>("UCSwipeAreaPrivate");
64+ auto children = floatingFlickable->findChildren<QObject*>();
65−
65+ Q_FOREACH(QObject *child, children) {
66+ if (child->metaObject()->className() == QByteArray("UCSwipeAreaPrivate")) {
66− QMetaObject::invokeMethod(swipeAreaPrivate, "setMaxTime", Q_ARG(int, 60 * 60 * 1000));
67+ QMetaObject::invokeMethod(child, "setMaxTime", Q_ARG(int, 60 * 60 * 1000));
67− QMetaObject::invokeMethod(swipeAreaPrivate, "setCompositionTime", Q_ARG(int, 0));
68+ QMetaObject::invokeMethod(child, "setCompositionTime", Q_ARG(int, 0));
69+ }
70+ }
68}
71}
69
72
70void tst_FloatingFlickable::flickChangesContentX()
73void tst_FloatingFlickable::flickChangesContentX()
tests/qmltests/Components/tst_DragHandle.cpp+7−3
@@ -200,9 +200,13 @@ QQuickItem *tst_DragHandle::fetchAndSetupDragHandle(const char *objectName)
200 QQuickItem *dragHandle =
200 QQuickItem *dragHandle =
201 m_view->rootObject()->findChild<QQuickItem*>(objectName);
201 m_view->rootObject()->findChild<QQuickItem*>(objectName);
202 Q_ASSERT(dragHandle != 0);
202 Q_ASSERT(dragHandle != 0);
203− QObject *swipeAreaPrivate = dragHandle->findChild<QObject*>("UCSwipeAreaPrivate");
203+ auto children = dragHandle->findChildren<QObject*>();
204+ Q_FOREACH(QObject *child, children) {
205+ if (child->metaObject()->className() == QByteArray("UCSwipeAreaPrivate")) {
204− QMetaObject::invokeMethod(swipeAreaPrivate, "setRecognitionTimer", Q_ARG(UbuntuGestures::AbstractTimer*, m_fakeTimer));
206+ QMetaObject::invokeMethod(child, "setRecognitionTimer", Q_ARG(UbuntuGestures::AbstractTimer*, m_fakeTimer));
205− QMetaObject::invokeMethod(swipeAreaPrivate, "setTimeSource", Q_ARG(UbuntuGestures::SharedTimeSource, m_fakeTimeSource));
207+ QMetaObject::invokeMethod(child, "setTimeSource", Q_ARG(UbuntuGestures::SharedTimeSource, m_fakeTimeSource));
208+ }
209+ }
206
210
207 AxisVelocityCalculator *edgeDragEvaluator =
211 AxisVelocityCalculator *edgeDragEvaluator =
208 dragHandle->findChild<AxisVelocityCalculator*>("edgeDragEvaluator");
212 dragHandle->findChild<AxisVelocityCalculator*>("edgeDragEvaluator");
tests/utils/modules/Unity/Test/UnityTestCase.qml+1−3
@@ -452,9 +452,7 @@ TestCase {
452 */
452 */
453 function removeTimeConstraintsFromSwipeAreas(item) {
453 function removeTimeConstraintsFromSwipeAreas(item) {
454 if (UT.Util.isInstanceOf(item, "UCSwipeArea")) {
454 if (UT.Util.isInstanceOf(item, "UCSwipeArea")) {
455− var privateSwipeArea = UT.Util.findQObjectChild(item, "UCSwipeAreaPrivate");
455+ var privateSwipeArea = UT.Util.removeTimeConstraintsFromSwipeArea(item);
456− privateSwipeArea.setMaxTime(60 * 60 * 1000);
457− privateSwipeArea.setCompositionTime(0);
458 } else {
456 } else {
459 for (var i in item.children) {
457 for (var i in item.children) {
460 removeTimeConstraintsFromSwipeAreas(item.children[i]);
458 removeTimeConstraintsFromSwipeAreas(item.children[i]);
tests/utils/modules/Unity/Test/testutil.cpp+8−2
@@ -72,9 +72,15 @@ TouchEventSequenceWrapper *TestUtil::touchEvent(QQuickItem *item)
72 QTest::touchEvent(m_targetWindow, m_touchDevice, /* autoCommit */ false), item);
72 QTest::touchEvent(m_targetWindow, m_touchDevice, /* autoCommit */ false), item);
73}
73}
74
74
75−QObject *TestUtil::findQObjectChild(QObject *object, const QString &objectName)
75+void TestUtil::removeTimeConstraintsFromSwipeArea(QObject *object)
76{
76{
77− return object->findChild<QObject*>(objectName);
77+ auto children = object->findChildren<QObject*>();
78+ Q_FOREACH(QObject *child, children) {
79+ if (child->metaObject()->className() == QByteArray("UCSwipeAreaPrivate")) {
80+ QMetaObject::invokeMethod(child, "setMaxTime", Q_ARG(int, 60 * 60 * 1000));
81+ QMetaObject::invokeMethod(child, "setCompositionTime", Q_ARG(int, 0));
82+ }
83+ }
78}
84}
79
85
80void TestUtil::ensureTargetWindow()
86void TestUtil::ensureTargetWindow()
tests/utils/modules/Unity/Test/testutil.h+1−1
@@ -34,7 +34,7 @@ public:
34
34
35 Q_INVOKABLE bool isInstanceOf(QObject*, QString);
35 Q_INVOKABLE bool isInstanceOf(QObject*, QString);
36 Q_INVOKABLE TouchEventSequenceWrapper *touchEvent(QQuickItem *item);
36 Q_INVOKABLE TouchEventSequenceWrapper *touchEvent(QQuickItem *item);
37− Q_INVOKABLE QObject *findQObjectChild(QObject *object, const QString &objectName);
37+ Q_INVOKABLE void removeTimeConstraintsFromSwipeArea(QObject *object);
38
38
39private:
39private:
40 void ensureTargetWindow();
40 void ensureTargetWindow();