diff options
author | Marius Bugge Monsen <mmonsen@trolltech.com> | 2009-06-09 14:40:30 +0200 |
---|---|---|
committer | Marius Bugge Monsen <mmonsen@trolltech.com> | 2009-06-09 14:40:30 +0200 |
commit | 6b3e94db6e01b128c914f71cb48b01988090a233 (patch) | |
tree | 6983ab4b7b1caf7fa3a8501707574bfa24e0ef3c /tests | |
parent | 44e2f85be9f20019363f50bf0d59d70799cc6fcb (diff) |
Add test for QtGraphicsListView::itemGeometry(int).
Diffstat (limited to 'tests')
-rw-r--r-- | tests/qgraphicslistview/tst_qgraphicslistview.cpp | 173 |
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"); |