summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMarius Bugge Monsen <mmonsen@trolltech.com>2009-06-09 14:40:30 +0200
committerMarius Bugge Monsen <mmonsen@trolltech.com>2009-06-09 14:40:30 +0200
commit6b3e94db6e01b128c914f71cb48b01988090a233 (patch)
tree6983ab4b7b1caf7fa3a8501707574bfa24e0ef3c
parent44e2f85be9f20019363f50bf0d59d70799cc6fcb (diff)
Add test for QtGraphicsListView::itemGeometry(int).
-rw-r--r--tests/qgraphicslistview/tst_qgraphicslistview.cpp173
1 files changed, 173 insertions, 0 deletions
diff --git a/tests/qgraphicslistview/tst_qgraphicslistview.cpp b/tests/qgraphicslistview/tst_qgraphicslistview.cpp
index 878f958..dfd4e23 100644
--- a/tests/qgraphicslistview/tst_qgraphicslistview.cpp
+++ b/tests/qgraphicslistview/tst_qgraphicslistview.cpp
@@ -62,6 +62,8 @@ private slots:
void getSetCheck();
void maximumFirstIndex_data();
void maximumFirstIndex();
+ void itemGeometry_data();
+ void itemGeometry();
void itemAt_data();
void itemAt();
void layout_data();
@@ -248,6 +250,177 @@ void tst_QtGraphicsListView::maximumFirstIndex()
QCOMPARE(view->maximumFirstIndex(), maximumFirstIndex);
}
+void tst_QtGraphicsListView::itemGeometry_data()
+{
+ QTest::addColumn<int>("count");
+ QTest::addColumn<int>("orientation");
+ QTest::addColumn<QSizeF>("viewSize");
+ QTest::addColumn<int>("firstIndex");
+ QTest::addColumn<qreal>("horizontalOffset");
+ QTest::addColumn<qreal>("verticalOffset");
+ QTest::addColumn<QList<QRectF> >("geometries");
+
+ QTest::newRow("no items, vertical")
+ << 0
+ << int(Qt::Vertical)
+ << QSizeF(100, 100)
+ << 0
+ << 0. << 0.
+ << QList<QRectF>();
+
+ QTest::newRow("one item, vertical, all visible")
+ << 1
+ << int(Qt::Vertical)
+ << QSizeF(100, 100)
+ << 0
+ << 0. << 0.
+ << (QList<QRectF>()
+ << QRectF(0, 0, 20, 20));
+
+ QTest::newRow("five items, vertical, all visible")
+ << 5
+ << int(Qt::Vertical)
+ << QSizeF(100, 100)
+ << 0
+ << 0. << 0.
+ << (QList<QRectF>()
+ << QRectF(0, 0, 20, 20)
+ << QRectF(0, 20, 20, 20)
+ << QRectF(0, 40, 20, 20)
+ << QRectF(0, 60, 20, 20)
+ << QRectF(0, 80, 20, 20));
+
+ QTest::newRow("ten items, vertical, first index five")
+ << 10
+ << int(Qt::Vertical)
+ << QSizeF(100, 100)
+ << 5
+ << 0. << 0.
+ << (QList<QRectF>()
+ << QRectF()
+ << QRectF()
+ << QRectF()
+ << QRectF()
+ << QRectF()
+ << QRectF(0, 0, 20, 20)
+ << QRectF(0, 20, 20, 20)
+ << QRectF(0, 40, 20, 20)
+ << QRectF(0, 60, 20, 20)
+ << QRectF(0, 80, 20, 20));
+
+ QTest::newRow("ten items, vertical, vertical offset")
+ << 10
+ << int(Qt::Vertical)
+ << QSizeF(100, 100)
+ << 0
+ << 0. << 100.
+ << (QList<QRectF>()
+ << QRectF(0, -100, 20, 20)
+ << QRectF(0, -80, 20, 20)
+ << QRectF(0, -60, 20, 20)
+ << QRectF(0, -40, 20, 20)
+ << QRectF(0, -20, 20, 20)
+ << QRectF(0, 0, 20, 20)
+ << QRectF(0, 20, 20, 20)
+ << QRectF(0, 40, 20, 20)
+ << QRectF(0, 60, 20, 20)
+ << QRectF(0, 80, 20, 20));
+
+ QTest::newRow("no items, horizontal")
+ << 0
+ << int(Qt::Horizontal)
+ << QSizeF(100, 100)
+ << 0
+ << 0. << 0.
+ << (QList<QRectF>());
+
+ QTest::newRow("one item, horizontal, all visible")
+ << 1
+ << int(Qt::Horizontal)
+ << QSizeF(100, 100)
+ << 0
+ << 0. << 0.
+ << (QList<QRectF>()
+ << QRectF(0, 0, 20, 20));
+
+ QTest::newRow("five items, horizontal, all visible")
+ << 5
+ << int(Qt::Horizontal)
+ << QSizeF(100, 100)
+ << 0
+ << 0. << 0.
+ << (QList<QRectF>()
+ << QRectF(0, 0, 20, 20)
+ << QRectF(20, 0, 20, 20)
+ << QRectF(40, 0, 20, 20)
+ << QRectF(60, 0, 20, 20)
+ << QRectF(80, 0, 20, 20));
+
+ QTest::newRow("ten items, horizontal, first index five")
+ << 10
+ << int(Qt::Horizontal)
+ << QSizeF(100, 100)
+ << 5
+ << 0. << 0.
+ << (QList<QRectF>()
+ << QRectF()
+ << QRectF()
+ << QRectF()
+ << QRectF()
+ << QRectF()
+ << QRectF(0, 0, 20, 20)
+ << QRectF(20, 0, 20, 20)
+ << QRectF(40, 0, 20, 20)
+ << QRectF(60, 0, 20, 20)
+ << QRectF(80, 0, 20, 20));
+
+ QTest::newRow("ten items, horizontal, horizontal offset")
+ << 10
+ << int(Qt::Horizontal)
+ << QSizeF(100, 100)
+ << 0
+ << 100. << 0.
+ << (QList<QRectF>()
+ << QRectF(-100, 0, 20, 20)
+ << QRectF(-80, 0, 20, 20)
+ << QRectF(-60, 0, 20, 20)
+ << QRectF(-40, 0, 20, 20)
+ << QRectF(-20, 0, 20, 20)
+ << QRectF(0, 0, 20, 20)
+ << QRectF(20, 0, 20, 20)
+ << QRectF(40, 0, 20, 20)
+ << QRectF(60, 0, 20, 20)
+ << QRectF(80, 0, 20, 20));
+
+}
+
+void tst_QtGraphicsListView::itemGeometry()
+{
+ QFETCH(int, count);
+ QFETCH(int, orientation);
+ QFETCH(QSizeF, viewSize);
+ QFETCH(int, firstIndex);
+ QFETCH(qreal, horizontalOffset);
+ QFETCH(qreal, verticalOffset);
+ QFETCH(QList<QRectF>, geometries);
+
+ QtListDefaultModel model;
+ for (int i = 0; i < count; ++i)
+ model.insertItem(i, new QtListDefaultItem());
+
+ view->setOrientation(static_cast<Qt::Orientation>(orientation));
+ view->setGeometry(QRectF(QPointF(0, 0), viewSize));
+ view->setItemCreator(new QtGraphicsListViewItemCreator<GraphicsListViewItem>());
+ view->setModel(&model);
+ view->setFirstIndex(firstIndex);
+ view->setHorizontalOffset(horizontalOffset);
+ view->setVerticalOffset(verticalOffset);
+ view->doLayout();
+
+ for (int index = 0; index < geometries.count(); ++index)
+ QCOMPARE(geometries.at(index), view->itemGeometry(index));
+}
+
void tst_QtGraphicsListView::itemAt_data()
{
QTest::addColumn<int>("count");