aboutsummaryrefslogtreecommitdiff
path: root/tests
diff options
context:
space:
mode:
authorJarno Malmari <ext-jarno.malmari@nokia.com>2010-11-08 16:20:10 +0200
committerDaniel d'Andrada <daniel.dandrada@nokia.com>2010-11-30 10:46:25 +0200
commit6710688891029516bf302f44538cd70fe3bb04c7 (patch)
treec9ca86e0fa36a2a5e1b5aa922f3e277860023884 /tests
parent701c531d8d9fddf045214dec94bd15dbc4b7aac8 (diff)
Changes: Extended range unit test for MPannableViewport
RevBy: Michal Guminiak
Diffstat (limited to 'tests')
-rw-r--r--tests/ut_mpannableviewport/ut_mpannableviewport.cpp56
-rw-r--r--tests/ut_mpannableviewport/ut_mpannableviewport.h2
2 files changed, 56 insertions, 2 deletions
diff --git a/tests/ut_mpannableviewport/ut_mpannableviewport.cpp b/tests/ut_mpannableviewport/ut_mpannableviewport.cpp
index 8e19f1fa..3d2add92 100644
--- a/tests/ut_mpannableviewport/ut_mpannableviewport.cpp
+++ b/tests/ut_mpannableviewport/ut_mpannableviewport.cpp
@@ -306,10 +306,62 @@ void Ut_MPannableViewport::testRangeSetting()
subject->setRange(QRectF(0,0,100,100));
QCOMPARE(subject->range(), QRectF(0,0,100,100));
+}
+
+void Ut_MPannableViewport::testExtendedRange_data()
+{
+ QTest::addColumn<qreal>("autoScrollHeightExtension");
+ QTest::addColumn<qreal>("sipHeightExtension");
+ QTest::addColumn<qreal>("verticalRange");
+ QTest::addColumn<qreal>("expectedVerticalRange");
+
+ QTest::newRow("Zero range") << 0.0 << 0.0 << 0.0 << 0.0;
+ QTest::newRow("autoscroll extension") << 1.0 << 0.0 << 0.0 << 1.0;
+ QTest::newRow("sip extension") << 0.0 << 1.0 << 0.0 << 1.0;
+ QTest::newRow("autoscroll & sip #1") << 1.0 << 1.0 << 0.0 << 1.0;
+ QTest::newRow("autoscroll & sip #2") << 5.0 << 1.0 << 0.0 << 5.0;
+ QTest::newRow("autoscroll & sip #3") << 1.0 << 5.0 << 0.0 << 5.0;
+ QTest::newRow("autoscroll & sip #4") << 1.0 << 5.0 << 2.0 << 7.0;
+}
+
+void Ut_MPannableViewport::testExtendedRange()
+{
+ QFETCH(qreal, autoScrollHeightExtension);
+ QFETCH(qreal, sipHeightExtension);
+ QFETCH(qreal, verticalRange);
+ QFETCH(qreal, expectedVerticalRange);
+
+ QGraphicsScene scene;
+ scene.addItem(subject);
+
+ const QSizeF viewportSize(100, 100);
+ subject->resize(viewportSize);
+ subject->setMinimumSize(viewportSize);
+ subject->setMaximumSize(viewportSize);
+ subject->setAutoRange(false);
+
+ QGraphicsWidget *widget = new QGraphicsWidget();
+ widget->setMinimumSize(1000,1000);
+ subject->setWidget(widget);
+
+ subject->adjustSize();
+
+ subject->setRange(QRectF(QPointF(), QSizeF(0, verticalRange)));
+
+ // Set autoscrolling extension
+ subject->d_func()->setAutoScrollingExtension(autoScrollHeightExtension);
+
+ // Set area occupied by input method area.
+ const QRect imArea(subject->geometry().adjusted(0, (viewportSize.height() - sipHeightExtension),
+ 0, 0).toRect());
+ subject->d_func()->setInputMethodArea(imArea);
+
+ const qreal actualVerticalRange = subject->range().height();
- subject->d_func()->setInputMethodArea(QRect(0,50,100,100));
- QCOMPARE(subject->range(), QRectF(0,0,100,200));
+ // Remove from scene before possible return/fail from QCOMPARE.
+ scene.removeItem(subject);
+ QCOMPARE(actualVerticalRange, expectedVerticalRange);
}
QTEST_APPLESS_MAIN(Ut_MPannableViewport)
diff --git a/tests/ut_mpannableviewport/ut_mpannableviewport.h b/tests/ut_mpannableviewport/ut_mpannableviewport.h
index 57159a24..0f9c8ac5 100644
--- a/tests/ut_mpannableviewport/ut_mpannableviewport.h
+++ b/tests/ut_mpannableviewport/ut_mpannableviewport.h
@@ -54,6 +54,8 @@ private slots:
void testSetClipping();
void testRangeSetting();
+ void testExtendedRange_data();
+ void testExtendedRange();
private:
MPannableViewport *subject;