summaryrefslogtreecommitdiffstats
path: root/tests/auto/declarative
diff options
context:
space:
mode:
Diffstat (limited to 'tests/auto/declarative')
-rw-r--r--tests/auto/declarative/qmlgraphicslistview/data/listview.qml1
-rw-r--r--tests/auto/declarative/qmlgraphicslistview/tst_qmlgraphicslistview.cpp59
2 files changed, 60 insertions, 0 deletions
diff --git a/tests/auto/declarative/qmlgraphicslistview/data/listview.qml b/tests/auto/declarative/qmlgraphicslistview/data/listview.qml
index 280173b..ccefeba 100644
--- a/tests/auto/declarative/qmlgraphicslistview/data/listview.qml
+++ b/tests/auto/declarative/qmlgraphicslistview/data/listview.qml
@@ -81,5 +81,6 @@ Rectangle {
model: testModel
delegate: testAnimate ? myDelegate : animatedDelegate
highlightMoveSpeed: 1000
+ highlightResizeSpeed: 1000
}
}
diff --git a/tests/auto/declarative/qmlgraphicslistview/tst_qmlgraphicslistview.cpp b/tests/auto/declarative/qmlgraphicslistview/tst_qmlgraphicslistview.cpp
index 83b8d79..25e6996 100644
--- a/tests/auto/declarative/qmlgraphicslistview/tst_qmlgraphicslistview.cpp
+++ b/tests/auto/declarative/qmlgraphicslistview/tst_qmlgraphicslistview.cpp
@@ -75,6 +75,7 @@ private slots:
void enforceRange();
void spacing();
void sections();
+ void cacheBuffer();
private:
template <class T> void items();
@@ -275,6 +276,9 @@ void tst_QmlGraphicsListView::items()
int itemCount = findItems<QmlGraphicsItem>(viewport, "wrapper").count();
QVERIFY(itemCount == 0);
+ QCOMPARE(listview->highlightResizeSpeed(), 1000.0);
+ QCOMPARE(listview->highlightMoveSpeed(), 1000.0);
+
delete canvas;
}
@@ -727,6 +731,8 @@ void tst_QmlGraphicsListView::sections()
QmlGraphicsItem *viewport = listview->viewport();
QVERIFY(viewport != 0);
+ QCOMPARE(listview->sectionExpression(), QLatin1String("Math.floor(number/5)"));
+
// Confirm items positioned correctly
int itemCount = findItems<QmlGraphicsItem>(viewport, "wrapper").count();
for (int i = 0; i < model.count() && i < itemCount; ++i) {
@@ -770,6 +776,13 @@ void tst_QmlGraphicsListView::sections()
listview->setViewportY(140);
QVERIFY(listview->currentSection() == "1");
+ listview->setViewportY(20);
+ QVERIFY(listview->currentSection() == "0");
+
+ item = findItem<QmlGraphicsItem>(viewport, "wrapper", 1);
+ QVERIFY(item);
+ QCOMPARE(item->height(), 20.0);
+
delete canvas;
}
@@ -903,6 +916,52 @@ void tst_QmlGraphicsListView::itemList()
delete canvas;
}
+void tst_QmlGraphicsListView::cacheBuffer()
+{
+ QmlView *canvas = createView(SRCDIR "/data/listview.qml");
+
+ TestModel model;
+ for (int i = 0; i < 30; i++)
+ model.addItem("Item" + QString::number(i), "");
+
+ QmlContext *ctxt = canvas->rootContext();
+ ctxt->setContextProperty("testModel", &model);
+ ctxt->setContextProperty("testAnimate", QVariant(false));
+
+ canvas->execute();
+ qApp->processEvents();
+
+ QmlGraphicsListView *listview = findItem<QmlGraphicsListView>(canvas->root(), "list");
+ QVERIFY(listview != 0);
+
+ QmlGraphicsItem *viewport = listview->viewport();
+ QVERIFY(viewport != 0);
+
+ // Confirm items positioned correctly
+ int itemCount = findItems<QmlGraphicsItem>(viewport, "wrapper").count();
+ for (int i = 0; i < model.count() && i < itemCount; ++i) {
+ QmlGraphicsItem *item = findItem<QmlGraphicsItem>(viewport, "wrapper", i);
+ if (!item) qWarning() << "Item" << i << "not found";
+ QVERIFY(item);
+ QVERIFY(item->y() == i*20);
+ }
+
+ listview->setCacheBuffer(400);
+
+ int newItemCount = findItems<QmlGraphicsItem>(viewport, "wrapper").count();
+ QVERIFY(newItemCount > itemCount);
+
+ // Confirm items positioned correctly
+ for (int i = 0; i < model.count() && i < newItemCount; ++i) {
+ QmlGraphicsItem *item = findItem<QmlGraphicsItem>(viewport, "wrapper", i);
+ if (!item) qWarning() << "Item" << i << "not found";
+ QVERIFY(item);
+ QVERIFY(item->y() == i*20);
+ }
+
+ delete canvas;
+}
+
void tst_QmlGraphicsListView::qListModelInterface_items()
{
items<TestModel>();