aboutsummaryrefslogtreecommitdiffstats
path: root/tests/auto/quick/qquickgridview/tst_qquickgridview.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'tests/auto/quick/qquickgridview/tst_qquickgridview.cpp')
-rw-r--r--tests/auto/quick/qquickgridview/tst_qquickgridview.cpp44
1 files changed, 44 insertions, 0 deletions
diff --git a/tests/auto/quick/qquickgridview/tst_qquickgridview.cpp b/tests/auto/quick/qquickgridview/tst_qquickgridview.cpp
index 890174e2a8..863fb69b84 100644
--- a/tests/auto/quick/qquickgridview/tst_qquickgridview.cpp
+++ b/tests/auto/quick/qquickgridview/tst_qquickgridview.cpp
@@ -210,6 +210,7 @@ private slots:
void moved_topToBottom_RtL_BtT_data();
void displayMargin();
+ void negativeDisplayMargin();
private:
QList<int> toIntList(const QVariantList &list);
@@ -6393,6 +6394,49 @@ void tst_QQuickGridView::displayMargin()
delete window;
}
+void tst_QQuickGridView::negativeDisplayMargin()
+{
+ QQuickItem *item;
+ QQuickView *window = createView();
+ window->setSource(testFileUrl("negativeDisplayMargin.qml"));
+ window->show();
+ QVERIFY(QTest::qWaitForWindowExposed(window));
+
+ QQuickItem *listview = window->rootObject();
+ QQuickGridView *gridview = findItem<QQuickGridView>(window->rootObject(), "grid");
+ QVERIFY(gridview != 0);
+
+ QTRY_COMPARE(gridview->property("createdItems").toInt(), 11);
+ QCOMPARE(gridview->property("destroyedItem").toInt(), 0);
+
+ QQuickItem *content = gridview->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);
+ QVERIFY(item = findItem<QQuickItem>(content, "delegate", 4));
+ QTRY_COMPARE(delegateVisible(item), true);
+
+ delete window;
+}
+
QTEST_MAIN(tst_QQuickGridView)
#include "tst_qquickgridview.moc"