aboutsummaryrefslogtreecommitdiffstats
path: root/tests/auto/declarative/qsglistview/tst_qsglistview.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'tests/auto/declarative/qsglistview/tst_qsglistview.cpp')
-rw-r--r--tests/auto/declarative/qsglistview/tst_qsglistview.cpp34
1 files changed, 34 insertions, 0 deletions
diff --git a/tests/auto/declarative/qsglistview/tst_qsglistview.cpp b/tests/auto/declarative/qsglistview/tst_qsglistview.cpp
index 1b5a8b2a4c..fc1b7551ed 100644
--- a/tests/auto/declarative/qsglistview/tst_qsglistview.cpp
+++ b/tests/auto/declarative/qsglistview/tst_qsglistview.cpp
@@ -125,6 +125,7 @@ private slots:
void footer_data();
void headerFooter();
void resizeView();
+ void resizeViewAndRepaint();
void sizeLessThan1();
void QTBUG_14821();
void resizeDelegate();
@@ -3257,6 +3258,39 @@ void tst_QSGListView::resizeView()
delete testObject;
}
+void tst_QSGListView::resizeViewAndRepaint()
+{
+ QSGView *canvas = createView();
+ canvas->show();
+
+ TestModel model;
+ for (int i = 0; i < 40; i++)
+ model.addItem("Item" + QString::number(i), "");
+
+ QDeclarativeContext *ctxt = canvas->rootContext();
+ ctxt->setContextProperty("testModel", &model);
+ ctxt->setContextProperty("initialHeight", 100);
+
+ canvas->setSource(QUrl::fromLocalFile(TESTDATA("resizeview.qml")));
+ qApp->processEvents();
+
+ QSGListView *listview = findItem<QSGListView>(canvas->rootObject(), "list");
+ QTRY_VERIFY(listview != 0);
+ QSGItem *contentItem = listview->contentItem();
+ QTRY_VERIFY(contentItem != 0);
+
+ // item at index 10 should not be currently visible
+ QVERIFY(!findItem<QSGItem>(contentItem, "wrapper", 10));
+
+ listview->setHeight(320);
+ QTRY_VERIFY(findItem<QSGItem>(contentItem, "wrapper", 10));
+
+ listview->setHeight(100);
+ QTRY_VERIFY(!findItem<QSGItem>(contentItem, "wrapper", 10));
+
+ delete canvas;
+}
+
void tst_QSGListView::sizeLessThan1()
{
QSGView *canvas = createView();