diff options
Diffstat (limited to 'tests/auto/quick/qquicklistview/tst_qquicklistview.cpp')
-rw-r--r-- | tests/auto/quick/qquicklistview/tst_qquicklistview.cpp | 31 |
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() |