diff options
author | Marius Bugge Monsen <mmonsen@trolltech.com> | 2009-06-10 14:43:21 +0200 |
---|---|---|
committer | Marius Bugge Monsen <mmonsen@trolltech.com> | 2009-06-10 14:43:21 +0200 |
commit | df1b73b21d1e90e1c37705b44747ee671220bc22 (patch) | |
tree | 0de95deec582076bf5acae3c24ed1daa0b2293e6 /tests | |
parent | 541891f3bc60833e0c7aefa5b1f21b60cabc8495 (diff) |
Make sure QtGraphicsListView::maximumOffset() only returns positive values. Auto-test included.
Diffstat (limited to 'tests')
-rw-r--r-- | tests/qgraphicslistview/tst_qgraphicslistview.cpp | 80 |
1 files changed, 80 insertions, 0 deletions
diff --git a/tests/qgraphicslistview/tst_qgraphicslistview.cpp b/tests/qgraphicslistview/tst_qgraphicslistview.cpp index 4fa76aa..2b0e339 100644 --- a/tests/qgraphicslistview/tst_qgraphicslistview.cpp +++ b/tests/qgraphicslistview/tst_qgraphicslistview.cpp @@ -157,10 +157,90 @@ void tst_QtGraphicsListView::getSetCheck() void tst_QtGraphicsListView::maximumOffset_data() { + QTest::addColumn<int>("count"); + QTest::addColumn<int>("orientation"); + QTest::addColumn<QSizeF>("size"); + QTest::addColumn<qreal>("maximumOffset"); + + QTest::newRow("no items, vertical, all visible") + << 0 + << int(Qt::Vertical) + << QSizeF(100, 100) + << 0.; + + QTest::newRow("one item, vertical, all visible") + << 5 + << int(Qt::Vertical) + << QSizeF(100, 100) + << 0.; + + QTest::newRow("five items, vertical, all visible") + << 5 + << int(Qt::Vertical) + << QSizeF(100, 100) + << 0.; + + QTest::newRow("six items, vertical") + << 6 + << int(Qt::Vertical) + << QSizeF(100, 100) + << 20.; + + QTest::newRow("ten items, vertical") + << 10 + << int(Qt::Vertical) + << QSizeF(100, 100) + << 100.; + + QTest::newRow("no items, horizontal, all visible") + << 0 + << int(Qt::Horizontal) + << QSizeF(100, 100) + << 0.; + + QTest::newRow("one item, horizontal, all visible") + << 5 + << int(Qt::Horizontal) + << QSizeF(100, 100) + << 0.; + + QTest::newRow("five items, horizontal, all visible") + << 5 + << int(Qt::Horizontal) + << QSizeF(100, 100) + << 0.; + + QTest::newRow("six items, horizontal") + << 6 + << int(Qt::Horizontal) + << QSizeF(100, 100) + << 20.; + + QTest::newRow("ten items, horizontal") + << 10 + << int(Qt::Horizontal) + << QSizeF(100, 100) + << 100.; } void tst_QtGraphicsListView::maximumOffset() { + QFETCH(int, count); + QFETCH(int, orientation); + QFETCH(QSizeF, size); + QFETCH(qreal, maximumOffset); + + 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), size)); + view->setItemCreator(new QtGraphicsListViewItemCreator<GraphicsListViewItem>()); + view->setModel(&model); + view->doLayout(); + + QCOMPARE(view->maximumOffset(), maximumOffset); } void tst_QtGraphicsListView::maximumFirstIndex_data() |