diff options
Diffstat (limited to 'tests/auto/quick/qquicklistview/tst_qquicklistview.cpp')
-rw-r--r-- | tests/auto/quick/qquicklistview/tst_qquicklistview.cpp | 37 |
1 files changed, 27 insertions, 10 deletions
diff --git a/tests/auto/quick/qquicklistview/tst_qquicklistview.cpp b/tests/auto/quick/qquicklistview/tst_qquicklistview.cpp index 1fec04d08a..5108abcb12 100644 --- a/tests/auto/quick/qquicklistview/tst_qquicklistview.cpp +++ b/tests/auto/quick/qquicklistview/tst_qquicklistview.cpp @@ -253,6 +253,7 @@ private slots: void QTBUG_48870_fastModelUpdates(); void QTBUG_50105(); + void QTBUG_50097_stickyHeader_positionViewAtIndex(); private: template <class T> void items(const QUrl &source); @@ -7550,7 +7551,7 @@ void tst_QQuickListView::stickyPositioning_data() QTest::newRow("top header") << "stickyPositioning-header.qml" << Qt::Vertical << Qt::LeftToRight << QQuickListView::TopToBottom << 0 << QQuickItemView::Beginning << QList<QPointF>() - << QPointF(0,-10) << QPointF(); + << QPointF(0,0) << QPointF(); QTest::newRow("top header: 1/2 up") << "stickyPositioning-header.qml" << Qt::Vertical << Qt::LeftToRight << QQuickListView::TopToBottom @@ -7577,7 +7578,7 @@ void tst_QQuickListView::stickyPositioning_data() QTest::newRow("top footer") << "stickyPositioning-footer.qml" << Qt::Vertical << Qt::LeftToRight << QQuickListView::BottomToTop << 19 << QQuickItemView::End << QList<QPointF>() - << QPointF() << QPointF(0,-10); + << QPointF() << QPointF(0,0); QTest::newRow("top footer: 1/2 up") << "stickyPositioning-footer.qml" << Qt::Vertical << Qt::LeftToRight << QQuickListView::BottomToTop @@ -7604,7 +7605,7 @@ void tst_QQuickListView::stickyPositioning_data() QTest::newRow("bottom header") << "stickyPositioning-header.qml" << Qt::Vertical << Qt::LeftToRight << QQuickListView::BottomToTop << 0 << QQuickItemView::Beginning << QList<QPointF>() - << QPointF(0,100) << QPointF(); + << QPointF(0,90) << QPointF(); QTest::newRow("bottom header: 1/2 down") << "stickyPositioning-header.qml" << Qt::Vertical << Qt::LeftToRight << QQuickListView::BottomToTop @@ -7631,7 +7632,7 @@ void tst_QQuickListView::stickyPositioning_data() QTest::newRow("bottom footer") << "stickyPositioning-footer.qml" << Qt::Vertical << Qt::LeftToRight << QQuickListView::TopToBottom << 19 << QQuickItemView::End << QList<QPointF>() - << QPointF() << QPointF(0,100); + << QPointF() << QPointF(0,90); QTest::newRow("bottom footer: 1/2 down") << "stickyPositioning-footer.qml" << Qt::Vertical << Qt::LeftToRight << QQuickListView::TopToBottom @@ -7658,7 +7659,7 @@ void tst_QQuickListView::stickyPositioning_data() QTest::newRow("top header & bottom footer") << "stickyPositioning-both.qml" << Qt::Vertical << Qt::LeftToRight << QQuickListView::TopToBottom << 0 << QQuickItemView::Beginning << QList<QPointF>() - << QPointF(0,-10) << QPointF(0,90); + << QPointF(0,0) << QPointF(0,100); QTest::newRow("top header & bottom footer: 1/2 up") << "stickyPositioning-both.qml" << Qt::Vertical << Qt::LeftToRight << QQuickListView::TopToBottom @@ -7711,7 +7712,7 @@ void tst_QQuickListView::stickyPositioning_data() QTest::newRow("left header") << "stickyPositioning-header.qml" << Qt::Horizontal << Qt::LeftToRight << QQuickListView::TopToBottom << 0 << QQuickItemView::Beginning << QList<QPointF>() - << QPointF(-10,0) << QPointF(); + << QPointF(0,0) << QPointF(); QTest::newRow("left header: 1/2 left") << "stickyPositioning-header.qml" << Qt::Horizontal << Qt::LeftToRight << QQuickListView::TopToBottom @@ -7738,7 +7739,7 @@ void tst_QQuickListView::stickyPositioning_data() QTest::newRow("left footer") << "stickyPositioning-footer.qml" << Qt::Horizontal << Qt::RightToLeft << QQuickListView::TopToBottom << 19 << QQuickItemView::End << QList<QPointF>() - << QPointF() << QPointF(-10,0); + << QPointF() << QPointF(0,0); QTest::newRow("left footer: 1/2 left") << "stickyPositioning-footer.qml" << Qt::Horizontal << Qt::RightToLeft << QQuickListView::TopToBottom @@ -7765,7 +7766,7 @@ void tst_QQuickListView::stickyPositioning_data() QTest::newRow("right header") << "stickyPositioning-header.qml" << Qt::Horizontal << Qt::RightToLeft << QQuickListView::TopToBottom << 0 << QQuickItemView::Beginning << QList<QPointF>() - << QPointF(100,0) << QPointF(); + << QPointF(90,0) << QPointF(); QTest::newRow("right header: 1/2 right") << "stickyPositioning-header.qml" << Qt::Horizontal << Qt::RightToLeft << QQuickListView::TopToBottom @@ -7792,7 +7793,7 @@ void tst_QQuickListView::stickyPositioning_data() QTest::newRow("right footer") << "stickyPositioning-footer.qml" << Qt::Horizontal << Qt::LeftToRight << QQuickListView::TopToBottom << 19 << QQuickItemView::End << QList<QPointF>() - << QPointF() << QPointF(100,0); + << QPointF() << QPointF(90,0); QTest::newRow("right footer: 1/2 right") << "stickyPositioning-footer.qml" << Qt::Horizontal << Qt::LeftToRight << QQuickListView::TopToBottom @@ -7819,7 +7820,7 @@ void tst_QQuickListView::stickyPositioning_data() QTest::newRow("left header & right footer") << "stickyPositioning-both.qml" << Qt::Horizontal << Qt::LeftToRight << QQuickListView::TopToBottom << 0 << QQuickItemView::Beginning << QList<QPointF>() - << QPointF(-10,0) << QPointF(90,0); + << QPointF(0,0) << QPointF(100,0); QTest::newRow("left header & right footer: 1/2 left") << "stickyPositioning-both.qml" << Qt::Horizontal << Qt::LeftToRight << QQuickListView::TopToBottom @@ -8451,6 +8452,22 @@ void tst_QQuickListView::QTBUG_50105() QVERIFY(QTest::qWaitForWindowExposed(window.data())); } +void tst_QQuickListView::QTBUG_50097_stickyHeader_positionViewAtIndex() +{ + QQuickView *window = createView(); + window->setSource(testFileUrl("qtbug50097.qml")); + window->show(); + QVERIFY(QTest::qWaitForWindowExposed(window)); + + QQuickListView *listview = qobject_cast<QQuickListView*>(window->rootObject()); + QVERIFY(listview != 0); + QTRY_COMPARE(listview->contentY(), -100.0); // the header size, since the header is overlaid + listview->setProperty("currentPage", 2); + QTRY_COMPARE(listview->contentY(), 400.0); // a full page of items down, sans the original negative header position + listview->setProperty("currentPage", 1); + QTRY_COMPARE(listview->contentY(), -100.0); // back to the same position: header visible, items not under the header. +} + QTEST_MAIN(tst_QQuickListView) #include "tst_qquicklistview.moc" |