diff options
Diffstat (limited to 'tests/auto/gui/util/qdoublevalidator/tst_qdoublevalidator.cpp')
-rw-r--r-- | tests/auto/gui/util/qdoublevalidator/tst_qdoublevalidator.cpp | 120 |
1 files changed, 56 insertions, 64 deletions
diff --git a/tests/auto/gui/util/qdoublevalidator/tst_qdoublevalidator.cpp b/tests/auto/gui/util/qdoublevalidator/tst_qdoublevalidator.cpp index 77d52682f6..b44975ea0b 100644 --- a/tests/auto/gui/util/qdoublevalidator/tst_qdoublevalidator.cpp +++ b/tests/auto/gui/util/qdoublevalidator/tst_qdoublevalidator.cpp @@ -1,30 +1,5 @@ -/**************************************************************************** -** -** Copyright (C) 2016 The Qt Company Ltd. -** Contact: https://www.qt.io/licensing/ -** -** This file is part of the test suite of the Qt Toolkit. -** -** $QT_BEGIN_LICENSE:GPL-EXCEPT$ -** Commercial License Usage -** Licensees holding valid commercial Qt licenses may use this file in -** accordance with the commercial license agreement provided with the -** Software or, alternatively, in accordance with the terms contained in -** a written agreement between you and The Qt Company. For licensing terms -** and conditions see https://www.qt.io/terms-conditions. For further -** information use the contact form at https://www.qt.io/contact-us. -** -** GNU General Public License Usage -** Alternatively, this file may be used under the terms of the GNU -** General Public License version 3 as published by the Free Software -** Foundation with exceptions as appearing in the file LICENSE.GPL3-EXCEPT -** included in the packaging of this file. Please review the following -** information to ensure the GNU General Public License requirements will -** be met: https://www.gnu.org/licenses/gpl-3.0.html. -** -** $QT_END_LICENSE$ -** -****************************************************************************/ +// Copyright (C) 2016 The Qt Company Ltd. +// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR GPL-3.0-only #include <QTest> @@ -168,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; @@ -335,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() @@ -441,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") @@ -470,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") @@ -510,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") @@ -526,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") @@ -553,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") @@ -568,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") @@ -584,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. @@ -666,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") |