aboutsummaryrefslogtreecommitdiffstats
path: root/tests/auto/quick/qquicklistview
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/auto/quick/qquicklistview
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/auto/quick/qquicklistview')
-rw-r--r--tests/auto/quick/qquicklistview/data/displacedTransitions.qml35
-rw-r--r--tests/auto/quick/qquicklistview/tst_qquicklistview.cpp15
2 files changed, 50 insertions, 0 deletions
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)