summaryrefslogtreecommitdiffstats
path: root/tests/auto/qdoublespinbox/tst_qdoublespinbox.cpp
diff options
context:
space:
mode:
authorGabriel de Dietrich <gabriel.dietrich-de@nokia.com>2010-01-12 14:09:42 (GMT)
committerGabriel de Dietrich <gabriel.dietrich-de@nokia.com>2010-01-12 14:40:41 (GMT)
commit12e320a7a3a5ca93dd5287315571db1d1728e322 (patch)
tree37e46eba29bf7e0524900a457cb342724245c133 /tests/auto/qdoublespinbox/tst_qdoublespinbox.cpp
parent4c85bf275c9d472a17cc9210aebf6eb880be740a (diff)
downloadQt-12e320a7a3a5ca93dd5287315571db1d1728e322.zip
Qt-12e320a7a3a5ca93dd5287315571db1d1728e322.tar.gz
Qt-12e320a7a3a5ca93dd5287315571db1d1728e322.tar.bz2
Significant digits were lost in QDoubleSpinBox range when changing precision
When setting the range, the actual value precision was lost because the min and max were saved after being formatted to the current precison (decimals property), thus losing information. We now keep the user original values, and use these whenever the decimals property is changed. Auto-test included. Reviewed-by: leo Task-number: QTBUG-6496
Diffstat (limited to 'tests/auto/qdoublespinbox/tst_qdoublespinbox.cpp')
-rw-r--r--tests/auto/qdoublespinbox/tst_qdoublespinbox.cpp13
1 files changed, 13 insertions, 0 deletions
diff --git a/tests/auto/qdoublespinbox/tst_qdoublespinbox.cpp b/tests/auto/qdoublespinbox/tst_qdoublespinbox.cpp
index a3f0915..35cffd6 100644
--- a/tests/auto/qdoublespinbox/tst_qdoublespinbox.cpp
+++ b/tests/auto/qdoublespinbox/tst_qdoublespinbox.cpp
@@ -149,6 +149,7 @@ private slots:
void taskQTBUG_5008_textFromValueAndValidate();
void taskQTBUG_6670_selectAllWithPrefix();
+ void taskQTBUG_6496_fiddlingWithPrecision();
public slots:
void valueChangedHelper(const QString &);
@@ -1096,5 +1097,17 @@ void tst_QDoubleSpinBox::taskQTBUG_6670_selectAllWithPrefix()
QCOMPARE(spin.value(), 12.);
}
+void tst_QDoubleSpinBox::taskQTBUG_6496_fiddlingWithPrecision()
+{
+ QDoubleSpinBox dsb;
+ dsb.setRange(0, 0.991);
+ dsb.setDecimals(1);
+ QCOMPARE(dsb.maximum(), 1.0);
+ dsb.setDecimals(2);
+ QCOMPARE(dsb.maximum(), 0.99);
+ dsb.setDecimals(3);
+ QCOMPARE(dsb.maximum(), 0.991);
+}
+
QTEST_MAIN(tst_QDoubleSpinBox)
#include "tst_qdoublespinbox.moc"