diff options
Diffstat (limited to 'tests/auto/gui/util')
16 files changed, 100 insertions, 51 deletions
diff --git a/tests/auto/gui/util/CMakeLists.txt b/tests/auto/gui/util/CMakeLists.txt index 1884de5535..1efdf85b97 100644 --- a/tests/auto/gui/util/CMakeLists.txt +++ b/tests/auto/gui/util/CMakeLists.txt @@ -1,12 +1,16 @@ # Copyright (C) 2022 The Qt Company Ltd. # SPDX-License-Identifier: BSD-3-Clause -# Generated from util.pro. - -add_subdirectory(qdesktopservices) +if(QT_FEATURE_desktopservices) + add_subdirectory(qdesktopservices) +endif() add_subdirectory(qdoublevalidator) add_subdirectory(qintvalidator) add_subdirectory(qregularexpressionvalidator) add_subdirectory(qtexturefilereader) -add_subdirectory(qundogroup) -add_subdirectory(qundostack) +if(QT_FEATURE_undogroup) + add_subdirectory(qundogroup) +endif() +if(QT_FEATURE_undocommand) + add_subdirectory(qundostack) +endif() diff --git a/tests/auto/gui/util/qdesktopservices/CMakeLists.txt b/tests/auto/gui/util/qdesktopservices/CMakeLists.txt index 02671458a5..64a1aaa930 100644 --- a/tests/auto/gui/util/qdesktopservices/CMakeLists.txt +++ b/tests/auto/gui/util/qdesktopservices/CMakeLists.txt @@ -1,12 +1,16 @@ # Copyright (C) 2022 The Qt Company Ltd. # SPDX-License-Identifier: BSD-3-Clause -# Generated from qdesktopservices.pro. - ##################################################################### ## tst_qdesktopservices Test: ##################################################################### +if(NOT QT_BUILD_STANDALONE_TESTS AND NOT QT_BUILDING_QT) + cmake_minimum_required(VERSION 3.16) + project(tst_qdesktopservices LANGUAGES CXX) + find_package(Qt6BuildInternals REQUIRED COMPONENTS STANDALONE_TEST) +endif() + qt_internal_add_test(tst_qdesktopservices SOURCES tst_qdesktopservices.cpp diff --git a/tests/auto/gui/util/qdesktopservices/tst_qdesktopservices.cpp b/tests/auto/gui/util/qdesktopservices/tst_qdesktopservices.cpp index b338e01684..e75626eda7 100644 --- a/tests/auto/gui/util/qdesktopservices/tst_qdesktopservices.cpp +++ b/tests/auto/gui/util/qdesktopservices/tst_qdesktopservices.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> @@ -42,10 +42,6 @@ public slots: } }; -#if QT_VERSION < QT_VERSION_CHECK(6, 6, 0) -# define CAN_IMPLICITLY_UNSET -#endif - void tst_qdesktopservices::handlers() { MyUrlHandler fooHandler; @@ -53,12 +49,10 @@ void tst_qdesktopservices::handlers() QDesktopServices::setUrlHandler(QString("foo"), &fooHandler, "handle"); QDesktopServices::setUrlHandler(QString("bar"), &barHandler, "handle"); -#ifndef CAN_IMPLICITLY_UNSET const auto unsetHandlers = qScopeGuard([] { QDesktopServices::unsetUrlHandler(u"bar"_s); QDesktopServices::unsetUrlHandler(u"foo"_s); }); -#endif QUrl fooUrl("foo://blub/meh"); QUrl barUrl("bar://hmm/hmmmm"); @@ -68,15 +62,6 @@ void tst_qdesktopservices::handlers() QCOMPARE(fooHandler.lastHandledUrl.toString(), fooUrl.toString()); QCOMPARE(barHandler.lastHandledUrl.toString(), barUrl.toString()); - -#ifdef CAN_IMPLICITLY_UNSET - for (int i = 0; i < 2; ++i) - QTest::ignoreMessage(QtWarningMsg, - "Please call QDesktopServices::unsetUrlHandler() before destroying a " - "registered URL handler object.\n" - "Support for destroying a registered URL handler object is deprecated, " - "and will be removed in Qt 6.6."); -#endif } QTEST_MAIN(tst_qdesktopservices) diff --git a/tests/auto/gui/util/qdoublevalidator/CMakeLists.txt b/tests/auto/gui/util/qdoublevalidator/CMakeLists.txt index ff29ae2cbc..f79fe8b00c 100644 --- a/tests/auto/gui/util/qdoublevalidator/CMakeLists.txt +++ b/tests/auto/gui/util/qdoublevalidator/CMakeLists.txt @@ -1,12 +1,16 @@ # Copyright (C) 2022 The Qt Company Ltd. # SPDX-License-Identifier: BSD-3-Clause -# Generated from qdoublevalidator.pro. - ##################################################################### ## tst_qdoublevalidator Test: ##################################################################### +if(NOT QT_BUILD_STANDALONE_TESTS AND NOT QT_BUILDING_QT) + cmake_minimum_required(VERSION 3.16) + project(tst_qdoublevalidator LANGUAGES CXX) + find_package(Qt6BuildInternals REQUIRED COMPONENTS STANDALONE_TEST) +endif() + qt_internal_add_test(tst_qdoublevalidator SOURCES tst_qdoublevalidator.cpp diff --git a/tests/auto/gui/util/qdoublevalidator/tst_qdoublevalidator.cpp b/tests/auto/gui/util/qdoublevalidator/tst_qdoublevalidator.cpp index 859c198595..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> @@ -417,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") @@ -446,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") @@ -486,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") @@ -502,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") @@ -529,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") @@ -544,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") @@ -560,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. diff --git a/tests/auto/gui/util/qintvalidator/CMakeLists.txt b/tests/auto/gui/util/qintvalidator/CMakeLists.txt index 291eacc6f1..841b83a8e0 100644 --- a/tests/auto/gui/util/qintvalidator/CMakeLists.txt +++ b/tests/auto/gui/util/qintvalidator/CMakeLists.txt @@ -1,12 +1,16 @@ # Copyright (C) 2022 The Qt Company Ltd. # SPDX-License-Identifier: BSD-3-Clause -# Generated from qintvalidator.pro. - ##################################################################### ## tst_qintvalidator Test: ##################################################################### +if(NOT QT_BUILD_STANDALONE_TESTS AND NOT QT_BUILDING_QT) + cmake_minimum_required(VERSION 3.16) + project(tst_qintvalidator LANGUAGES CXX) + find_package(Qt6BuildInternals REQUIRED COMPONENTS STANDALONE_TEST) +endif() + qt_internal_add_test(tst_qintvalidator SOURCES tst_qintvalidator.cpp diff --git a/tests/auto/gui/util/qintvalidator/tst_qintvalidator.cpp b/tests/auto/gui/util/qintvalidator/tst_qintvalidator.cpp index ec4e3930ec..bfa69c90b8 100644 --- a/tests/auto/gui/util/qintvalidator/tst_qintvalidator.cpp +++ b/tests/auto/gui/util/qintvalidator/tst_qintvalidator.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> @@ -165,8 +165,10 @@ void tst_QIntValidator::validateFrench() QIntValidator validator(-2000, 2000, 0); validator.setLocale(QLocale::French); int i; + // Grouping separator is a narrow no-break space; QLocale accepts a space as it. QString s = QLatin1String("1 "); - QCOMPARE(validator.validate(s, i), QValidator::Acceptable); + // Shouldn't end with a group separator + QCOMPARE(validator.validate(s, i), QValidator::Intermediate); validator.fixup(s); QCOMPARE(s, s); @@ -306,9 +308,9 @@ void tst_QIntValidator::fixup_data() // Normally the groups contain three digits, but the leftmost group should // have at least two digits. QTest::newRow("es no digit grouping 1000") << "es" << "1000" << "1000"; - QTest::newRow("es no digit grouping 10000") << "es" << "10000" << "10.000"; - QTest::newRow("es with digit grouping") << "es" << "1000.000" << "1000.000"; - QTest::newRow("es invalid digit grouping") << "es" << "1.000.000" << "1000.000"; + QTest::newRow("es with digit grouping 10000") << "es" << "10000" << "10.000"; + QTest::newRow("es with digit grouping million") << "es" << "1.000.000" << "1.000.000"; + QTest::newRow("es invalid digit grouping") << "es" << "1000.000" << "1.000.000"; } QTEST_APPLESS_MAIN(tst_QIntValidator) diff --git a/tests/auto/gui/util/qregularexpressionvalidator/CMakeLists.txt b/tests/auto/gui/util/qregularexpressionvalidator/CMakeLists.txt index 8f9e7515cd..1d48205537 100644 --- a/tests/auto/gui/util/qregularexpressionvalidator/CMakeLists.txt +++ b/tests/auto/gui/util/qregularexpressionvalidator/CMakeLists.txt @@ -1,12 +1,16 @@ # Copyright (C) 2022 The Qt Company Ltd. # SPDX-License-Identifier: BSD-3-Clause -# Generated from qregularexpressionvalidator.pro. - ##################################################################### ## tst_qregularexpressionvalidator Test: ##################################################################### +if(NOT QT_BUILD_STANDALONE_TESTS AND NOT QT_BUILDING_QT) + cmake_minimum_required(VERSION 3.16) + project(tst_qregularexpressionvalidator LANGUAGES CXX) + find_package(Qt6BuildInternals REQUIRED COMPONENTS STANDALONE_TEST) +endif() + qt_internal_add_test(tst_qregularexpressionvalidator SOURCES tst_qregularexpressionvalidator.cpp diff --git a/tests/auto/gui/util/qregularexpressionvalidator/tst_qregularexpressionvalidator.cpp b/tests/auto/gui/util/qregularexpressionvalidator/tst_qregularexpressionvalidator.cpp index c2ddafa2c6..17f9e6a1bd 100644 --- a/tests/auto/gui/util/qregularexpressionvalidator/tst_qregularexpressionvalidator.cpp +++ b/tests/auto/gui/util/qregularexpressionvalidator/tst_qregularexpressionvalidator.cpp @@ -1,6 +1,6 @@ // Copyright (C) 2012 Klarälvdalens Datakonsult AB, a KDAB Group company, info@kdab.com, author Giuseppe D'Angelo <giuseppe.dangelo@kdab.com> // 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 <QtGui/QRegularExpressionValidator> #include <QTest> diff --git a/tests/auto/gui/util/qtexturefilereader/CMakeLists.txt b/tests/auto/gui/util/qtexturefilereader/CMakeLists.txt index 1765e40e29..70e2c02417 100644 --- a/tests/auto/gui/util/qtexturefilereader/CMakeLists.txt +++ b/tests/auto/gui/util/qtexturefilereader/CMakeLists.txt @@ -1,18 +1,23 @@ # Copyright (C) 2022 The Qt Company Ltd. # SPDX-License-Identifier: BSD-3-Clause -# Generated from qtexturefilereader.pro. - ##################################################################### ## tst_qtexturefilereader Test: ##################################################################### +if(NOT QT_BUILD_STANDALONE_TESTS AND NOT QT_BUILDING_QT) + cmake_minimum_required(VERSION 3.16) + project(tst_qtexturefilereader LANGUAGES CXX) + find_package(Qt6BuildInternals REQUIRED COMPONENTS STANDALONE_TEST) +endif() + # Resources: set(qtexturefilereader_resource_files "texturefiles/car.ktx" "texturefiles/car_mips.ktx" "texturefiles/cubemap_float32_rgba.ktx" "texturefiles/cubemap_metadata.ktx" + "texturefiles/invalid.ktx" "texturefiles/newlogo.astc" "texturefiles/newlogo_srgb.astc" "texturefiles/pattern.pkm" diff --git a/tests/auto/gui/util/qtexturefilereader/texturefiles/invalid.ktx b/tests/auto/gui/util/qtexturefilereader/texturefiles/invalid.ktx Binary files differnew file mode 100644 index 0000000000..68a92221db --- /dev/null +++ b/tests/auto/gui/util/qtexturefilereader/texturefiles/invalid.ktx diff --git a/tests/auto/gui/util/qtexturefilereader/tst_qtexturefilereader.cpp b/tests/auto/gui/util/qtexturefilereader/tst_qtexturefilereader.cpp index 9d7205a921..62760e3844 100644 --- a/tests/auto/gui/util/qtexturefilereader/tst_qtexturefilereader.cpp +++ b/tests/auto/gui/util/qtexturefilereader/tst_qtexturefilereader.cpp @@ -1,5 +1,5 @@ // Copyright (C) 2018 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 <private/qtexturefilereader_p.h> #include <QTest> @@ -11,6 +11,7 @@ class tst_qtexturefilereader : public QObject private slots: void checkHandlers_data(); void checkHandlers(); + void checkInvalid(); void checkMetadata(); }; @@ -140,6 +141,18 @@ void tst_qtexturefilereader::checkMetadata() QCOMPARE(kvs.value("test C"), QByteArrayLiteral("3\x0000")); } +void tst_qtexturefilereader::checkInvalid() +{ + QFile f(":/texturefiles/invalid.ktx"); + QVERIFY(f.open(QIODevice::ReadOnly)); + QTextureFileReader r(&f); + QTextureFileData d = r.read(); + auto kvs = d.keyValueMetadata(); + + // Basically just checking that we don't crash on and invalid file + QVERIFY(kvs.empty()); +} + QTEST_MAIN(tst_qtexturefilereader) #include "tst_qtexturefilereader.moc" diff --git a/tests/auto/gui/util/qundogroup/CMakeLists.txt b/tests/auto/gui/util/qundogroup/CMakeLists.txt index 6bd5fdd2e7..98c2f64f88 100644 --- a/tests/auto/gui/util/qundogroup/CMakeLists.txt +++ b/tests/auto/gui/util/qundogroup/CMakeLists.txt @@ -1,12 +1,16 @@ # Copyright (C) 2022 The Qt Company Ltd. # SPDX-License-Identifier: BSD-3-Clause -# Generated from qundogroup.pro. - ##################################################################### ## tst_qundogroup Test: ##################################################################### +if(NOT QT_BUILD_STANDALONE_TESTS AND NOT QT_BUILDING_QT) + cmake_minimum_required(VERSION 3.16) + project(tst_qundogroup LANGUAGES CXX) + find_package(Qt6BuildInternals REQUIRED COMPONENTS STANDALONE_TEST) +endif() + qt_internal_add_test(tst_qundogroup SOURCES tst_qundogroup.cpp diff --git a/tests/auto/gui/util/qundogroup/tst_qundogroup.cpp b/tests/auto/gui/util/qundogroup/tst_qundogroup.cpp index f554e94a98..36f72b2ca0 100644 --- a/tests/auto/gui/util/qundogroup/tst_qundogroup.cpp +++ b/tests/auto/gui/util/qundogroup/tst_qundogroup.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> #include <QUndoGroup> #include <QUndoStack> diff --git a/tests/auto/gui/util/qundostack/CMakeLists.txt b/tests/auto/gui/util/qundostack/CMakeLists.txt index b735d44651..de36f4a1ad 100644 --- a/tests/auto/gui/util/qundostack/CMakeLists.txt +++ b/tests/auto/gui/util/qundostack/CMakeLists.txt @@ -1,12 +1,16 @@ # Copyright (C) 2022 The Qt Company Ltd. # SPDX-License-Identifier: BSD-3-Clause -# Generated from qundostack.pro. - ##################################################################### ## tst_qundostack Test: ##################################################################### +if(NOT QT_BUILD_STANDALONE_TESTS AND NOT QT_BUILDING_QT) + cmake_minimum_required(VERSION 3.16) + project(tst_qundostack LANGUAGES CXX) + find_package(Qt6BuildInternals REQUIRED COMPONENTS STANDALONE_TEST) +endif() + qt_internal_add_test(tst_qundostack SOURCES tst_qundostack.cpp diff --git a/tests/auto/gui/util/qundostack/tst_qundostack.cpp b/tests/auto/gui/util/qundostack/tst_qundostack.cpp index b47a4ee1a9..3567bc6097 100644 --- a/tests/auto/gui/util/qundostack/tst_qundostack.cpp +++ b/tests/auto/gui/util/qundostack/tst_qundostack.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> |