diff options
author | Jørgen Lind <jorgen.lind@nokia.com> | 2010-11-29 06:39:31 (GMT) |
---|---|---|
committer | Jørgen Lind <jorgen.lind@nokia.com> | 2010-11-29 06:39:31 (GMT) |
commit | 4592fc2e481b42bbbe1f59e575ce3c9b9af9c9e4 (patch) | |
tree | 9adb0250ed390477e37741de97bede2bae148f7e /tests/auto/qdial | |
parent | f7d66442963e1380a4f2db3d24cb24aa9d5c63ad (diff) | |
parent | bf5571b485420a945e9fdf3bf5b31cfe4c4d482b (diff) | |
download | Qt-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.cpp | 64 |
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" |