summaryrefslogtreecommitdiffstats
path: root/tests/auto/qdial
diff options
context:
space:
mode:
authorJørgen Lind <jorgen.lind@nokia.com>2010-11-29 06:39:31 (GMT)
committerJørgen Lind <jorgen.lind@nokia.com>2010-11-29 06:39:31 (GMT)
commit4592fc2e481b42bbbe1f59e575ce3c9b9af9c9e4 (patch)
tree9adb0250ed390477e37741de97bede2bae148f7e /tests/auto/qdial
parentf7d66442963e1380a4f2db3d24cb24aa9d5c63ad (diff)
parentbf5571b485420a945e9fdf3bf5b31cfe4c4d482b (diff)
downloadQt-4592fc2e481b42bbbe1f59e575ce3c9b9af9c9e4.zip
Qt-4592fc2e481b42bbbe1f59e575ce3c9b9af9c9e4.tar.gz
Qt-4592fc2e481b42bbbe1f59e575ce3c9b9af9c9e4.tar.bz2
Merge remote branch 'origin/master' into lighthouse-master
Diffstat (limited to 'tests/auto/qdial')
-rw-r--r--tests/auto/qdial/tst_qdial.cpp64
1 files changed, 64 insertions, 0 deletions
diff --git a/tests/auto/qdial/tst_qdial.cpp b/tests/auto/qdial/tst_qdial.cpp
index 2428eae..92c2964 100644
--- a/tests/auto/qdial/tst_qdial.cpp
+++ b/tests/auto/qdial/tst_qdial.cpp
@@ -54,6 +54,7 @@ private slots:
void getSetCheck();
void valueChanged();
void sliderMoved();
+ void wrappingCheck();
};
// Testing get/set functions
@@ -143,5 +144,68 @@ void tst_QDial::sliderMoved()
}
+void tst_QDial::wrappingCheck()
+{
+ //This tests if dial will wrap past the maximum value back to the minimum
+ //and vice versa when changing the value with a keypress
+ QDial dial;
+ dial.setMinimum(0);
+ dial.setMaximum(100);
+ dial.setSingleStep(1);
+ dial.setWrapping(true);
+ dial.setValue(99);
+ dial.show();
+
+ { //set value to maximum but do not wrap
+ QTest::keyPress(&dial, Qt::Key_Up);
+ QCOMPARE( dial.value(), 100);
+ }
+
+ { //step up once more and wrap clockwise to minimum + 1
+ QTest::keyPress(&dial, Qt::Key_Up);
+ QCOMPARE( dial.value(), 1);
+ }
+
+ { //step down once, and wrap anti-clockwise to minimum, then again to maximum - 1
+ QTest::keyPress(&dial, Qt::Key_Down);
+ QCOMPARE( dial.value(), 0);
+
+ QTest::keyPress(&dial, Qt::Key_Down);
+ QCOMPARE( dial.value(), 99);
+ }
+
+ { //when wrapping property is false no wrapping will occur
+ dial.setWrapping(false);
+ dial.setValue(100);
+
+ QTest::keyPress(&dial, Qt::Key_Up);
+ QCOMPARE( dial.value(), 100);
+
+ dial.setValue(0);
+ QTest::keyPress(&dial, Qt::Key_Down);
+ QCOMPARE( dial.value(), 0);
+ }
+
+ { //When the step is really big or small, wrapping should still behave
+ dial.setWrapping(true);
+ dial.setValue(dial.minimum());
+ dial.setSingleStep(305);
+
+ QTest::keyPress(&dial, Qt::Key_Up);
+ QCOMPARE( dial.value(), 5);
+
+ dial.setValue(dial.minimum());
+ QTest::keyPress(&dial, Qt::Key_Down);
+ QCOMPARE( dial.value(), 95);
+
+ dial.setMinimum(-30);
+ dial.setMaximum(-4);
+ dial.setSingleStep(200);
+ dial.setValue(dial.minimum());
+ QTest::keyPress(&dial, Qt::Key_Down);
+ QCOMPARE( dial.value(), -22);
+ }
+}
+
QTEST_MAIN(tst_QDial)
#include "tst_qdial.moc"