diff options
author | Martin Jones <martin.jones@nokia.com> | 2009-11-13 06:26:04 (GMT) |
---|---|---|
committer | Martin Jones <martin.jones@nokia.com> | 2009-11-13 06:26:04 (GMT) |
commit | 23adda4a1f3137a62a5b18147fc266113860d75e (patch) | |
tree | 05d8df0522c16d688f3dca9d3995741e96fde702 | |
parent | 32e6359b8f7604cdec4fb9b4687147df390a91f5 (diff) | |
download | Qt-23adda4a1f3137a62a5b18147fc266113860d75e.zip Qt-23adda4a1f3137a62a5b18147fc266113860d75e.tar.gz Qt-23adda4a1f3137a62a5b18147fc266113860d75e.tar.bz2 |
ListView tests
-rw-r--r-- | tests/auto/declarative/qmlgraphicslistview/data/listview.qml | 1 | ||||
-rw-r--r-- | tests/auto/declarative/qmlgraphicslistview/tst_qmlgraphicslistview.cpp | 59 |
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>(); |