aboutsummaryrefslogtreecommitdiffstats
path: root/tests/auto/quick/qquicklistview/tst_qquicklistview.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'tests/auto/quick/qquicklistview/tst_qquicklistview.cpp')
-rw-r--r--tests/auto/quick/qquicklistview/tst_qquicklistview.cpp31
1 files changed, 28 insertions, 3 deletions
diff --git a/tests/auto/quick/qquicklistview/tst_qquicklistview.cpp b/tests/auto/quick/qquicklistview/tst_qquicklistview.cpp
index 202f5164af..461a6b6750 100644
--- a/tests/auto/quick/qquicklistview/tst_qquicklistview.cpp
+++ b/tests/auto/quick/qquicklistview/tst_qquicklistview.cpp
@@ -4290,6 +4290,13 @@ void tst_QQuickListView::marginsResize()
QFETCH(qreal, start);
QFETCH(qreal, end);
+ QPoint flickStart(20, 20);
+ QPoint flickEnd(20, 20);
+ if (orientation == QQuickListView::Vertical)
+ flickStart.ry() += 180;
+ else
+ flickStart.rx() += (layoutDirection == Qt::LeftToRight) ? 180 : -180;
+
QQuickView *canvas = getView();
canvas->setSource(testFileUrl("margins2.qml"));
@@ -4316,6 +4323,14 @@ void tst_QQuickListView::marginsResize()
else
QTRY_COMPARE(listview->contentX(), end);
+ // flick past the end and check content pos still settles on correct extents
+ flick(canvas, flickStart, flickEnd, 180);
+ QTRY_VERIFY(listview->isMoving() == false);
+ if (orientation == QQuickListView::Vertical)
+ QTRY_COMPARE(listview->contentY(), end);
+ else
+ QTRY_COMPARE(listview->contentX(), end);
+
// back to top - top margin should be visible.
listview->setCurrentIndex(0);
if (orientation == QQuickListView::Vertical)
@@ -4323,6 +4338,14 @@ void tst_QQuickListView::marginsResize()
else
QTRY_COMPARE(listview->contentX(), start);
+ // flick past the beginning and check content pos still settles on correct extents
+ flick(canvas, flickEnd, flickStart, 180);
+ QTRY_VERIFY(listview->isMoving() == false);
+ if (orientation == QQuickListView::Vertical)
+ QTRY_COMPARE(listview->contentY(), start);
+ else
+ QTRY_COMPARE(listview->contentX(), start);
+
releaseView(canvas);
}
@@ -4333,9 +4356,11 @@ void tst_QQuickListView::marginsResize_data()
QTest::addColumn<qreal>("start");
QTest::addColumn<qreal>("end");
- QTest::newRow("vertical") << QQuickListView::Vertical << Qt::LeftToRight << -20.0 << 1020.0;
- QTest::newRow("horizontal") << QQuickListView::Horizontal << Qt::LeftToRight << -20.0 << 1020.0;
- QTest::newRow("horizontal, rtl") << QQuickListView::Horizontal << Qt::RightToLeft << -180.0 << -1220.0;
+ // in Right to Left mode, leftMargin still means leftMargin - it doesn't reverse to mean rightMargin
+
+ QTest::newRow("vertical") << QQuickListView::Vertical << Qt::LeftToRight << -40.0 << 1020.0;
+ QTest::newRow("horizontal") << QQuickListView::Horizontal << Qt::LeftToRight << -40.0 << 1020.0;
+ QTest::newRow("horizontal, rtl") << QQuickListView::Horizontal << Qt::RightToLeft << -180.0 << -1240.0;
}
void tst_QQuickListView::snapToItem_data()