diff options
author | Andrew den Exter <andrew.den-exter@nokia.com> | 2012-01-18 13:04:21 +1000 |
---|---|---|
committer | Qt by Nokia <qt-info@nokia.com> | 2012-01-25 00:58:12 +0100 |
commit | c0d30db45ca0af9c3010097d8cd8b1ae92cf83ea (patch) | |
tree | c59524151ae121b13fd8995c7dc2016babfa96d4 /tests/auto/widgets/widgets/qdoublevalidator/tst_qdoublevalidator.cpp | |
parent | 4830b790fed26ce6b8f410c7fd068596eb81791a (diff) |
Add a changed() signal to QValidator.
This provides a general notification of changes that may change the
validity of previously validated input.
Change-Id: I5ec6f127af60fdca68605fee903a08758bc01360
Reviewed-by: Jonas Gastal <jgastal@profusion.mobi>
Reviewed-by: Lars Knoll <lars.knoll@nokia.com>
Diffstat (limited to 'tests/auto/widgets/widgets/qdoublevalidator/tst_qdoublevalidator.cpp')
-rw-r--r-- | tests/auto/widgets/widgets/qdoublevalidator/tst_qdoublevalidator.cpp | 27 |
1 files changed, 27 insertions, 0 deletions
diff --git a/tests/auto/widgets/widgets/qdoublevalidator/tst_qdoublevalidator.cpp b/tests/auto/widgets/widgets/qdoublevalidator/tst_qdoublevalidator.cpp index 743955eee3..d503e2e84f 100644 --- a/tests/auto/widgets/widgets/qdoublevalidator/tst_qdoublevalidator.cpp +++ b/tests/auto/widgets/widgets/qdoublevalidator/tst_qdoublevalidator.cpp @@ -247,25 +247,31 @@ void tst_QDoubleValidator::validate() } void tst_QDoubleValidator::notifySignals() { + QLocale::setDefault(QLocale("C")); + QDoubleValidator dv(0.1, 0.9, 10, 0); QSignalSpy topSpy(&dv, SIGNAL(topChanged(double))); QSignalSpy bottomSpy(&dv, SIGNAL(bottomChanged(double))); QSignalSpy decSpy(&dv, SIGNAL(decimalsChanged(int))); + QSignalSpy changedSpy(&dv, SIGNAL(changed())); qRegisterMetaType<QDoubleValidator::Notation>("QDoubleValidator::Notation"); QSignalSpy notSpy(&dv, SIGNAL(notationChanged(QDoubleValidator::Notation))); dv.setTop(0.8); QCOMPARE(topSpy.count(), 1); + QCOMPARE(changedSpy.count(), 1); QVERIFY(dv.top() == 0.8); dv.setBottom(0.2); QCOMPARE(bottomSpy.count(), 1); + QCOMPARE(changedSpy.count(), 2); QVERIFY(dv.bottom() == 0.2); dv.setRange(0.2, 0.7); QCOMPARE(topSpy.count(), 2); QCOMPARE(bottomSpy.count(), 1); QCOMPARE(decSpy.count(), 1); + QCOMPARE(changedSpy.count(), 3); QVERIFY(dv.bottom() == 0.2); QVERIFY(dv.top() == 0.7); QVERIFY(dv.decimals() == 0.); @@ -273,6 +279,7 @@ void tst_QDoubleValidator::notifySignals() dv.setRange(0.3, 0.7); QCOMPARE(topSpy.count(), 2); QCOMPARE(bottomSpy.count(), 2); + QCOMPARE(changedSpy.count(), 4); QVERIFY(dv.bottom() == 0.3); QVERIFY(dv.top() == 0.7); QVERIFY(dv.decimals() == 0.); @@ -280,12 +287,14 @@ void tst_QDoubleValidator::notifySignals() dv.setRange(0.4, 0.6); QCOMPARE(topSpy.count(), 3); QCOMPARE(bottomSpy.count(), 3); + QCOMPARE(changedSpy.count(), 5); QVERIFY(dv.bottom() == 0.4); QVERIFY(dv.top() == 0.6); QVERIFY(dv.decimals() == 0.); dv.setDecimals(10); QCOMPARE(decSpy.count(), 2); + QCOMPARE(changedSpy.count(), 6); QVERIFY(dv.decimals() == 10.); @@ -293,13 +302,31 @@ void tst_QDoubleValidator::notifySignals() QCOMPARE(topSpy.count(), 3); QCOMPARE(bottomSpy.count(), 3); QCOMPARE(decSpy.count(), 3); + QCOMPARE(changedSpy.count(), 7); QVERIFY(dv.bottom() == 0.4); QVERIFY(dv.top() == 0.6); QVERIFY(dv.decimals() == 100.); dv.setNotation(QDoubleValidator::StandardNotation); QCOMPARE(notSpy.count(), 1); + QCOMPARE(changedSpy.count(), 8); QVERIFY(dv.notation() == QDoubleValidator::StandardNotation); + + dv.setRange(dv.bottom(), dv.top(), dv.decimals()); + QCOMPARE(topSpy.count(), 3); + QCOMPARE(bottomSpy.count(), 3); + QCOMPARE(decSpy.count(), 3); + QCOMPARE(changedSpy.count(), 8); + + dv.setNotation(dv.notation()); + QCOMPARE(notSpy.count(), 1); + QCOMPARE(changedSpy.count(), 8); + + dv.setLocale(QLocale("C")); + QCOMPARE(changedSpy.count(), 8); + + dv.setLocale(QLocale("en")); + QCOMPARE(changedSpy.count(), 9); } void tst_QDoubleValidator::validateIntEquiv_data() |