diff options
Diffstat (limited to 'tests/auto/gui/util/qdoublevalidator/tst_qdoublevalidator.cpp')
-rw-r--r-- | tests/auto/gui/util/qdoublevalidator/tst_qdoublevalidator.cpp | 93 |
1 files changed, 55 insertions, 38 deletions
diff --git a/tests/auto/gui/util/qdoublevalidator/tst_qdoublevalidator.cpp b/tests/auto/gui/util/qdoublevalidator/tst_qdoublevalidator.cpp index 7818e83f09..b44975ea0b 100644 --- a/tests/auto/gui/util/qdoublevalidator/tst_qdoublevalidator.cpp +++ b/tests/auto/gui/util/qdoublevalidator/tst_qdoublevalidator.cpp @@ -1,5 +1,5 @@ // Copyright (C) 2016 The Qt Company Ltd. -// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR GPL-3.0-only WITH Qt-GPL-exception-1.0 +// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR GPL-3.0-only #include <QTest> @@ -143,6 +143,7 @@ void tst_QDoubleValidator::validate_data() QTest::newRow("data56") << "C" << 1229.0 << 1231.0 << -1 << QString("123E+") << ITM << INV; QTest::newRow("data57") << "C" << 1229.0 << 1231.0 << -1 << QString("123E+1") << ACC << INV; QTest::newRow("data58") << "C" << 0.0 << 100.0 << -1 << QString("0.0") << ACC << ACC; + QTest::newRow("overlong") << "C" << 0.0 << 99.9 << 2 << QString("1234.0") << ITM << INV; QTest::newRow("data_de0") << "de" << 0.0 << 100.0 << 1 << QString("50,0") << ACC << ACC; QTest::newRow("data_de1") << "de" << 00.0 << 100.0 << 1 << QString("500,0") << ITM << ITM; @@ -310,74 +311,74 @@ void tst_QDoubleValidator::notifySignals() QCOMPARE(dv.decimals(), 10); dv.setTop(0.8); - QCOMPARE(topSpy.count(), 1); - QCOMPARE(changedSpy.count(), 1); + QCOMPARE(topSpy.size(), 1); + QCOMPARE(changedSpy.size(), 1); QCOMPARE(dv.top(), 0.8); dv.setBottom(0.2); - QCOMPARE(bottomSpy.count(), 1); - QCOMPARE(changedSpy.count(), 2); + QCOMPARE(bottomSpy.size(), 1); + QCOMPARE(changedSpy.size(), 2); QCOMPARE(dv.bottom(), 0.2); dv.setRange(0.2, 0.7); - QCOMPARE(topSpy.count(), 2); - QCOMPARE(bottomSpy.count(), 1); - QCOMPARE(decSpy.count(), 0); - QCOMPARE(changedSpy.count(), 3); + QCOMPARE(topSpy.size(), 2); + QCOMPARE(bottomSpy.size(), 1); + QCOMPARE(decSpy.size(), 0); + QCOMPARE(changedSpy.size(), 3); QCOMPARE(dv.bottom(), 0.2); QCOMPARE(dv.top(), 0.7); QCOMPARE(dv.decimals(), 10); dv.setRange(0.3, 0.7); - QCOMPARE(topSpy.count(), 2); - QCOMPARE(bottomSpy.count(), 2); - QCOMPARE(changedSpy.count(), 4); + QCOMPARE(topSpy.size(), 2); + QCOMPARE(bottomSpy.size(), 2); + QCOMPARE(changedSpy.size(), 4); QCOMPARE(dv.bottom(), 0.3); QCOMPARE(dv.top(), 0.7); QCOMPARE(dv.decimals(), 10); dv.setRange(0.4, 0.6); - QCOMPARE(topSpy.count(), 3); - QCOMPARE(bottomSpy.count(), 3); - QCOMPARE(changedSpy.count(), 5); + QCOMPARE(topSpy.size(), 3); + QCOMPARE(bottomSpy.size(), 3); + QCOMPARE(changedSpy.size(), 5); QCOMPARE(dv.bottom(), 0.4); QCOMPARE(dv.top(), 0.6); QCOMPARE(dv.decimals(), 10); dv.setDecimals(5); - QCOMPARE(decSpy.count(), 1); - QCOMPARE(changedSpy.count(), 6); + QCOMPARE(decSpy.size(), 1); + QCOMPARE(changedSpy.size(), 6); QCOMPARE(dv.decimals(), 5); dv.setRange(0.4, 0.6, 100); - QCOMPARE(topSpy.count(), 3); - QCOMPARE(bottomSpy.count(), 3); - QCOMPARE(decSpy.count(), 2); - QCOMPARE(changedSpy.count(), 7); + QCOMPARE(topSpy.size(), 3); + QCOMPARE(bottomSpy.size(), 3); + QCOMPARE(decSpy.size(), 2); + QCOMPARE(changedSpy.size(), 7); QCOMPARE(dv.bottom(), 0.4); QCOMPARE(dv.top(), 0.6); QCOMPARE(dv.decimals(), 100); dv.setNotation(QDoubleValidator::StandardNotation); - QCOMPARE(notSpy.count(), 1); - QCOMPARE(changedSpy.count(), 8); + QCOMPARE(notSpy.size(), 1); + QCOMPARE(changedSpy.size(), 8); QCOMPARE(dv.notation(), QDoubleValidator::StandardNotation); dv.setRange(dv.bottom(), dv.top(), dv.decimals()); - QCOMPARE(topSpy.count(), 3); - QCOMPARE(bottomSpy.count(), 3); - QCOMPARE(decSpy.count(), 2); - QCOMPARE(changedSpy.count(), 8); + QCOMPARE(topSpy.size(), 3); + QCOMPARE(bottomSpy.size(), 3); + QCOMPARE(decSpy.size(), 2); + QCOMPARE(changedSpy.size(), 8); dv.setNotation(dv.notation()); - QCOMPARE(notSpy.count(), 1); - QCOMPARE(changedSpy.count(), 8); + QCOMPARE(notSpy.size(), 1); + QCOMPARE(changedSpy.size(), 8); dv.setLocale(QLocale("C")); - QCOMPARE(changedSpy.count(), 8); + QCOMPARE(changedSpy.size(), 8); dv.setLocale(QLocale("en")); - QCOMPARE(changedSpy.count(), 9); + QCOMPARE(changedSpy.size(), 9); } void tst_QDoubleValidator::fixup() @@ -416,7 +417,7 @@ void tst_QDoubleValidator::fixup_data() QTest::newRow("C standard with invalid digit grouping") << "C" << QDoubleValidator::StandardNotation << -1 << "1,234,5.678" << "12345.678"; - QTest::newRow("C standard with invalid number of decimals") + QTest::newRow("C standard with invalid group size") << "C" << QDoubleValidator::StandardNotation << 2 << "-12,34.678" << "-1234.68"; QTest::newRow("C standard truncate decimals") @@ -445,7 +446,7 @@ void tst_QDoubleValidator::fixup_data() QTest::newRow("C scientific with invalid digit grouping") << "C" << QDoubleValidator::ScientificNotation << -1 << "12,34.98765e2" << "1.23498765e+05"; - QTest::newRow("C scientific with invalid number of decimals") + QTest::newRow("C scientific with invalid group size") << "C" << QDoubleValidator::ScientificNotation << 2 << "-12,34.98765e2" << "-1.23e+05"; QTest::newRow("C scientific truncate decimals") @@ -485,7 +486,7 @@ void tst_QDoubleValidator::fixup_data() QTest::newRow("en standard with invalid digit grouping") << "en" << QDoubleValidator::StandardNotation << -1 << "-1,234,5.678" << "-12,345.678"; - QTest::newRow("en standard with invalid number of decimals") + QTest::newRow("en standard with invalid group size") << "en" << QDoubleValidator::StandardNotation << 2 << "12,34.678" << "1,234.68"; QTest::newRow("en standard no fractional part") @@ -501,7 +502,7 @@ void tst_QDoubleValidator::fixup_data() QTest::newRow("en scientific with invalid digit grouping") << "en" << QDoubleValidator::ScientificNotation << -1 << "-12,34.98765e2" << "-1.23498765E+05"; - QTest::newRow("en scientific with invalid number of decimals") + QTest::newRow("en scientific with invalid group size") << "en" << QDoubleValidator::ScientificNotation << 2 << "12,34.98765e2" << "1.23E+05"; QTest::newRow("en scientific no fractional part") @@ -528,7 +529,7 @@ void tst_QDoubleValidator::fixup_data() QTest::newRow("de standard with invalid digit grouping") << "de" << QDoubleValidator::StandardNotation << -1 << "1.234.5,678" << "12.345,678"; - QTest::newRow("de standard with invalid number of decimals") + QTest::newRow("de standard with invalid group size") << "de" << QDoubleValidator::StandardNotation << 2 << "-12.34,678" << "-1.234,68"; QTest::newRow("de standard no fractional part") @@ -543,7 +544,7 @@ void tst_QDoubleValidator::fixup_data() QTest::newRow("de scientific with invalid digit grouping") << "de" << QDoubleValidator::ScientificNotation << -1 << "12.34,98765e2" << "1,23498765E+05"; - QTest::newRow("de scientific with invalid number of decimals") + QTest::newRow("de scientific with invalid group size") << "de" << QDoubleValidator::ScientificNotation << 2 << "-12.34,98765e2" << "-1,23E+05"; QTest::newRow("de scientific no fractional part") @@ -559,6 +560,22 @@ void tst_QDoubleValidator::fixup_data() << "de" << QDoubleValidator::ScientificNotation << -1 << "-12.34" << "-1,234E+03"; + // es locale uses ',' as decimal point and '.' as grouping separator. + // It doesn't apply grouping unless the the next-to-least significant group + // has more than one digit in it. + QTest::newRow("es standard no digit grouping") + << "es" << QDoubleValidator::StandardNotation << -1 << "1234,567" << "1234,567"; + QTest::newRow("es standard with digit grouping") + << "es" << QDoubleValidator::StandardNotation << -1 << "-12.345,678" << "-12.345,678"; + QTest::newRow("es standard with invalid group size") + << "es" << QDoubleValidator::StandardNotation << -1 << "1.234.5,678" << "12.345,678"; + QTest::newRow("es standard with invalid digit grouping") + << "es" << QDoubleValidator::StandardNotation << 2 << "-1.234,678" << "-1234,68"; + QTest::newRow("es standard big with invalid digit grouping") + << "es" << QDoubleValidator::StandardNotation << 2 << "-1234.678,9" << "-1.234.678,9"; + QTest::newRow("es standard no fractional part") + << "es" << QDoubleValidator::StandardNotation << -1 << "12.34" << "1234"; + // hi locale uses '.' as decimal point and ',' as grouping separator. // The rightmost group is of three digits, all the others contain two // digits. @@ -641,7 +658,7 @@ void tst_QDoubleValidator::setRangeOverloads_data() QTest::newRow("scientific, 1 digits after point") << QDoubleValidator::ScientificNotation << -1 << -100.0 << 100.0 << 0 << QString("1.2e1") << ACC << INV; - QTest::newRow("scientific, 3 digits after point, not in range") + QTest::newRow("scientific, 3 digits after point, demand fewer") << QDoubleValidator::ScientificNotation << 3 << -100.0 << 100.0 << 1 << QString("10.234e-1") << ACC << INV; QTest::newRow("scientific, 3 digits after point, not in range") |