aboutsummaryrefslogtreecommitdiffstats
path: root/tests
diff options
context:
space:
mode:
authorBea Lam <bea.lam@nokia.com>2012-03-06 09:28:56 +1000
committerQt by Nokia <qt-info@nokia.com>2012-03-07 02:45:21 +0100
commit14e00670b7393dd16e8896b2365e6d0c154c2d9a (patch)
treef9893acf86f8c5af41bd36271d12a296f16902cc /tests
parent4b2a7b063bd8a75dd10859d477e53c833fc844fa (diff)
prepareTransition() must cancel current transition
If it does not, itemX() or itemY() will still return the current transition's 'to' position instead of the nextTransitionTo pos that was scheduled for the next transition (which the item now has moved to using the direct setPos() method). Also refactor prepareTransition() to always move the item directly to the nextTransitionTo if transition is not going ahead. Also fix some broken test code. Task-number: QTBUG-24523 Change-Id: I2e536fbc0da2acbf96fdf2d177190a8968f7fdb1 Reviewed-by: Martin Jones <martin.jones@nokia.com>
Diffstat (limited to 'tests')
-rw-r--r--tests/auto/quick/qquickgridview/data/multipleTransitions.qml2
-rw-r--r--tests/auto/quick/qquickgridview/tst_qquickgridview.cpp15
-rw-r--r--tests/auto/quick/qquicklistview/data/multipleTransitions.qml2
-rw-r--r--tests/auto/quick/qquicklistview/tst_qquicklistview.cpp15
4 files changed, 6 insertions, 28 deletions
diff --git a/tests/auto/quick/qquickgridview/data/multipleTransitions.qml b/tests/auto/quick/qquickgridview/data/multipleTransitions.qml
index 909ec3a0b7..f0d932082b 100644
--- a/tests/auto/quick/qquickgridview/data/multipleTransitions.qml
+++ b/tests/auto/quick/qquickgridview/data/multipleTransitions.qml
@@ -10,7 +10,7 @@ Rectangle {
// interrupting transitions will still produce the correct result)
property int timeBetweenActions: duration / 2
- property int duration: 300
+ property int duration: 100
property int count: grid.count
diff --git a/tests/auto/quick/qquickgridview/tst_qquickgridview.cpp b/tests/auto/quick/qquickgridview/tst_qquickgridview.cpp
index c0f2b02a7e..b3e79dfa11 100644
--- a/tests/auto/quick/qquickgridview/tst_qquickgridview.cpp
+++ b/tests/auto/quick/qquickgridview/tst_qquickgridview.cpp
@@ -1274,8 +1274,6 @@ void tst_QQuickGridView::moved_data()
void tst_QQuickGridView::multipleChanges()
{
- QSKIP("QTBUG-24523");
-
QFETCH(int, startCount);
QFETCH(QList<ListChange>, changes);
QFETCH(int, newCount);
@@ -4817,17 +4815,15 @@ void tst_QQuickGridView::multipleTransitions()
int timeBetweenActions = canvas->rootObject()->property("timeBetweenActions").toInt();
- QList<QPair<QString, QString> > targetItems;
for (int i=0; i<changes.count(); i++) {
switch (changes[i].type) {
case ListChange::Inserted:
{
+ QList<QPair<QString, QString> > targetItems;
for (int j=changes[i].index; j<changes[i].index + changes[i].count; ++j)
targetItems << qMakePair(QString("new item %1").arg(j), QString::number(j));
model.insertItems(changes[i].index, targetItems);
QTRY_COMPARE(model.count(), gridview->count());
- QTRY_VERIFY(gridview->property("runningAddTargets").toBool());
- QTRY_VERIFY(gridview->property("runningAddDisplaced").toBool());
if (i == changes.count() - 1) {
QTRY_VERIFY(!gridview->property("runningAddTargets").toBool());
QTRY_VERIFY(!gridview->property("runningAddDisplaced").toBool());
@@ -4837,12 +4833,8 @@ void tst_QQuickGridView::multipleTransitions()
break;
}
case ListChange::Removed:
- for (int j=changes[i].index; j<changes[i].index + changes[i].count; ++j)
- targetItems << qMakePair(model.name(i), model.number(i));
model.removeItems(changes[i].index, changes[i].count);
QTRY_COMPARE(model.count(), gridview->count());
- QTRY_VERIFY(gridview->property("runningRemoveTargets").toBool());
- QTRY_VERIFY(gridview->property("runningRemoveDisplaced").toBool());
if (i == changes.count() - 1) {
QTRY_VERIFY(!gridview->property("runningRemoveTargets").toBool());
QTRY_VERIFY(!gridview->property("runningRemoveDisplaced").toBool());
@@ -4851,11 +4843,8 @@ void tst_QQuickGridView::multipleTransitions()
}
break;
case ListChange::Moved:
- for (int j=changes[i].index; j<changes[i].index + changes[i].count; ++j)
- targetItems << qMakePair(model.name(i), model.number(i));
model.moveItems(changes[i].index, changes[i].to, changes[i].count);
- QTRY_VERIFY(gridview->property("runningMoveTargets").toBool());
- QTRY_VERIFY(gridview->property("runningMoveDisplaced").toBool());
+ QTRY_COMPARE(QQuickItemPrivate::get(gridview)->polishScheduled, false);
if (i == changes.count() - 1) {
QTRY_VERIFY(!gridview->property("runningMoveTargets").toBool());
QTRY_VERIFY(!gridview->property("runningMoveDisplaced").toBool());
diff --git a/tests/auto/quick/qquicklistview/data/multipleTransitions.qml b/tests/auto/quick/qquicklistview/data/multipleTransitions.qml
index 8264b42b64..68efeea2ec 100644
--- a/tests/auto/quick/qquicklistview/data/multipleTransitions.qml
+++ b/tests/auto/quick/qquicklistview/data/multipleTransitions.qml
@@ -10,7 +10,7 @@ Rectangle {
// interrupting transitions will still produce the correct result)
property int timeBetweenActions: duration / 2
- property int duration: 300
+ property int duration: 100
property int count: list.count
diff --git a/tests/auto/quick/qquicklistview/tst_qquicklistview.cpp b/tests/auto/quick/qquicklistview/tst_qquicklistview.cpp
index 9195aab632..8c5c25c98b 100644
--- a/tests/auto/quick/qquicklistview/tst_qquicklistview.cpp
+++ b/tests/auto/quick/qquicklistview/tst_qquicklistview.cpp
@@ -5779,8 +5779,6 @@ void tst_QQuickListView::displacedTransitions_data()
void tst_QQuickListView::multipleTransitions()
{
- QSKIP("QTBUG-24523");
-
// Tests that if you interrupt a transition in progress with another action that
// cancels the previous transition, the resulting items are still placed correctly.
@@ -5829,17 +5827,15 @@ void tst_QQuickListView::multipleTransitions()
int timeBetweenActions = canvas->rootObject()->property("timeBetweenActions").toInt();
- QList<QPair<QString, QString> > targetItems;
for (int i=0; i<changes.count(); i++) {
switch (changes[i].type) {
case ListChange::Inserted:
{
+ QList<QPair<QString, QString> > targetItems;
for (int j=changes[i].index; j<changes[i].index + changes[i].count; ++j)
targetItems << qMakePair(QString("new item %1").arg(j), QString::number(j));
model.insertItems(changes[i].index, targetItems);
QTRY_COMPARE(model.count(), listview->count());
- QTRY_VERIFY(listview->property("runningAddTargets").toBool());
- QTRY_VERIFY(listview->property("runningAddDisplaced").toBool());
if (i == changes.count() - 1) {
QTRY_VERIFY(!listview->property("runningAddTargets").toBool());
QTRY_VERIFY(!listview->property("runningAddDisplaced").toBool());
@@ -5849,12 +5845,8 @@ void tst_QQuickListView::multipleTransitions()
break;
}
case ListChange::Removed:
- for (int j=changes[i].index; j<changes[i].index + changes[i].count; ++j)
- targetItems << qMakePair(model.name(i), model.number(i));
model.removeItems(changes[i].index, changes[i].count);
QTRY_COMPARE(model.count(), listview->count());
- QTRY_VERIFY(listview->property("runningRemoveTargets").toBool());
- QTRY_VERIFY(listview->property("runningRemoveDisplaced").toBool());
if (i == changes.count() - 1) {
QTRY_VERIFY(!listview->property("runningRemoveTargets").toBool());
QTRY_VERIFY(!listview->property("runningRemoveDisplaced").toBool());
@@ -5863,11 +5855,8 @@ void tst_QQuickListView::multipleTransitions()
}
break;
case ListChange::Moved:
- for (int j=changes[i].index; j<changes[i].index + changes[i].count; ++j)
- targetItems << qMakePair(model.name(i), model.number(i));
model.moveItems(changes[i].index, changes[i].to, changes[i].count);
- QTRY_VERIFY(listview->property("runningMoveTargets").toBool());
- QTRY_VERIFY(listview->property("runningMoveDisplaced").toBool());
+ QTRY_COMPARE(QQuickItemPrivate::get(listview)->polishScheduled, false);
if (i == changes.count() - 1) {
QTRY_VERIFY(!listview->property("runningMoveTargets").toBool());
QTRY_VERIFY(!listview->property("runningMoveDisplaced").toBool());