aboutsummaryrefslogtreecommitdiffstats
path: root/tests
diff options
context:
space:
mode:
Diffstat (limited to 'tests')
-rw-r--r--tests/auto/quick/qquicklistview/tst_qquicklistview.cpp42
1 files changed, 34 insertions, 8 deletions
diff --git a/tests/auto/quick/qquicklistview/tst_qquicklistview.cpp b/tests/auto/quick/qquicklistview/tst_qquicklistview.cpp
index 92a441a643..f051e5baca 100644
--- a/tests/auto/quick/qquicklistview/tst_qquicklistview.cpp
+++ b/tests/auto/quick/qquicklistview/tst_qquicklistview.cpp
@@ -144,6 +144,7 @@ private slots:
void sectionsDelegate();
void sectionsDragOutsideBounds_data();
void sectionsDragOutsideBounds();
+ void sectionsDelegate_headerVisibility();
void sectionPropertyChange();
void cacheBuffer();
void positionViewAtIndex();
@@ -2026,8 +2027,6 @@ void tst_QQuickListView::sections(const QUrl &source)
void tst_QQuickListView::sectionsDelegate()
{
- QSKIP("QTBUG-24395");
-
QQuickView *canvas = createView();
QmlListModel model;
@@ -2065,12 +2064,6 @@ void tst_QQuickListView::sectionsDelegate()
QTRY_COMPARE(item->y(), qreal(i*20*6));
}
- // ensure section header is maintained in view
- listview->setCurrentIndex(20);
- QTRY_VERIFY(listview->contentY() >= 200.0);
- listview->setCurrentIndex(0);
- QTRY_COMPARE(listview->contentY(), 0.0);
-
// change section
model.modifyItem(0, "One", "aaa");
model.modifyItem(1, "Two", "aaa");
@@ -2187,6 +2180,39 @@ void tst_QQuickListView::sectionsDragOutsideBounds()
releaseView(canvas);
}
+void tst_QQuickListView::sectionsDelegate_headerVisibility()
+{
+ QSKIP("QTBUG-24395");
+
+ QQuickView *canvas = createView();
+
+ QmlListModel model;
+ for (int i = 0; i < 30; i++)
+ model.addItem("Item" + QString::number(i), QString::number(i/5));
+
+ canvas->rootContext()->setContextProperty("testModel", &model);
+ canvas->setSource(testFileUrl("listview-sections_delegate.qml"));
+ canvas->show();
+ qApp->processEvents();
+
+ QQuickListView *listview = findItem<QQuickListView>(canvas->rootObject(), "list");
+ QTRY_VERIFY(listview != 0);
+
+ QQuickItem *contentItem = listview->contentItem();
+ QTRY_VERIFY(contentItem != 0);
+ QTRY_COMPARE(QQuickItemPrivate::get(listview)->polishScheduled, false);
+
+ // ensure section header is maintained in view
+ listview->setCurrentIndex(20);
+ QTRY_COMPARE(QQuickItemPrivate::get(listview)->polishScheduled, false);
+ QTRY_COMPARE(listview->contentY(), 200.0);
+ QTRY_VERIFY(listview->isMoving() == false);
+ listview->setCurrentIndex(0);
+ QTRY_COMPARE(listview->contentY(), 0.0);
+
+ delete canvas;
+}
+
void tst_QQuickListView::sectionsPositioning()
{
QQuickView *canvas = createView();