diff options
Diffstat (limited to 'tests/auto/quick/qquicklistview/tst_qquicklistview.cpp')
-rw-r--r-- | tests/auto/quick/qquicklistview/tst_qquicklistview.cpp | 25 |
1 files changed, 25 insertions, 0 deletions
diff --git a/tests/auto/quick/qquicklistview/tst_qquicklistview.cpp b/tests/auto/quick/qquicklistview/tst_qquicklistview.cpp index 9e8a813d54..b29b2cf3a1 100644 --- a/tests/auto/quick/qquicklistview/tst_qquicklistview.cpp +++ b/tests/auto/quick/qquicklistview/tst_qquicklistview.cpp @@ -233,6 +233,7 @@ private slots: void QTBUG_38209(); void programmaticFlickAtBounds(); + void programmaticFlickAtBounds2(); void layoutChange(); @@ -7833,6 +7834,30 @@ void tst_QQuickListView::programmaticFlickAtBounds() QVERIFY(!spy.wait(100)); } +void tst_QQuickListView::programmaticFlickAtBounds2() +{ + QScopedPointer<QQuickView> window(createView()); + window->setSource(testFileUrl("programmaticFlickAtBounds2.qml")); + window->show(); + QVERIFY(QTest::qWaitForWindowExposed(window.data())); + + QQuickListView *listview = qobject_cast<QQuickListView *>(window->rootObject()); + QVERIFY(listview); + + // move exactly one item + qreal velocity = -qSqrt(2 * 50 * listview->flickDeceleration()); + + // flick down + listview->flick(0, velocity); + + QTRY_COMPARE(listview->contentY(), qreal(50.0)); + + // flick down + listview->flick(0, velocity); + + QTRY_COMPARE(listview->contentY(), qreal(100.0)); +} + void tst_QQuickListView::layoutChange() { RandomSortModel *model = new RandomSortModel; |