aboutsummaryrefslogtreecommitdiffstats
path: root/tests
diff options
context:
space:
mode:
authorBea Lam <bea.lam@nokia.com>2012-03-06 09:39:24 +1000
committerQt by Nokia <qt-info@nokia.com>2012-03-07 06:31:56 +0100
commit22a53bcd69d39a5ea128d53231e9e51455a98cc4 (patch)
tree182a6ff3c0871285f437a8470e19d2ad4f83a2cf /tests
parent83b4f5cc4f2661a41bbed4e17606a5e40bd06b7c (diff)
Fix setting of target lists when target Transition is not set
Target items are now set from QQuickViewItem::prepareTransition() instead of QQuickItemView and QQuickPositioner to ensure they are for a displaced transition even if there is no matching target transition. Task-number: QTBUG-24535 Change-Id: I0a6c7e3c6198786527014d421b96fc562c6186dc Reviewed-by: Martin Jones <martin.jones@nokia.com>
Diffstat (limited to 'tests')
-rw-r--r--tests/auto/quick/qquickgridview/data/displacedTransitions.qml36
-rw-r--r--tests/auto/quick/qquickgridview/tst_qquickgridview.cpp15
-rw-r--r--tests/auto/quick/qquicklistview/data/displacedTransitions.qml35
-rw-r--r--tests/auto/quick/qquicklistview/tst_qquicklistview.cpp15
4 files changed, 101 insertions, 0 deletions
diff --git a/tests/auto/quick/qquickgridview/data/displacedTransitions.qml b/tests/auto/quick/qquickgridview/data/displacedTransitions.qml
index d9353c0639..2db06976fb 100644
--- a/tests/auto/quick/qquickgridview/data/displacedTransitions.qml
+++ b/tests/auto/quick/qquickgridview/data/displacedTransitions.qml
@@ -38,6 +38,7 @@ Rectangle {
text: number
}
color: GridView.isCurrentItem ? "lightsteelblue" : "white"
+ border.width: 1
onXChanged: checkPos()
onYChanged: checkPos()
@@ -61,6 +62,17 @@ Rectangle {
property int targetTransitionsDone
property int displaceTransitionsDone
+ property var displacedTargetIndexes: new Array()
+ property var displacedTargetItems: new Array()
+
+ // for QDeclarativeListProperty types
+ function copyList(propList) {
+ var temp = new Array()
+ for (var i=0; i<propList.length; i++)
+ temp.push(propList[i])
+ return temp
+ }
+
objectName: "grid"
focus: true
anchors.centerIn: parent
@@ -80,6 +92,12 @@ Rectangle {
id: displaced
enabled: displacedEnabled
SequentialAnimation {
+ ScriptAction {
+ script: {
+ grid.displacedTargetIndexes.push(displaced.ViewTransition.targetIndexes)
+ grid.displacedTargetItems.push(grid.copyList(displaced.ViewTransition.targetItems))
+ }
+ }
ParallelAnimation {
NumberAnimation { properties: "x"; to: displaced_transitionVia.x; duration: root.duration }
NumberAnimation { properties: "y"; to: displaced_transitionVia.y; duration: root.duration }
@@ -93,6 +111,12 @@ Rectangle {
id: addDisplaced
enabled: addDisplacedEnabled
SequentialAnimation {
+ ScriptAction {
+ script: {
+ grid.displacedTargetIndexes.push(addDisplaced.ViewTransition.targetIndexes)
+ grid.displacedTargetItems.push(grid.copyList(addDisplaced.ViewTransition.targetItems))
+ }
+ }
ParallelAnimation {
NumberAnimation { properties: "x"; to: addDisplaced_transitionVia.x; duration: root.duration }
NumberAnimation { properties: "y"; to: addDisplaced_transitionVia.y; duration: root.duration }
@@ -106,6 +130,12 @@ Rectangle {
id: moveDisplaced
enabled: moveDisplacedEnabled
SequentialAnimation {
+ ScriptAction {
+ script: {
+ grid.displacedTargetIndexes.push(moveDisplaced.ViewTransition.targetIndexes)
+ grid.displacedTargetItems.push(grid.copyList(moveDisplaced.ViewTransition.targetItems))
+ }
+ }
ParallelAnimation {
NumberAnimation { properties: "x"; to: moveDisplaced_transitionVia.x; duration: root.duration }
NumberAnimation { properties: "y"; to: moveDisplaced_transitionVia.y; duration: root.duration }
@@ -119,6 +149,12 @@ Rectangle {
id: removeDisplaced
enabled: removeDisplacedEnabled
SequentialAnimation {
+ ScriptAction {
+ script: {
+ grid.displacedTargetIndexes.push(removeDisplaced.ViewTransition.targetIndexes)
+ grid.displacedTargetItems.push(grid.copyList(removeDisplaced.ViewTransition.targetItems))
+ }
+ }
ParallelAnimation {
NumberAnimation { properties: "x"; to: removeDisplaced_transitionVia.x; duration: root.duration }
NumberAnimation { properties: "y"; to: removeDisplaced_transitionVia.y; duration: root.duration }
diff --git a/tests/auto/quick/qquickgridview/tst_qquickgridview.cpp b/tests/auto/quick/qquickgridview/tst_qquickgridview.cpp
index b3e79dfa11..0171872aab 100644
--- a/tests/auto/quick/qquickgridview/tst_qquickgridview.cpp
+++ b/tests/auto/quick/qquickgridview/tst_qquickgridview.cpp
@@ -4637,11 +4637,26 @@ void tst_QQuickGridView::displacedTransitions()
case ListChange::SetContentY:
break;
}
+
+ QVariantList resultTargetIndexes = gridview->property("displacedTargetIndexes").toList();
+ QVariantList resultTargetItems = gridview->property("displacedTargetItems").toList();
+
if ((useDisplaced && displacedEnabled)
|| (useAddDisplaced && addDisplacedEnabled)
|| (useMoveDisplaced && moveDisplacedEnabled)
|| (useRemoveDisplaced && removeDisplacedEnabled)) {
QTRY_VERIFY(gridview->property("displaceTransitionsDone").toBool());
+
+ // check the correct number of target items and indexes were received
+ QCOMPARE(resultTargetIndexes.count(), expectedDisplacedIndexes.count());
+ for (int i=0; i<resultTargetIndexes.count(); i++)
+ QCOMPARE(resultTargetIndexes[i].value<QList<int> >().count(), change.count);
+ QCOMPARE(resultTargetItems.count(), expectedDisplacedIndexes.count());
+ for (int i=0; i<resultTargetItems.count(); i++)
+ QCOMPARE(resultTargetItems[i].toList().count(), change.count);
+ } else {
+ QCOMPARE(resultTargetIndexes.count(), 0);
+ QCOMPARE(resultTargetItems.count(), 0);
}
if (change.type == ListChange::Inserted && useAddDisplaced && addDisplacedEnabled)
diff --git a/tests/auto/quick/qquicklistview/data/displacedTransitions.qml b/tests/auto/quick/qquicklistview/data/displacedTransitions.qml
index cc7892e930..964ded10ee 100644
--- a/tests/auto/quick/qquicklistview/data/displacedTransitions.qml
+++ b/tests/auto/quick/qquicklistview/data/displacedTransitions.qml
@@ -53,6 +53,17 @@ Rectangle {
property int targetTransitionsDone
property int displaceTransitionsDone
+ property var displacedTargetIndexes: new Array()
+ property var displacedTargetItems: new Array()
+
+ // for QDeclarativeListProperty types
+ function copyList(propList) {
+ var temp = new Array()
+ for (var i=0; i<propList.length; i++)
+ temp.push(propList[i])
+ return temp
+ }
+
objectName: "list"
focus: true
anchors.centerIn: parent
@@ -70,6 +81,12 @@ Rectangle {
id: displaced
enabled: displacedEnabled
SequentialAnimation {
+ ScriptAction {
+ script: {
+ list.displacedTargetIndexes.push(displaced.ViewTransition.targetIndexes)
+ list.displacedTargetItems.push(list.copyList(displaced.ViewTransition.targetItems))
+ }
+ }
ParallelAnimation {
NumberAnimation { properties: "x"; to: displaced_transitionVia.x; duration: root.duration }
NumberAnimation { properties: "y"; to: displaced_transitionVia.y; duration: root.duration }
@@ -83,6 +100,12 @@ Rectangle {
id: addDisplaced
enabled: addDisplacedEnabled
SequentialAnimation {
+ ScriptAction {
+ script: {
+ list.displacedTargetIndexes.push(addDisplaced.ViewTransition.targetIndexes)
+ list.displacedTargetItems.push(list.copyList(addDisplaced.ViewTransition.targetItems))
+ }
+ }
ParallelAnimation {
NumberAnimation { properties: "x"; to: addDisplaced_transitionVia.x; duration: root.duration }
NumberAnimation { properties: "y"; to: addDisplaced_transitionVia.y; duration: root.duration }
@@ -96,6 +119,12 @@ Rectangle {
id: moveDisplaced
enabled: moveDisplacedEnabled
SequentialAnimation {
+ ScriptAction {
+ script: {
+ list.displacedTargetIndexes.push(moveDisplaced.ViewTransition.targetIndexes)
+ list.displacedTargetItems.push(list.copyList(moveDisplaced.ViewTransition.targetItems))
+ }
+ }
ParallelAnimation {
NumberAnimation { properties: "x"; to: moveDisplaced_transitionVia.x; duration: root.duration }
NumberAnimation { properties: "y"; to: moveDisplaced_transitionVia.y; duration: root.duration }
@@ -109,6 +138,12 @@ Rectangle {
id: removeDisplaced
enabled: removeDisplacedEnabled
SequentialAnimation {
+ ScriptAction {
+ script: {
+ list.displacedTargetIndexes.push(removeDisplaced.ViewTransition.targetIndexes)
+ list.displacedTargetItems.push(list.copyList(removeDisplaced.ViewTransition.targetItems))
+ }
+ }
ParallelAnimation {
NumberAnimation { properties: "x"; to: removeDisplaced_transitionVia.x; duration: root.duration }
NumberAnimation { properties: "y"; to: removeDisplaced_transitionVia.y; duration: root.duration }
diff --git a/tests/auto/quick/qquicklistview/tst_qquicklistview.cpp b/tests/auto/quick/qquicklistview/tst_qquicklistview.cpp
index 8c5c25c98b..32f329f45b 100644
--- a/tests/auto/quick/qquicklistview/tst_qquicklistview.cpp
+++ b/tests/auto/quick/qquicklistview/tst_qquicklistview.cpp
@@ -5648,11 +5648,26 @@ void tst_QQuickListView::displacedTransitions()
case ListChange::SetContentY:
break;
}
+
+ QVariantList resultTargetIndexes = listview->property("displacedTargetIndexes").toList();
+ QVariantList resultTargetItems = listview->property("displacedTargetItems").toList();
+
if ((useDisplaced && displacedEnabled)
|| (useAddDisplaced && addDisplacedEnabled)
|| (useMoveDisplaced && moveDisplacedEnabled)
|| (useRemoveDisplaced && removeDisplacedEnabled)) {
QTRY_VERIFY(listview->property("displaceTransitionsDone").toBool());
+
+ // check the correct number of target items and indexes were received
+ QCOMPARE(resultTargetIndexes.count(), expectedDisplacedIndexes.count());
+ for (int i=0; i<resultTargetIndexes.count(); i++)
+ QCOMPARE(resultTargetIndexes[i].value<QList<int> >().count(), change.count);
+ QCOMPARE(resultTargetItems.count(), expectedDisplacedIndexes.count());
+ for (int i=0; i<resultTargetItems.count(); i++)
+ QCOMPARE(resultTargetItems[i].toList().count(), change.count);
+ } else {
+ QCOMPARE(resultTargetIndexes.count(), 0);
+ QCOMPARE(resultTargetItems.count(), 0);
}
if (change.type == ListChange::Inserted && useAddDisplaced && addDisplacedEnabled)