diff options
author | Jarno Malmari <ext-jarno.malmari@nokia.com> | 2010-11-08 16:20:10 +0200 |
---|---|---|
committer | Daniel d'Andrada <daniel.dandrada@nokia.com> | 2010-11-30 10:46:25 +0200 |
commit | 6710688891029516bf302f44538cd70fe3bb04c7 (patch) | |
tree | c9ca86e0fa36a2a5e1b5aa922f3e277860023884 /tests | |
parent | 701c531d8d9fddf045214dec94bd15dbc4b7aac8 (diff) |
Changes: Extended range unit test for MPannableViewport
RevBy: Michal Guminiak
Diffstat (limited to 'tests')
-rw-r--r-- | tests/ut_mpannableviewport/ut_mpannableviewport.cpp | 56 | ||||
-rw-r--r-- | tests/ut_mpannableviewport/ut_mpannableviewport.h | 2 |
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; |