aboutsummaryrefslogtreecommitdiffstats
path: root/tests/auto/quick/qquicklistview/tst_qquicklistview.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'tests/auto/quick/qquicklistview/tst_qquicklistview.cpp')
-rw-r--r--tests/auto/quick/qquicklistview/tst_qquicklistview.cpp44
1 files changed, 44 insertions, 0 deletions
diff --git a/tests/auto/quick/qquicklistview/tst_qquicklistview.cpp b/tests/auto/quick/qquicklistview/tst_qquicklistview.cpp
index 5cc3c7e642..2093265163 100644
--- a/tests/auto/quick/qquicklistview/tst_qquicklistview.cpp
+++ b/tests/auto/quick/qquicklistview/tst_qquicklistview.cpp
@@ -218,6 +218,7 @@ private slots:
void typedModel();
void displayMargin();
+ void negativeDisplayMargin();
void highlightItemGeometryChanges();
@@ -7150,6 +7151,49 @@ void tst_QQuickListView::displayMargin()
delete window;
}
+void tst_QQuickListView::negativeDisplayMargin()
+{
+ QQuickItem *item;
+ QQuickView *window = createView();
+ window->setSource(testFileUrl("negativeDisplayMargin.qml"));
+ window->show();
+ QVERIFY(QTest::qWaitForWindowExposed(window));
+
+ QQuickItem *listview = window->rootObject();
+ QQuickListView *innerList = findItem<QQuickListView>(window->rootObject(), "innerList");
+ QVERIFY(innerList != 0);
+
+ QTRY_COMPARE(innerList->property("createdItems").toInt(), 11);
+ QCOMPARE(innerList->property("destroyedItem").toInt(), 0);
+
+ QQuickItem *content = innerList->contentItem();
+ QVERIFY(content != 0);
+
+ QVERIFY(item = findItem<QQuickItem>(content, "delegate", 0));
+ QCOMPARE(delegateVisible(item), true);
+
+ QVERIFY(item = findItem<QQuickItem>(content, "delegate", 7));
+ QCOMPARE(delegateVisible(item), true);
+
+ QVERIFY(item = findItem<QQuickItem>(content, "delegate", 8));
+ QCOMPARE(delegateVisible(item), false);
+
+ // Flick until contentY means that delegate8 should be visible
+ listview->setProperty("contentY", 500);
+ QVERIFY(item = findItem<QQuickItem>(content, "delegate", 8));
+ QTRY_COMPARE(delegateVisible(item), true);
+
+ listview->setProperty("contentY", 1000);
+ QTRY_VERIFY(item = findItem<QQuickItem>(content, "delegate", 14));
+ QTRY_COMPARE(delegateVisible(item), true);
+
+ listview->setProperty("contentY", 0);
+ QTRY_VERIFY(item = findItem<QQuickItem>(content, "delegate", 4));
+ QTRY_COMPARE(delegateVisible(item), true);
+
+ delete window;
+}
+
void tst_QQuickListView::highlightItemGeometryChanges()
{
QScopedPointer<QQuickView> window(createView());