diff options
Diffstat (limited to 'tests')
123 files changed, 1014 insertions, 116 deletions
diff --git a/tests/auto/cmake/CMakeLists.txt b/tests/auto/cmake/CMakeLists.txt index 4d5ab1c2a7..a36bd5afc8 100644 --- a/tests/auto/cmake/CMakeLists.txt +++ b/tests/auto/cmake/CMakeLists.txt @@ -147,6 +147,8 @@ if(TARGET Qt::Qml) BUILD_OPTIONS -Drun=case_resources ${test_duplicate_files_extra_args} ) + + _qt_internal_test_expect_pass(test_separate_qml_and_resources) endif() if(TARGET Qt::Quick) diff --git a/tests/auto/cmake/test_separate_qml_and_resources/CMakeLists.txt b/tests/auto/cmake/test_separate_qml_and_resources/CMakeLists.txt new file mode 100644 index 0000000000..2c7a4f2dca --- /dev/null +++ b/tests/auto/cmake/test_separate_qml_and_resources/CMakeLists.txt @@ -0,0 +1,27 @@ +cmake_minimum_required(VERSION 3.16) +project(test_separate_qml_and_resources LANGUAGES CXX) + +find_package(Qt6 REQUIRED COMPONENTS Core Gui Qml Test) +qt_standard_project_setup(REQUIRES 6.10) + +qt_add_qml_module(MyQmlModule + STATIC + URI org.qt-project.test_separate_qml_and_resources + VERSION 1.0 +) + +qt_target_qml_sources(MyQmlModule + QML_FILES + Main.qml +) + +qt_target_qml_sources(MyQmlModule + RESOURCES + file.txt +) + +add_executable(app + main.cpp +) + +target_link_libraries(app PRIVATE MyQmlModule MyQmlModuleplugin) diff --git a/tests/auto/cmake/test_separate_qml_and_resources/Main.qml b/tests/auto/cmake/test_separate_qml_and_resources/Main.qml new file mode 100644 index 0000000000..c3bb793936 --- /dev/null +++ b/tests/auto/cmake/test_separate_qml_and_resources/Main.qml @@ -0,0 +1,7 @@ +// Copyright (C) 2025 The Qt Company Ltd. +// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR GPL-3.0-only + +import QtQuick + +Item { +} diff --git a/tests/auto/cmake/test_separate_qml_and_resources/file.txt b/tests/auto/cmake/test_separate_qml_and_resources/file.txt new file mode 100644 index 0000000000..e69de29bb2 --- /dev/null +++ b/tests/auto/cmake/test_separate_qml_and_resources/file.txt diff --git a/tests/auto/cmake/test_separate_qml_and_resources/main.cpp b/tests/auto/cmake/test_separate_qml_and_resources/main.cpp new file mode 100644 index 0000000000..ae0c99bb7d --- /dev/null +++ b/tests/auto/cmake/test_separate_qml_and_resources/main.cpp @@ -0,0 +1,4 @@ +// Copyright (C) 2025 The Qt Company Ltd. +// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR GPL-3.0-only + +int main() {} diff --git a/tests/auto/core/qqmlsettings/CMakeLists.txt b/tests/auto/core/qqmlsettings/CMakeLists.txt index 2a61b758dd..d1b76d8ea9 100644 --- a/tests/auto/core/qqmlsettings/CMakeLists.txt +++ b/tests/auto/core/qqmlsettings/CMakeLists.txt @@ -3,7 +3,7 @@ if (NOT QT_BUILD_STANDALONE_TESTS AND NOT QT_BUILDING_QT) cmake_minimum_required(VERSION 3.16) - project(tst_qqmlsettings LANGUAGES C CXX ASM) + project(tst_qqmlsettings LANGUAGES C CXX) find_package(Qt6BuildInternals REQUIRED COMPONENTS STANDALONE_TEST) endif() diff --git a/tests/auto/core/qqmlstandardpaths/CMakeLists.txt b/tests/auto/core/qqmlstandardpaths/CMakeLists.txt index 38aef62d82..12c0e28880 100644 --- a/tests/auto/core/qqmlstandardpaths/CMakeLists.txt +++ b/tests/auto/core/qqmlstandardpaths/CMakeLists.txt @@ -3,7 +3,7 @@ if (NOT QT_BUILD_STANDALONE_TESTS AND NOT QT_BUILDING_QT) cmake_minimum_required(VERSION 3.16) - project(tst_qqmlstandardpaths LANGUAGES C CXX ASM) + project(tst_qqmlstandardpaths LANGUAGES C CXX) find_package(Qt6BuildInternals REQUIRED COMPONENTS STANDALONE_TEST) endif() diff --git a/tests/auto/core/qqmlsysteminformation/CMakeLists.txt b/tests/auto/core/qqmlsysteminformation/CMakeLists.txt index 9d6e0d342b..5c2c72dec7 100644 --- a/tests/auto/core/qqmlsysteminformation/CMakeLists.txt +++ b/tests/auto/core/qqmlsysteminformation/CMakeLists.txt @@ -3,7 +3,7 @@ if (NOT QT_BUILD_STANDALONE_TESTS AND NOT QT_BUILDING_QT) cmake_minimum_required(VERSION 3.16) - project(tst_qqmlsysteminformation LANGUAGES C CXX ASM) + project(tst_qqmlsysteminformation LANGUAGES C CXX) find_package(Qt6BuildInternals REQUIRED COMPONENTS STANDALONE_TEST) endif() diff --git a/tests/auto/qml/CMakeLists.txt b/tests/auto/qml/CMakeLists.txt index 1fb448d4ad..9d9790a64d 100644 --- a/tests/auto/qml/CMakeLists.txt +++ b/tests/auto/qml/CMakeLists.txt @@ -130,6 +130,7 @@ if(QT_FEATURE_private_tests) add_subdirectory(qqmlbinding) add_subdirectory(qqmlchangeset) add_subdirectory(qqmlconnections) + add_subdirectory(qqmlsynchronizer) add_subdirectory(qqmllistcompositor) add_subdirectory(qqmllistmodel) add_subdirectory(qqmllistmodelworkerscript) diff --git a/tests/auto/qml/qjsengine/tst_qjsengine.cpp b/tests/auto/qml/qjsengine/tst_qjsengine.cpp index 87f623943a..006484b2b5 100644 --- a/tests/auto/qml/qjsengine/tst_qjsengine.cpp +++ b/tests/auto/qml/qjsengine/tst_qjsengine.cpp @@ -956,7 +956,7 @@ void tst_QJSEngine::newQObjectRace() void run() override { int newObjectCount = 1000; -#if defined(Q_OS_QNX) +#if defined(Q_OS_QNX) || defined(Q_OS_VXWORKS) newObjectCount = 128; #endif for (int i=0;i<newObjectCount;++i) diff --git a/tests/auto/qml/qmlcppcodegen/data/CMakeLists.txt b/tests/auto/qml/qmlcppcodegen/data/CMakeLists.txt index f09a3af62f..bd00605eb2 100644 --- a/tests/auto/qml/qmlcppcodegen/data/CMakeLists.txt +++ b/tests/auto/qml/qmlcppcodegen/data/CMakeLists.txt @@ -56,6 +56,7 @@ set(qml_files Cycle2.qml Cycle3.qml CppMethodListReturnType.qml + DeduplicateConversionOrigins.qml Dummy.qml Dummy2.qml EditConstraint.qml diff --git a/tests/auto/qml/qmlcppcodegen/data/DeduplicateConversionOrigins.qml b/tests/auto/qml/qmlcppcodegen/data/DeduplicateConversionOrigins.qml new file mode 100644 index 0000000000..ba1ddb156b --- /dev/null +++ b/tests/auto/qml/qmlcppcodegen/data/DeduplicateConversionOrigins.qml @@ -0,0 +1,9 @@ +import QtQml + +QtObject { + function yep() { + try { } + catch (e) { replace(/()/, ""); } + for (let i = 0; i < 1; ++i) { } + } +} diff --git a/tests/auto/qml/qmlcppcodegen/tst_qmlcppcodegen.cpp b/tests/auto/qml/qmlcppcodegen/tst_qmlcppcodegen.cpp index 81c68057ee..6f2a8f4b51 100644 --- a/tests/auto/qml/qmlcppcodegen/tst_qmlcppcodegen.cpp +++ b/tests/auto/qml/qmlcppcodegen/tst_qmlcppcodegen.cpp @@ -93,6 +93,7 @@ private slots: void dateConstruction(); void dateConversions(); void deadShoeSize(); + void deduplicateConversionOrigins(); void destroyAndToString(); void detachOnAssignment(); void dialogButtonBox(); @@ -1618,6 +1619,15 @@ void tst_QmlCppCodegen::deadShoeSize() QCOMPARE(o->property("shoeSize").toInt(), 0); } +void tst_QmlCppCodegen::deduplicateConversionOrigins() +{ + QQmlEngine engine; + QQmlComponent c(&engine, QUrl(u"qrc:/qt/qml/TestTypes/DeduplicateConversionOrigins.qml"_s)); + QVERIFY2(c.isReady(), qPrintable(c.errorString())); + QScopedPointer<QObject> o(c.create()); + QVERIFY(o); +} + void tst_QmlCppCodegen::destroyAndToString() { QQmlEngine engine; diff --git a/tests/auto/qml/qmltc/QmltcTests/CMakeLists.txt b/tests/auto/qml/qmltc/QmltcTests/CMakeLists.txt index 3eab68a7e7..3bb8133e9b 100644 --- a/tests/auto/qml/qmltc/QmltcTests/CMakeLists.txt +++ b/tests/auto/qml/qmltc/QmltcTests/CMakeLists.txt @@ -33,9 +33,7 @@ set(qml_sources simpleQtQuickTypes.qml typeWithEnums.qml methods.qml - properties.qml ObjectWithId.qml - documentWithIds.qml importNamespace.qml gradients.qml qjsvalueAssignments.qml @@ -161,6 +159,13 @@ set(common_libraries Qt::Gui # QColor, QMatrix4x4, ... ) +if(QT_FEATURE_quick_tableview) + list(APPEND qml_sources properties.qml) + if(QT_FEATURE_quick_gridview) + list(APPEND qml_sources documentWithIds.qml) + endif() +endif() + if (QT_FEATURE_qml_table_model) list(APPEND qml_sources QmlTableModel.qml) list(APPEND common_libraries Qt::LabsQmlModelsPrivate) diff --git a/tests/auto/qml/qmltc/tst_qmltc.cpp b/tests/auto/qml/qmltc/tst_qmltc.cpp index 73ef03eaaf..d2fcab4658 100644 --- a/tests/auto/qml/qmltc/tst_qmltc.cpp +++ b/tests/auto/qml/qmltc/tst_qmltc.cpp @@ -9,9 +9,13 @@ #include "simpleqtquicktypes.h" #include "typewithenums.h" #include "methods.h" +#if QT_CONFIG(quick_tableview) #include "properties.h" +#endif #include "objectwithid.h" +#if QT_CONFIG(quick_gridview) #include "documentwithids.h" +#endif #include "importnamespace.h" #include "deferredproperties.h" #include "deferredproperties_group.h" @@ -87,7 +91,9 @@ #include "mysignals.h" #include "namespacedtypes.h" #include "type.h" +#if QT_CONFIG(qml_table_model) #include "qmltablemodel.h" +#endif #include "stringtourl.h" #include "signalconnections.h" #include "requiredproperties.h" @@ -334,6 +340,7 @@ void tst_qmltc::methods() QCOMPARE(metaTypedMethod.parameterNames(), QList<QByteArray>({ "a", "b" })); } +#if QT_CONFIG(quick_tableview) void tst_qmltc::properties() { QQmlEngine e; @@ -478,7 +485,9 @@ void tst_qmltc::properties() QVERIFY(sentinelForComponent); QCOMPARE(sentinelForComponent->property("text").toString(), u"should be correctly created"_s); } +#endif // QT_CONFIG(quick_tableview) +#if QT_CONFIG(quick_tableview) && QT_CONFIG(quick_gridview) void tst_qmltc::ids() { { @@ -575,6 +584,7 @@ void tst_qmltc::ids() verifyComponent(afterChild, QString(), u"afterDelegateDefaultPropertyText"_s); } } +#endif // QT_CONFIG(quick_tableview) && QT_CONFIG(quick_gridview) void tst_qmltc::importNamespace() { diff --git a/tests/auto/qml/qmltc/tst_qmltc.h b/tests/auto/qml/qmltc/tst_qmltc.h index 99abb60dc5..17a464bdb2 100644 --- a/tests/auto/qml/qmltc/tst_qmltc.h +++ b/tests/auto/qml/qmltc/tst_qmltc.h @@ -3,6 +3,7 @@ #include <qtest.h> #include <private/qtqmlmodelsglobal_p.h> +#include <private/qtquick-config_p.h> // For feature definitions using namespace Qt::StringLiterals; @@ -27,8 +28,12 @@ private slots: void qtQuickIncludes(); void enumerations(); void methods(); +#if QT_CONFIG(quick_tableview) void properties(); +#if QT_CONFIG(quick_gridview) void ids(); +#endif +#endif void importNamespace(); void deferredProperties(); void gradients(); // QTBUG-102560 diff --git a/tests/auto/qml/qqmlcomponent/tst_qqmlcomponent.cpp b/tests/auto/qml/qqmlcomponent/tst_qqmlcomponent.cpp index f6869ab300..d14e0b76a4 100644 --- a/tests/auto/qml/qqmlcomponent/tst_qqmlcomponent.cpp +++ b/tests/auto/qml/qqmlcomponent/tst_qqmlcomponent.cpp @@ -1563,11 +1563,53 @@ struct SingleRequiredProperty : QObject int i = 42; }; + +struct SingleRequiredPropertyDynamic : QObject +{ + Q_OBJECT + Q_PROPERTY(int i MEMBER i REQUIRED) + + int i = 42; + + class QObjectDynamicMetaObject : public QDynamicMetaObjectData + { + public: + #if QT_VERSION >= QT_VERSION_CHECK(7, 0, 0) + const QMetaObject *toDynamicMetaObject(QObject *) const final + { + return &SingleRequiredPropertyDynamic::staticMetaObject; + } + #else + QMetaObject *toDynamicMetaObject(QObject *) final + { + return const_cast<QMetaObject *>(&SingleRequiredPropertyDynamic::staticMetaObject); + } + #endif + int metaCall(QObject *o, QMetaObject::Call c, int id, void **argv) final + { + return o->qt_metacall(c, id, argv); + } + }; + +public: + SingleRequiredPropertyDynamic() { + auto priv = QObjectPrivate::get(this); + priv->metaObject = new QObjectDynamicMetaObject; + } + + ~SingleRequiredPropertyDynamic() { + auto priv = QObjectPrivate::get(this); + delete priv->metaObject; + priv->metaObject = nullptr ; + } +}; + void tst_qqmlcomponent::loadFromModuleRequired() { QQmlEngine engine; qmlRegisterType<SingleRequiredProperty>("qqmlcomponenttest", 1, 0, "SingleRequiredProperty"); + qmlRegisterType<SingleRequiredPropertyDynamic>("qqmlcomponenttest", 1, 0, "SingleRequiredPropertyDynamic"); const QString error = QStringLiteral("Required property i was not initialized"); { QQmlComponent component(&engine, "qqmlcomponenttest", "SingleRequiredProperty"); @@ -1591,6 +1633,13 @@ void tst_qqmlcomponent::loadFromModuleRequired() QVERIFY(component.isError()); QCOMPARE(component.errorString(), qPrintable(":-1 " + error + "\n")); } + { + QQmlComponent component(&engine, "qqmlcomponenttest", "SingleRequiredPropertyDynamic"); + QVERIFY2(!component.isError(), qPrintable(component.errorString())); + QScopedPointer<QObject> root(component.create()); + QEXPECT_FAIL("", "Can't check required properties when there's a dynamic metaobject", Continue); + QVERIFY(!root); + } } void tst_qqmlcomponent::loadUrlRequired() diff --git a/tests/auto/qml/qqmllanguage/data/aliasToLargeRevision.qml b/tests/auto/qml/qqmllanguage/data/aliasToLargeRevision.qml new file mode 100644 index 0000000000..fb74095384 --- /dev/null +++ b/tests/auto/qml/qqmllanguage/data/aliasToLargeRevision.qml @@ -0,0 +1,9 @@ +import Test 1.0 + +LargeRevision { + id: self + property alias aa: self.a + property alias bb: self.b + property alias cc: self.c + property alias dd: self.d +} diff --git a/tests/auto/qml/qqmllanguage/testtypes.cpp b/tests/auto/qml/qqmllanguage/testtypes.cpp index 19477d14a3..bdeee87ba7 100644 --- a/tests/auto/qml/qqmllanguage/testtypes.cpp +++ b/tests/auto/qml/qqmllanguage/testtypes.cpp @@ -199,6 +199,9 @@ void registerTypes() qmlRegisterSingletonType<ReadCounter>("Test", 1, 0, "ReadCounterSingleton", readCounterSingleton); qmlRegisterTypesAndRevisions<BindablePoint>("Test", 1); + + qmlRegisterTypesAndRevisions<LargeRevisionBase>("Test", 1); + qmlRegisterTypesAndRevisions<LargeRevision>("Test", 1); } QVariant myCustomVariantTypeConverter(const QString &data) diff --git a/tests/auto/qml/qqmllanguage/testtypes.h b/tests/auto/qml/qqmllanguage/testtypes.h index ea7dcd539c..52c8d94c4d 100644 --- a/tests/auto/qml/qqmllanguage/testtypes.h +++ b/tests/auto/qml/qqmllanguage/testtypes.h @@ -3276,4 +3276,30 @@ private: QProperty<QPointF> m_point; }; +class LargeRevisionBase : public QObject +{ + Q_OBJECT + QML_ELEMENT + Q_PROPERTY(int c MEMBER m_c CONSTANT) + Q_PROPERTY(int d MEMBER m_d CONSTANT) +public: + int m_c = 11; + int m_d = 12; +}; + +class LargeRevision : public LargeRevisionBase +{ + Q_OBJECT + QML_ELEMENT + Q_PROPERTY(int a MEMBER m_a CONSTANT REVISION(1, 12)) + Q_PROPERTY(int b MEMBER m_b CONSTANT REVISION(12, 12)) + Q_PROPERTY(int c MEMBER m_c CONSTANT REVISION(1, 12)) + Q_PROPERTY(int d MEMBER m_d CONSTANT REVISION(12, 12)) +public: + int m_a = 13; + int m_b = 14; + int m_c = 15; + int m_d = 16; +}; + #endif // TESTTYPES_H diff --git a/tests/auto/qml/qqmllanguage/tst_qqmllanguage.cpp b/tests/auto/qml/qqmllanguage/tst_qqmllanguage.cpp index f460dc3cad..d95f25df98 100644 --- a/tests/auto/qml/qqmllanguage/tst_qqmllanguage.cpp +++ b/tests/auto/qml/qqmllanguage/tst_qqmllanguage.cpp @@ -517,6 +517,8 @@ private slots: void argumentsUsageInBindings_data(); void argumentsUsageInBindings(); + void aliasToLargeRevision(); + private: QQmlEngine engine; QStringList defaultImportPathList; @@ -9767,6 +9769,21 @@ void tst_qqmllanguage::argumentsUsageInBindings() { QCOMPARE(object->property("result").toString(), object->property("expected").toString()); } +void tst_qqmllanguage::aliasToLargeRevision() +{ + QQmlEngine engine; + QQmlComponent c(&engine, testFileUrl("aliasToLargeRevision.qml")); + + QVERIFY2(c.isReady(), qPrintable(c.errorString())); + QScopedPointer<QObject> o(c.create()); + QVERIFY(!o.isNull()); + + QCOMPARE(o->property("aa"), 13); + QCOMPARE(o->property("bb"), 14); + QCOMPARE(o->property("cc"), 15); + QCOMPARE(o->property("dd"), 16); +} + QTEST_MAIN(tst_qqmllanguage) #include "tst_qqmllanguage.moc" diff --git a/tests/auto/qml/qqmlsynchronizer/CMakeLists.txt b/tests/auto/qml/qqmlsynchronizer/CMakeLists.txt new file mode 100644 index 0000000000..f0832ca481 --- /dev/null +++ b/tests/auto/qml/qqmlsynchronizer/CMakeLists.txt @@ -0,0 +1,42 @@ +# Copyright (C) 2025 The Qt Company Ltd. +# SPDX-License-Identifier: BSD-3-Clause + +##################################################################### +## tst_qqmlsynchronizer Test: +##################################################################### + +if(NOT QT_BUILD_STANDALONE_TESTS AND NOT QT_BUILDING_QT) + cmake_minimum_required(VERSION 3.16) + project(tst_qqmlsynchronizer LANGUAGES CXX) + find_package(Qt6BuildInternals REQUIRED COMPONENTS STANDALONE_TEST) +endif() + +# Collect test data +file(GLOB_RECURSE test_data_glob + RELATIVE ${CMAKE_CURRENT_SOURCE_DIR} + data/*) +list(APPEND test_data ${test_data_glob}) + +qt_internal_add_test(tst_qqmlsynchronizer + SOURCES + tst_qqmlsynchronizer.cpp + LIBRARIES + Qt::Qml + Qt::QmlMeta + Qt::QuickTestUtilsPrivate + Qt::QmlModelsPrivate + TESTDATA ${test_data} +) + +## Scopes: +##################################################################### + +qt_internal_extend_target(tst_qqmlsynchronizer CONDITION ANDROID OR IOS + DEFINES + QT_QMLTEST_DATADIR=":/data" +) + +qt_internal_extend_target(tst_qqmlsynchronizer CONDITION NOT ANDROID AND NOT IOS + DEFINES + QT_QMLTEST_DATADIR="${CMAKE_CURRENT_SOURCE_DIR}/data" +) diff --git a/tests/auto/qml/qqmlsynchronizer/data/aliasVsSourceProperty.qml b/tests/auto/qml/qqmlsynchronizer/data/aliasVsSourceProperty.qml new file mode 100644 index 0000000000..212578835d --- /dev/null +++ b/tests/auto/qml/qqmlsynchronizer/data/aliasVsSourceProperty.qml @@ -0,0 +1,43 @@ +// Copyright (C) 2025 The Qt Company Ltd. +// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR GPL-3.0-only +import QtQml +import Qt.labs.synchronizer + +QtObject { + id: root + objectName: "bar" + property string unbindable: "a" + property int count: 12 + + property int countBounces: 0 + property int countIgnores: 0 + + property QtObject other: QtObject { + id: other + objectName: "foo" + property string unbindable: "b" + property double count: 13.5 + + onCountChanged: count = 13.5 // reject any changes to count + } + + property Synchronizer s1: Synchronizer { + sourceObject: root + sourceProperty: "objectName" + property alias target: other.objectName + } + + property Synchronizer s2: Synchronizer { + sourceObject: root + sourceProperty: "unbindable" + property alias target: other.unbindable + } + + property Synchronizer s3: Synchronizer { + sourceObject: root + sourceProperty: "count" + property alias target: other.count + onValueBounced: ++root.countBounces + onValueIgnored: ++root.countIgnores + } +} diff --git a/tests/auto/qml/qqmlsynchronizer/data/aliasVsTargetProperty.qml b/tests/auto/qml/qqmlsynchronizer/data/aliasVsTargetProperty.qml new file mode 100644 index 0000000000..f2d63232da --- /dev/null +++ b/tests/auto/qml/qqmlsynchronizer/data/aliasVsTargetProperty.qml @@ -0,0 +1,43 @@ +// Copyright (C) 2025 The Qt Company Ltd. +// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR GPL-3.0-only +import QtQml +import Qt.labs.synchronizer + +QtObject { + id: root + objectName: "bar" + property string unbindable: "a" + property int count: 12 + + property int countBounces: 0 + property int countIgnores: 0 + + property QtObject other: QtObject { + id: other + objectName: "foo" + property string unbindable: "b" + property double count: 13.5 + + onCountChanged: count = 13.5 // reject any changes to count + } + + property Synchronizer s1: Synchronizer { + targetObject: root + targetProperty: "objectName" + property alias source: other.objectName + } + + property Synchronizer s2: Synchronizer { + targetObject: root + targetProperty: "unbindable" + property alias source: other.unbindable + } + + property Synchronizer s3: Synchronizer { + targetObject: root + targetProperty: "count" + property alias source: other.count + onValueBounced: ++root.countBounces + onValueIgnored: ++root.countIgnores + } +} diff --git a/tests/auto/qml/qqmlsynchronizer/data/ignored.qml b/tests/auto/qml/qqmlsynchronizer/data/ignored.qml new file mode 100644 index 0000000000..f3451d8753 --- /dev/null +++ b/tests/auto/qml/qqmlsynchronizer/data/ignored.qml @@ -0,0 +1,27 @@ +// Copyright (C) 2025 The Qt Company Ltd. +// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR GPL-3.0-only +import QtQml +import Qt.labs.synchronizer + +QtObject { + id: root + objectName: "bar" + property string unbindable: "a" + property int count: 12 + + property int countBounces: 0 + property int countIgnores: 0 + + property QtObject other: QtObject { + id: other + objectName: "foo" + property string unbindable: "b" + property double count: 13.5 + } + + Synchronizer on count { + property alias target: other.count + onValueBounced: ++root.countBounces + onValueIgnored: ++root.countIgnores + } +} diff --git a/tests/auto/qml/qqmlsynchronizer/data/modelObject.qml b/tests/auto/qml/qqmlsynchronizer/data/modelObject.qml new file mode 100644 index 0000000000..11d50c080d --- /dev/null +++ b/tests/auto/qml/qqmlsynchronizer/data/modelObject.qml @@ -0,0 +1,29 @@ +// Copyright (C) 2025 The Qt Company Ltd. +// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR GPL-3.0-only +import QtQml +import Qt.labs.synchronizer +import Test + +DelegateModel { + id: root + + property ListModel listModel: ListModel { + ListElement { + a: "a" + b: "b" + } + } + + model: listModel + + delegate: QtObject { + objectName: "foo" + + required property QtObject model + + Synchronizer on objectName { + targetObject: model + targetProperty: "a" + } + } +} diff --git a/tests/auto/qml/qqmlsynchronizer/data/onVsAlias.qml b/tests/auto/qml/qqmlsynchronizer/data/onVsAlias.qml new file mode 100644 index 0000000000..d8189138ba --- /dev/null +++ b/tests/auto/qml/qqmlsynchronizer/data/onVsAlias.qml @@ -0,0 +1,35 @@ +// Copyright (C) 2025 The Qt Company Ltd. +// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR GPL-3.0-only +import QtQml +import Qt.labs.synchronizer + +QtObject { + id: root + objectName: "bar" + property string unbindable: "a" + property int count: 12 + + property int countBounces: 0 + + property QtObject other: QtObject { + id: other + objectName: "foo" + property string unbindable: "b" + property double count: 13.5 + + onCountChanged: count = 13.5 // reject any changes to count + } + + Synchronizer on objectName { + property alias target: other.objectName + } + + Synchronizer on unbindable { + property alias target: other.unbindable + } + + Synchronizer on count { + property alias target: other.count + onValueBounced: ++root.countBounces + } +} diff --git a/tests/auto/qml/qqmlsynchronizer/data/onVsSourceProperty.qml b/tests/auto/qml/qqmlsynchronizer/data/onVsSourceProperty.qml new file mode 100644 index 0000000000..b27f8b14e2 --- /dev/null +++ b/tests/auto/qml/qqmlsynchronizer/data/onVsSourceProperty.qml @@ -0,0 +1,38 @@ +// Copyright (C) 2025 The Qt Company Ltd. +// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR GPL-3.0-only +import QtQml +import Qt.labs.synchronizer + +QtObject { + id: root + objectName: "bar" + property string unbindable: "a" + property int count: 12 + + property int countBounces: 0 + + property QtObject other: QtObject { + id: other + objectName: "foo" + property string unbindable: "b" + property double count: 13.5 + + onCountChanged: count = 13.5 // reject any changes to count + } + + Synchronizer on objectName { + sourceObject: other + sourceProperty: "objectName" + } + + Synchronizer on unbindable { + sourceObject: other + sourceProperty: "unbindable" + } + + Synchronizer on count { + sourceObject: other + sourceProperty: "count" + onValueBounced: ++root.countBounces + } +} diff --git a/tests/auto/qml/qqmlsynchronizer/data/onVsTargetProperty.qml b/tests/auto/qml/qqmlsynchronizer/data/onVsTargetProperty.qml new file mode 100644 index 0000000000..b809263cd8 --- /dev/null +++ b/tests/auto/qml/qqmlsynchronizer/data/onVsTargetProperty.qml @@ -0,0 +1,38 @@ +// Copyright (C) 2025 The Qt Company Ltd. +// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR GPL-3.0-only +import QtQml +import Qt.labs.synchronizer + +QtObject { + id: root + objectName: "bar" + property string unbindable: "a" + property int count: 12 + + property int countBounces: 0 + + property QtObject other: QtObject { + id: other + objectName: "foo" + property string unbindable: "b" + property double count: 13.5 + + onCountChanged: count = 13.5 // reject any changes to count + } + + Synchronizer on objectName { + targetObject: other + targetProperty: "objectName" + } + + Synchronizer on unbindable { + targetObject: other + targetProperty: "unbindable" + } + + Synchronizer on count { + targetObject: other + targetProperty: "count" + onValueBounced: ++root.countBounces + } +} diff --git a/tests/auto/qml/qqmlsynchronizer/data/valueTypes.qml b/tests/auto/qml/qqmlsynchronizer/data/valueTypes.qml new file mode 100644 index 0000000000..5cf2ae8cac --- /dev/null +++ b/tests/auto/qml/qqmlsynchronizer/data/valueTypes.qml @@ -0,0 +1,39 @@ +// Copyright (C) 2025 The Qt Company Ltd. +// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR GPL-3.0-only +import QtQml +import Qt.labs.synchronizer +import Test + +BindablePoint { + id: root + objectName: "11" + property int count: 12 + + property alias aa: root.point.x + + property QtObject other: QtObject { + id: other + objectName: "foo" + property double count: 13.5 + property point point: ({x: 103, y: 104}) + } + + Synchronizer on count { + property alias target: other.point.x + } + + Synchronizer on objectName { + property alias target: other.point.y + } + + property Synchronizer s1: Synchronizer { + targetObject: other + targetProperty: "count" + property alias source: root.point.x + } + + property Synchronizer s2: Synchronizer { + property alias source: root.point.y + property alias target: other.objectName + } +} diff --git a/tests/auto/qml/qqmlsynchronizer/data/warnings.qml b/tests/auto/qml/qqmlsynchronizer/data/warnings.qml new file mode 100644 index 0000000000..bcf8976e88 --- /dev/null +++ b/tests/auto/qml/qqmlsynchronizer/data/warnings.qml @@ -0,0 +1,42 @@ +// Copyright (C) 2025 The Qt Company Ltd. +// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR GPL-3.0-only +import QtQml +import Qt.labs.synchronizer +import Test + +BindablePoint { + id: root + objectName: "bar" + property string unbindable: "a" + property int count: 12 + + property int countBounces: 0 + property int countIgnores: 0 + + function doThings() {} + + property QtObject other: QtObject { + id: other + objectName: "foo" + property string unbindable: "b" + property double count: 13.5 + } + + property Synchronizer mismatchedType: Synchronizer { + targetObject: root + targetProperty: "point" + property alias source: root.other + } + + property Synchronizer missingProperty: Synchronizer { + targetObject: root + targetProperty: "doesNotExist" + property alias source: other.unbindable + } + + property Synchronizer onFunction: Synchronizer { + targetObject: root + targetProperty: "doThings" + property alias source: other.count + } +} diff --git a/tests/auto/qml/qqmlsynchronizer/tst_qqmlsynchronizer.cpp b/tests/auto/qml/qqmlsynchronizer/tst_qqmlsynchronizer.cpp new file mode 100644 index 0000000000..a2657128d3 --- /dev/null +++ b/tests/auto/qml/qqmlsynchronizer/tst_qqmlsynchronizer.cpp @@ -0,0 +1,253 @@ +// Copyright (C) 2025 The Qt Company Ltd. +// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR GPL-3.0-only + +#include <QtQuickTestUtils/private/qmlutils_p.h> +#include <QtQmlModels/private/qqmldelegatemodel_p.h> + +#include <QtQml/qqmlcomponent.h> +#include <QtQml/qqmlengine.h> + +#include <QtTest/qtest.h> + +#include <QtCore/qproperty.h> + +class tst_qqmlsynchronizer : public QQmlDataTest +{ + Q_OBJECT +public: + tst_qqmlsynchronizer(); + +private slots: + void basics_data(); + void basics(); + + void ignored(); + void valueTypes(); + void modelObject(); + void warnings(); +}; + +class BindablePoint : public QObject +{ + Q_OBJECT + QML_ELEMENT + Q_PROPERTY(QPointF point BINDABLE bindablePoint READ default WRITE default) +public: + BindablePoint(QObject *parent = nullptr) : QObject(parent), m_point(QPointF(101, 102)) {} + + QBindable<QPointF> bindablePoint() { return QBindable<QPointF>(&m_point); } + +private: + QProperty<QPointF> m_point; +}; + +tst_qqmlsynchronizer::tst_qqmlsynchronizer() + : QQmlDataTest(QT_QMLTEST_DATADIR) +{ + qmlRegisterTypesAndRevisions<BindablePoint>("Test", 1); +} + +void tst_qqmlsynchronizer::basics_data() +{ + QTest::addColumn<QUrl>("url"); + QTest::addColumn<bool>("initializesOther"); + QTest::addRow("onVsAlias") << testFileUrl("onVsAlias.qml") << true; + QTest::addRow("onVsTargetProperty") << testFileUrl("onVsTargetProperty.qml") << true; + QTest::addRow("aliasVsTargetProperty") << testFileUrl("aliasVsTargetProperty.qml") << false; + QTest::addRow("onVsSourceProperty") << testFileUrl("onVsSourceProperty.qml") << false; + QTest::addRow("aliasVsSourceProperty") << testFileUrl("aliasVsSourceProperty.qml") << true; +} + +void tst_qqmlsynchronizer::basics() +{ + QFETCH(QUrl, url); + QFETCH(bool, initializesOther); + + QQmlEngine engine; + QQmlComponent c(&engine, url); + QVERIFY2(c.isReady(), qPrintable(c.errorString())); + QScopedPointer<QObject> o(c.create()); + QVERIFY(!o.isNull()); + + QObject *other = o->property("other").value<QObject *>(); + QVERIFY(other); + + QCOMPARE(o->objectName(), initializesOther ? "bar" : "foo"); + QCOMPARE(other->objectName(), initializesOther ? "bar" : "foo"); + + o->setObjectName("baz"); + QCOMPARE(o->objectName(), "baz"); + QCOMPARE(other->objectName(), "baz"); + + other->setObjectName("foo"); + QCOMPARE(o->objectName(), "foo"); + QCOMPARE(other->objectName(), "foo"); + + QCOMPARE(o->property("unbindable").toString(), initializesOther ? "a" : "b"); + QCOMPARE(other->property("unbindable").toString(), initializesOther ? "a" : "b"); + + o->setProperty("unbindable", QStringLiteral("c")); + + QCOMPARE(o->property("unbindable").toString(), "c"); + QCOMPARE(other->property("unbindable").toString(), "c"); + + other->setProperty("unbindable", QStringLiteral("d")); + + QCOMPARE(o->property("unbindable").toString(), "d"); + QCOMPARE(other->property("unbindable").toString(), "d"); + + QCOMPARE(o->property("count").toInt(), initializesOther ? 12 : 13); + QCOMPARE(other->property("count").toDouble(), 13.5); + int countBounces = initializesOther ? 1 : 0; + QCOMPARE(o->property("countBounces").toInt(), countBounces); + QCOMPARE(o->property("countIgnores").toInt(), 0); + + o->setProperty("count", 17); + ++countBounces; + QCOMPARE(o->property("count").toInt(), 17); + QCOMPARE(other->property("count").toDouble(), 13.5); + QCOMPARE(o->property("countBounces").toInt(), countBounces); + QCOMPARE(o->property("countIgnores").toInt(), 0); + + other->setProperty("count", 18); + QCOMPARE(o->property("count").toInt(), 13); + QCOMPARE(other->property("count").toDouble(), 13.5); + QCOMPARE(o->property("countBounces").toInt(), countBounces); + QCOMPARE(o->property("countIgnores").toInt(), 0); +} + +void tst_qqmlsynchronizer::ignored() +{ + QQmlEngine engine; + QQmlComponent c(&engine, testFileUrl("ignored.qml")); + QVERIFY2(c.isReady(), qPrintable(c.errorString())); + + QScopedPointer<QObject> o(c.create()); + QVERIFY(!o.isNull()); + + QObject *other = o->property("other").value<QObject *>(); + QVERIFY(other); + + QCOMPARE(o->property("count").toInt(), 12); + QCOMPARE(other->property("count").toDouble(), 12); + + QCOMPARE(o->property("countBounces").toInt(), 0); + QCOMPARE(o->property("countIgnores").toInt(), 0); + + other->setProperty("count", 12.4); + QCOMPARE(o->property("count").toInt(), 12); + QCOMPARE(o->property("countBounces").toInt(), 0); + QCOMPARE(o->property("countIgnores").toInt(), 1); +} + +void tst_qqmlsynchronizer::valueTypes() +{ + QQmlEngine engine; + QQmlComponent c(&engine, testFileUrl("valueTypes.qml")); + QVERIFY2(c.isReady(), qPrintable(c.errorString())); + + QScopedPointer<QObject> o(c.create()); + QVERIFY(!o.isNull()); + + QObject *other = o->property("other").value<QObject *>(); + QVERIFY(other); + + QCOMPARE(o->property("point").value<QPointF>(), QPointF(101, 102)); + QCOMPARE(other->property("point").value<QPointF>(), QPointF(12, 11)); + QCOMPARE(o->objectName(), "11"); + QCOMPARE(other->objectName(), "102"); + QCOMPARE(other->property("count"), 101); + QCOMPARE(o->property("count"), 12); + + // Since point can only be summarily signaled, this updates the other synchronizer, too. + o->setProperty("count", 77); + QCOMPARE(other->property("point").value<QPointF>(), QPointF(77, 11)); + QCOMPARE(o->objectName(), "11"); + + other->setProperty("point", QPointF(97, 98)); + QCOMPARE(o->property("count"), 97); + QCOMPARE(o->objectName(), "98"); + + o->setObjectName("54"); + QCOMPARE(other->property("point").value<QPointF>(), QPointF(97, 54)); + + o->setProperty("point", QPointF(33.25, 34.8)); + QCOMPARE(other->property("count").toDouble(), 33.25); + QCOMPARE(other->objectName(), "34.8"); + other->setProperty("count", 55.5); + QCOMPARE(o->property("point").value<QPointF>(), QPointF(55.5, 34.8)); + QCOMPARE(other->objectName(), "34.8"); + other->setObjectName("77.2"); + QCOMPARE(o->property("point").value<QPointF>(), QPointF(55.5, 77.2)); +} + +void tst_qqmlsynchronizer::modelObject() +{ + QQmlEngine engine; + QQmlComponent c(&engine, testFileUrl("modelObject.qml")); + QVERIFY2(c.isReady(), qPrintable(c.errorString())); + + QScopedPointer<QObject> o(c.create()); + QVERIFY(!o.isNull()); + + QQmlDelegateModel *delegateModel = qobject_cast<QQmlDelegateModel *>(o.data()); + QVERIFY(delegateModel); + + QObject *delegate = delegateModel->object(0); + QVERIFY(delegate); + + QAbstractListModel *model = delegateModel->property("listModel").value<QAbstractListModel *>(); + QVERIFY(model); + + const auto roleNames = model->roleNames(); + int role = -1; + for (auto it = roleNames.begin(), end = roleNames.end(); it != end; ++it) { + if (it.value() == "a") { + role = it.key(); + break; + } + } + + const QModelIndex modelIndex = model->index(0); + + QCOMPARE(delegate->objectName(), "foo"); + QCOMPARE(model->data(modelIndex, role), "foo"); + + model->setData(modelIndex, "c", role); + QCOMPARE(model->data(modelIndex, role), "c"); + QCOMPARE(delegate->objectName(), "c"); + + delegate->setObjectName("d"); + QCOMPARE(model->data(modelIndex, role), "d"); +} + +void tst_qqmlsynchronizer::warnings() +{ + QQmlEngine engine; + const QUrl url = testFileUrl("warnings.qml"); + QQmlComponent c(&engine, url); + QVERIFY2(c.isReady(), qPrintable(c.errorString())); + + QTest::ignoreMessage( + QtWarningMsg, + qPrintable(url.toString() + + ":31:44: QML Synchronizer: Target object has no property called doesNotExist")); + QTest::ignoreMessage( + QtWarningMsg, + qPrintable(url.toString() + + ":37:39: QML Synchronizer: Member doThings of target object is a function")); + + QScopedPointer<QObject> o(c.create()); + QVERIFY(!o.isNull()); + + QTest::ignoreMessage( + QtWarningMsg, + qPrintable(url.toString() + + ":25:43: QML Synchronizer: Cannot convert from QPointF to QObject*")); + + o->setProperty("point", QPointF(13, 14)); +} + +QTEST_MAIN(tst_qqmlsynchronizer) + +#include "tst_qqmlsynchronizer.moc" diff --git a/tests/auto/qml/qqmltablemodel/data/TestModel.qml b/tests/auto/qml/qqmltablemodel/data/TestModel.qml index 2b41837bac..fbd1690ae1 100644 --- a/tests/auto/qml/qqmltablemodel/data/TestModel.qml +++ b/tests/auto/qml/qqmltablemodel/data/TestModel.qml @@ -3,8 +3,6 @@ import Qt.labs.qmlmodels 1.0 -import "TestUtils.js" as TestUtils - TableModel { id: testModel objectName: "testModel" diff --git a/tests/auto/qml/qqmltablemodel/data/TestUtils.js b/tests/auto/qml/qqmltablemodel/data/TestUtils.js deleted file mode 100644 index f6a5d4bb20..0000000000 --- a/tests/auto/qml/qqmltablemodel/data/TestUtils.js +++ /dev/null @@ -1,20 +0,0 @@ -// Copyright (C) 2019 The Qt Company Ltd. -// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR GPL-3.0-only - -function testModelRoleDataProvider(index, role, cellData) { - switch (role) { - case "display": - switch (index.column) { - case 0: - return cellData.name - case 1: - return cellData.age - } - break - case "name": - return cellData.name - case "age": - return cellData.age - } - return cellData -} diff --git a/tests/auto/qmlnetwork/qqmlnetworkinformation/CMakeLists.txt b/tests/auto/qmlnetwork/qqmlnetworkinformation/CMakeLists.txt index 576a434773..1d729468af 100644 --- a/tests/auto/qmlnetwork/qqmlnetworkinformation/CMakeLists.txt +++ b/tests/auto/qmlnetwork/qqmlnetworkinformation/CMakeLists.txt @@ -3,7 +3,7 @@ if (NOT QT_BUILD_STANDALONE_TESTS AND NOT QT_BUILDING_QT) cmake_minimum_required(VERSION 3.16) - project(tst_qqmlnetworkinformation LANGUAGES C CXX ASM) + project(tst_qqmlnetworkinformation LANGUAGES C CXX) find_package(Qt6BuildInternals COMPONENTS STANDALONE_TEST) endif() diff --git a/tests/auto/quickcontrols/accessibility/CMakeLists.txt b/tests/auto/quickcontrols/accessibility/CMakeLists.txt index 2ae2aec45b..0aa8911f4a 100644 --- a/tests/auto/quickcontrols/accessibility/CMakeLists.txt +++ b/tests/auto/quickcontrols/accessibility/CMakeLists.txt @@ -5,7 +5,7 @@ if(NOT QT_BUILD_STANDALONE_TESTS AND NOT QT_BUILDING_QT) cmake_minimum_required(VERSION 3.16) - project(tst_accessibility LANGUAGES C CXX ASM) + project(tst_accessibility LANGUAGES C CXX) find_package(Qt6BuildInternals REQUIRED COMPONENTS STANDALONE_TEST) endif() diff --git a/tests/auto/quickcontrols/controls/basic/CMakeLists.txt b/tests/auto/quickcontrols/controls/basic/CMakeLists.txt index daafef324f..3ff5924047 100644 --- a/tests/auto/quickcontrols/controls/basic/CMakeLists.txt +++ b/tests/auto/quickcontrols/controls/basic/CMakeLists.txt @@ -5,7 +5,7 @@ if (NOT QT_BUILD_STANDALONE_TESTS AND NOT QT_BUILDING_QT) cmake_minimum_required(VERSION 3.16) - project(tst_basic LANGUAGES C CXX ASM) + project(tst_basic LANGUAGES C CXX) find_package(Qt6BuildInternals REQUIRED COMPONENTS STANDALONE_TEST) endif() diff --git a/tests/auto/quickcontrols/controls/fluentwinui3/CMakeLists.txt b/tests/auto/quickcontrols/controls/fluentwinui3/CMakeLists.txt index e77bd78674..32cd4902c2 100644 --- a/tests/auto/quickcontrols/controls/fluentwinui3/CMakeLists.txt +++ b/tests/auto/quickcontrols/controls/fluentwinui3/CMakeLists.txt @@ -3,7 +3,7 @@ if (NOT QT_BUILD_STANDALONE_TESTS AND NOT QT_BUILDING_QT) cmake_minimum_required(VERSION 3.16) - project(tst_fluentwinui3 LANGUAGES C CXX ASM) + project(tst_fluentwinui3 LANGUAGES C CXX) find_package(Qt6BuildInternals REQUIRED COMPONENTS STANDALONE_TEST) endif() diff --git a/tests/auto/quickcontrols/controls/fusion/CMakeLists.txt b/tests/auto/quickcontrols/controls/fusion/CMakeLists.txt index 2e077988b7..a4b797c77c 100644 --- a/tests/auto/quickcontrols/controls/fusion/CMakeLists.txt +++ b/tests/auto/quickcontrols/controls/fusion/CMakeLists.txt @@ -5,7 +5,7 @@ if (NOT QT_BUILD_STANDALONE_TESTS AND NOT QT_BUILDING_QT) cmake_minimum_required(VERSION 3.16) - project(tst_fusion LANGUAGES C CXX ASM) + project(tst_fusion LANGUAGES C CXX) find_package(Qt6BuildInternals REQUIRED COMPONENTS STANDALONE_TEST) endif() diff --git a/tests/auto/quickcontrols/controls/imagine/CMakeLists.txt b/tests/auto/quickcontrols/controls/imagine/CMakeLists.txt index f11edec156..f1d0187d10 100644 --- a/tests/auto/quickcontrols/controls/imagine/CMakeLists.txt +++ b/tests/auto/quickcontrols/controls/imagine/CMakeLists.txt @@ -5,7 +5,7 @@ if (NOT QT_BUILD_STANDALONE_TESTS AND NOT QT_BUILDING_QT) cmake_minimum_required(VERSION 3.16) - project(tst_imagine LANGUAGES C CXX ASM) + project(tst_imagine LANGUAGES C CXX) find_package(Qt6BuildInternals REQUIRED COMPONENTS STANDALONE_TEST) endif() diff --git a/tests/auto/quickcontrols/controls/ios/CMakeLists.txt b/tests/auto/quickcontrols/controls/ios/CMakeLists.txt index 566ad33678..eab16c1b44 100644 --- a/tests/auto/quickcontrols/controls/ios/CMakeLists.txt +++ b/tests/auto/quickcontrols/controls/ios/CMakeLists.txt @@ -3,7 +3,7 @@ if (NOT QT_BUILD_STANDALONE_TESTS AND NOT QT_BUILDING_QT) cmake_minimum_required(VERSION 3.16) - project(tst_ios LANGUAGES C CXX ASM) + project(tst_ios LANGUAGES C CXX) find_package(Qt6BuildInternals REQUIRED COMPONENTS STANDALONE_TEST) endif() diff --git a/tests/auto/quickcontrols/controls/macos/CMakeLists.txt b/tests/auto/quickcontrols/controls/macos/CMakeLists.txt index 94557222e1..ef04f1cba0 100644 --- a/tests/auto/quickcontrols/controls/macos/CMakeLists.txt +++ b/tests/auto/quickcontrols/controls/macos/CMakeLists.txt @@ -3,7 +3,7 @@ if (NOT QT_BUILD_STANDALONE_TESTS AND NOT QT_BUILDING_QT) cmake_minimum_required(VERSION 3.16) - project(tst_macos LANGUAGES C CXX ASM) + project(tst_macos LANGUAGES C CXX) find_package(Qt6BuildInternals REQUIRED COMPONENTS STANDALONE_TEST) endif() diff --git a/tests/auto/quickcontrols/controls/material/CMakeLists.txt b/tests/auto/quickcontrols/controls/material/CMakeLists.txt index 912c49566a..63aa92e378 100644 --- a/tests/auto/quickcontrols/controls/material/CMakeLists.txt +++ b/tests/auto/quickcontrols/controls/material/CMakeLists.txt @@ -5,7 +5,7 @@ if (NOT QT_BUILD_STANDALONE_TESTS AND NOT QT_BUILDING_QT) cmake_minimum_required(VERSION 3.16) - project(tst_material LANGUAGES C CXX ASM) + project(tst_material LANGUAGES C CXX) find_package(Qt6 REQUIRED COMPONENTS ShaderTools) find_package(Qt6BuildInternals REQUIRED COMPONENTS STANDALONE_TEST) endif() diff --git a/tests/auto/quickcontrols/controls/universal/CMakeLists.txt b/tests/auto/quickcontrols/controls/universal/CMakeLists.txt index 218302da2d..8519c6f2c4 100644 --- a/tests/auto/quickcontrols/controls/universal/CMakeLists.txt +++ b/tests/auto/quickcontrols/controls/universal/CMakeLists.txt @@ -5,7 +5,7 @@ if (NOT QT_BUILD_STANDALONE_TESTS AND NOT QT_BUILDING_QT) cmake_minimum_required(VERSION 3.16) - project(tst_universal LANGUAGES C CXX ASM) + project(tst_universal LANGUAGES C CXX) find_package(Qt6BuildInternals REQUIRED COMPONENTS STANDALONE_TEST) endif() diff --git a/tests/auto/quickcontrols/controls/windows/CMakeLists.txt b/tests/auto/quickcontrols/controls/windows/CMakeLists.txt index 447b89df1a..d57fb0a699 100644 --- a/tests/auto/quickcontrols/controls/windows/CMakeLists.txt +++ b/tests/auto/quickcontrols/controls/windows/CMakeLists.txt @@ -3,7 +3,7 @@ if (NOT QT_BUILD_STANDALONE_TESTS AND NOT QT_BUILDING_QT) cmake_minimum_required(VERSION 3.16) - project(tst_windows LANGUAGES C CXX ASM) + project(tst_windows LANGUAGES C CXX) find_package(Qt6BuildInternals REQUIRED COMPONENTS STANDALONE_TEST) endif() diff --git a/tests/auto/quickcontrols/cursor/CMakeLists.txt b/tests/auto/quickcontrols/cursor/CMakeLists.txt index 8247ef1f44..46cb2d5743 100644 --- a/tests/auto/quickcontrols/cursor/CMakeLists.txt +++ b/tests/auto/quickcontrols/cursor/CMakeLists.txt @@ -5,7 +5,7 @@ if (NOT QT_BUILD_STANDALONE_TESTS AND NOT QT_BUILDING_QT) cmake_minimum_required(VERSION 3.16) - project(tst_cursor LANGUAGES C CXX ASM) + project(tst_cursor LANGUAGES C CXX) find_package(Qt6BuildInternals REQUIRED COMPONENTS STANDALONE_TEST) endif() diff --git a/tests/auto/quickcontrols/customization/CMakeLists.txt b/tests/auto/quickcontrols/customization/CMakeLists.txt index 9dff827989..6b45d891d0 100644 --- a/tests/auto/quickcontrols/customization/CMakeLists.txt +++ b/tests/auto/quickcontrols/customization/CMakeLists.txt @@ -5,7 +5,7 @@ if (NOT QT_BUILD_STANDALONE_TESTS AND NOT QT_BUILDING_QT) cmake_minimum_required(VERSION 3.16) - project(tst_customization LANGUAGES C CXX ASM) + project(tst_customization LANGUAGES C CXX) find_package(Qt6BuildInternals REQUIRED COMPONENTS STANDALONE_TEST) endif() diff --git a/tests/auto/quickcontrols/designer/CMakeLists.txt b/tests/auto/quickcontrols/designer/CMakeLists.txt index 5157ad562a..8c26be8ae8 100644 --- a/tests/auto/quickcontrols/designer/CMakeLists.txt +++ b/tests/auto/quickcontrols/designer/CMakeLists.txt @@ -5,7 +5,7 @@ if (NOT QT_BUILD_STANDALONE_TESTS AND NOT QT_BUILDING_QT) cmake_minimum_required(VERSION 3.16) - project(tst_designer LANGUAGES C CXX ASM) + project(tst_designer LANGUAGES C CXX) find_package(Qt6BuildInternals REQUIRED COMPONENTS STANDALONE_TEST) endif() diff --git a/tests/auto/quickcontrols/focus/CMakeLists.txt b/tests/auto/quickcontrols/focus/CMakeLists.txt index 25948ffa9f..f83397c4f6 100644 --- a/tests/auto/quickcontrols/focus/CMakeLists.txt +++ b/tests/auto/quickcontrols/focus/CMakeLists.txt @@ -5,7 +5,7 @@ if (NOT QT_BUILD_STANDALONE_TESTS AND NOT QT_BUILDING_QT) cmake_minimum_required(VERSION 3.16) - project(tst_focus LANGUAGES C CXX ASM) + project(tst_focus LANGUAGES C CXX) find_package(Qt6BuildInternals REQUIRED COMPONENTS STANDALONE_TEST) endif() diff --git a/tests/auto/quickcontrols/font/CMakeLists.txt b/tests/auto/quickcontrols/font/CMakeLists.txt index cc8aff01b2..5dc79e8869 100644 --- a/tests/auto/quickcontrols/font/CMakeLists.txt +++ b/tests/auto/quickcontrols/font/CMakeLists.txt @@ -5,7 +5,7 @@ if (NOT QT_BUILD_STANDALONE_TESTS AND NOT QT_BUILDING_QT) cmake_minimum_required(VERSION 3.16) - project(tst_font LANGUAGES C CXX ASM) + project(tst_font LANGUAGES C CXX) find_package(Qt6BuildInternals REQUIRED COMPONENTS STANDALONE_TEST) endif() diff --git a/tests/auto/quickcontrols/palette/CMakeLists.txt b/tests/auto/quickcontrols/palette/CMakeLists.txt index a89c35638d..639beebbbd 100644 --- a/tests/auto/quickcontrols/palette/CMakeLists.txt +++ b/tests/auto/quickcontrols/palette/CMakeLists.txt @@ -5,7 +5,7 @@ if (NOT QT_BUILD_STANDALONE_TESTS AND NOT QT_BUILDING_QT) cmake_minimum_required(VERSION 3.16) - project(tst_palette LANGUAGES C CXX ASM) + project(tst_palette LANGUAGES C CXX) find_package(Qt6BuildInternals REQUIRED COMPONENTS STANDALONE_TEST) endif() diff --git a/tests/auto/quickcontrols/platform/CMakeLists.txt b/tests/auto/quickcontrols/platform/CMakeLists.txt index 5669052475..7bbe41ac44 100644 --- a/tests/auto/quickcontrols/platform/CMakeLists.txt +++ b/tests/auto/quickcontrols/platform/CMakeLists.txt @@ -5,7 +5,7 @@ if (NOT QT_BUILD_STANDALONE_TESTS AND NOT QT_BUILDING_QT) cmake_minimum_required(VERSION 3.16) - project(tst_platform LANGUAGES C CXX ASM) + project(tst_platform LANGUAGES C CXX) find_package(Qt6BuildInternals REQUIRED COMPONENTS STANDALONE_TEST) endif() diff --git a/tests/auto/quickcontrols/pointerhandlers/CMakeLists.txt b/tests/auto/quickcontrols/pointerhandlers/CMakeLists.txt index 7839d1644e..076e4273df 100644 --- a/tests/auto/quickcontrols/pointerhandlers/CMakeLists.txt +++ b/tests/auto/quickcontrols/pointerhandlers/CMakeLists.txt @@ -3,7 +3,7 @@ if (NOT QT_BUILD_STANDALONE_TESTS AND NOT QT_BUILDING_QT) cmake_minimum_required(VERSION 3.16) - project(tst_pointerhandlers LANGUAGES C CXX ASM) + project(tst_pointerhandlers LANGUAGES C CXX) find_package(Qt6BuildInternals REQUIRED COMPONENTS STANDALONE_TEST) endif() diff --git a/tests/auto/quickcontrols/pressandhold/CMakeLists.txt b/tests/auto/quickcontrols/pressandhold/CMakeLists.txt index 88213edbf3..fdbfd43d7d 100644 --- a/tests/auto/quickcontrols/pressandhold/CMakeLists.txt +++ b/tests/auto/quickcontrols/pressandhold/CMakeLists.txt @@ -5,7 +5,7 @@ if (NOT QT_BUILD_STANDALONE_TESTS AND NOT QT_BUILDING_QT) cmake_minimum_required(VERSION 3.16) - project(tst_pressandhold LANGUAGES C CXX ASM) + project(tst_pressandhold LANGUAGES C CXX) find_package(Qt6BuildInternals REQUIRED COMPONENTS STANDALONE_TEST) endif() diff --git a/tests/auto/quickcontrols/qquickapplicationwindow/CMakeLists.txt b/tests/auto/quickcontrols/qquickapplicationwindow/CMakeLists.txt index cdabbed6c0..1b5a5bcda7 100644 --- a/tests/auto/quickcontrols/qquickapplicationwindow/CMakeLists.txt +++ b/tests/auto/quickcontrols/qquickapplicationwindow/CMakeLists.txt @@ -5,7 +5,7 @@ if (NOT QT_BUILD_STANDALONE_TESTS AND NOT QT_BUILDING_QT) cmake_minimum_required(VERSION 3.16) - project(tst_qquickapplicationwindow LANGUAGES C CXX ASM) + project(tst_qquickapplicationwindow LANGUAGES C CXX) find_package(Qt6BuildInternals REQUIRED COMPONENTS STANDALONE_TEST) endif() diff --git a/tests/auto/quickcontrols/qquickcolor/CMakeLists.txt b/tests/auto/quickcontrols/qquickcolor/CMakeLists.txt index 9cf98b4c84..b76d3ed030 100644 --- a/tests/auto/quickcontrols/qquickcolor/CMakeLists.txt +++ b/tests/auto/quickcontrols/qquickcolor/CMakeLists.txt @@ -5,7 +5,7 @@ if (NOT QT_BUILD_STANDALONE_TESTS AND NOT QT_BUILDING_QT) cmake_minimum_required(VERSION 3.16) - project(tst_qquickcolor LANGUAGES C CXX ASM) + project(tst_qquickcolor LANGUAGES C CXX) find_package(Qt6BuildInternals REQUIRED COMPONENTS STANDALONE_TEST) endif() diff --git a/tests/auto/quickcontrols/qquickcontainer/CMakeLists.txt b/tests/auto/quickcontrols/qquickcontainer/CMakeLists.txt index c79e508cd1..c04b31a415 100644 --- a/tests/auto/quickcontrols/qquickcontainer/CMakeLists.txt +++ b/tests/auto/quickcontrols/qquickcontainer/CMakeLists.txt @@ -3,7 +3,7 @@ if (NOT QT_BUILD_STANDALONE_TESTS AND NOT QT_BUILDING_QT) cmake_minimum_required(VERSION 3.16) - project(tst_qquickcontainer LANGUAGES C CXX ASM) + project(tst_qquickcontainer LANGUAGES C CXX) find_package(Qt6BuildInternals REQUIRED COMPONENTS STANDALONE_TEST) endif() diff --git a/tests/auto/quickcontrols/qquickcontextmenu/CMakeLists.txt b/tests/auto/quickcontrols/qquickcontextmenu/CMakeLists.txt index b6969a1bbf..693e69ba03 100644 --- a/tests/auto/quickcontrols/qquickcontextmenu/CMakeLists.txt +++ b/tests/auto/quickcontrols/qquickcontextmenu/CMakeLists.txt @@ -3,7 +3,7 @@ if (NOT QT_BUILD_STANDALONE_TESTS AND NOT QT_BUILDING_QT) cmake_minimum_required(VERSION 3.16) - project(tst_qquickcontextmenu LANGUAGES C CXX ASM) + project(tst_qquickcontextmenu LANGUAGES C CXX) find_package(Qt6BuildInternals REQUIRED COMPONENTS STANDALONE_TEST) endif() diff --git a/tests/auto/quickcontrols/qquickcontextmenu/data/textControlsAndParentMenus.qml b/tests/auto/quickcontrols/qquickcontextmenu/data/textControlsAndParentMenus.qml new file mode 100644 index 0000000000..a22d026e0b --- /dev/null +++ b/tests/auto/quickcontrols/qquickcontextmenu/data/textControlsAndParentMenus.qml @@ -0,0 +1,38 @@ +import QtQuick +import QtQuick.Controls + +ApplicationWindow { + id: window + width: 600 + height: 400 + + TextArea { + id: textArea + objectName: "textArea" + text: qsTr("Some, well, text here (surprise!)") + width: parent.width + height: parent.height / 3 + } + + TextField { + objectName: "textField" + text: qsTr("A not-so-vast partially-open field") + width: parent.width + y: parent.height * 2 / 3 + } + + contentItem.ContextMenu.menu: Menu { + id: windowMenu + objectName: "windowMenu" + + MenuItem { + text: qsTr("Open window") + } + MenuItem { + text: qsTr("Wash window") + } + MenuItem { + text: qsTr("Admire the view") + } + } +} diff --git a/tests/auto/quickcontrols/qquickcontextmenu/tst_qquickcontextmenu.cpp b/tests/auto/quickcontrols/qquickcontextmenu/tst_qquickcontextmenu.cpp index 40a33b3a35..5b40fc56d6 100644 --- a/tests/auto/quickcontrols/qquickcontextmenu/tst_qquickcontextmenu.cpp +++ b/tests/auto/quickcontrols/qquickcontextmenu/tst_qquickcontextmenu.cpp @@ -37,6 +37,7 @@ private slots: void drawerShouldntPreventOpening(); void explicitMenuPreventsBuiltInMenu(); void menuItemShouldntTriggerOnRelease(); + void textControlsMenuKey(); private: bool contextMenuTriggeredOnRelease = false; @@ -350,6 +351,53 @@ void tst_QQuickContextMenu::menuItemShouldntTriggerOnRelease() // QTBUG-133302 QCOMPARE(triggeredSpy.size(), 0); } +void tst_QQuickContextMenu::textControlsMenuKey() +{ + QQuickApplicationHelper helper(this, "textControlsAndParentMenus.qml"); + QVERIFY2(helper.ready, helper.failureMessage()); + QQuickWindow *window = helper.window; + window->show(); + QVERIFY(QTest::qWaitForWindowExposed(window)); + + auto *textArea = window->findChild<QQuickItem *>("textArea"); + QVERIFY(textArea); + auto *textField = window->findChild<QQuickItem *>("textField"); + QVERIFY(textField); + auto *windowMenu = window->findChild<QQuickMenu *>("windowMenu"); + QVERIFY(windowMenu); + const QPoint &windowCenter = mapCenterToWindow(window->contentItem()); + + // give position in the middle of the window: expect the window menu + { + QContextMenuEvent cme(QContextMenuEvent::Keyboard, windowCenter, window->mapToGlobal(windowCenter)); + QGuiApplication::sendEvent(window, &cme); + auto *openMenu = window->findChild<QQuickMenu *>(); + QVERIFY(openMenu); + QCOMPARE(openMenu->objectName(), "windowMenu"); + openMenu->close(); + } + + // focus the TextArea and give position 0, 0: expect the TextArea's menu + { + textArea->forceActiveFocus(); + QContextMenuEvent cme(QContextMenuEvent::Keyboard, {}, window->mapToGlobal(QPoint())); + QGuiApplication::sendEvent(window, &cme); + auto *openMenu = textArea->findChild<QQuickMenu *>(); + QVERIFY(openMenu); + openMenu->close(); + } + + // focus the TextField and give position 0, 0: expect the TextField's menu + { + textField->forceActiveFocus(); + QContextMenuEvent cme(QContextMenuEvent::Keyboard, {}, window->mapToGlobal(QPoint())); + QGuiApplication::sendEvent(window, &cme); + auto *openMenu = textField->findChild<QQuickMenu *>(); + QVERIFY(openMenu); + openMenu->close(); + } +} + QTEST_QUICKCONTROLS_MAIN(tst_QQuickContextMenu) #include "tst_qquickcontextmenu.moc" diff --git a/tests/auto/quickcontrols/qquickcontrol/CMakeLists.txt b/tests/auto/quickcontrols/qquickcontrol/CMakeLists.txt index e3ddf163bd..139f78379d 100644 --- a/tests/auto/quickcontrols/qquickcontrol/CMakeLists.txt +++ b/tests/auto/quickcontrols/qquickcontrol/CMakeLists.txt @@ -5,7 +5,7 @@ if (NOT QT_BUILD_STANDALONE_TESTS AND NOT QT_BUILDING_QT) cmake_minimum_required(VERSION 3.16) - project(tst_qquickcontrol LANGUAGES C CXX ASM) + project(tst_qquickcontrol LANGUAGES C CXX) find_package(Qt6BuildInternals REQUIRED COMPONENTS STANDALONE_TEST) endif() diff --git a/tests/auto/quickcontrols/qquickdrawer/CMakeLists.txt b/tests/auto/quickcontrols/qquickdrawer/CMakeLists.txt index 107d9b63fb..77ac0e23c5 100644 --- a/tests/auto/quickcontrols/qquickdrawer/CMakeLists.txt +++ b/tests/auto/quickcontrols/qquickdrawer/CMakeLists.txt @@ -5,7 +5,7 @@ if (NOT QT_BUILD_STANDALONE_TESTS AND NOT QT_BUILDING_QT) cmake_minimum_required(VERSION 3.16) - project(tst_qquickdrawer LANGUAGES C CXX ASM) + project(tst_qquickdrawer LANGUAGES C CXX) find_package(Qt6BuildInternals REQUIRED COMPONENTS STANDALONE_TEST) endif() diff --git a/tests/auto/quickcontrols/qquickheaderview/CMakeLists.txt b/tests/auto/quickcontrols/qquickheaderview/CMakeLists.txt index 6c01ba6e25..a1b143b11f 100644 --- a/tests/auto/quickcontrols/qquickheaderview/CMakeLists.txt +++ b/tests/auto/quickcontrols/qquickheaderview/CMakeLists.txt @@ -5,7 +5,7 @@ if (NOT QT_BUILD_STANDALONE_TESTS AND NOT QT_BUILDING_QT) cmake_minimum_required(VERSION 3.16) - project(tst_qquickheaderview LANGUAGES C CXX ASM) + project(tst_qquickheaderview LANGUAGES C CXX) find_package(Qt6BuildInternals REQUIRED COMPONENTS STANDALONE_TEST) endif() diff --git a/tests/auto/quickcontrols/qquickheaderviewdelegate/CMakeLists.txt b/tests/auto/quickcontrols/qquickheaderviewdelegate/CMakeLists.txt index 4a302dc8b7..730f7b6516 100644 --- a/tests/auto/quickcontrols/qquickheaderviewdelegate/CMakeLists.txt +++ b/tests/auto/quickcontrols/qquickheaderviewdelegate/CMakeLists.txt @@ -3,7 +3,7 @@ if (NOT QT_BUILD_STANDALONE_TESTS AND NOT QT_BUILDING_QT) cmake_minimum_required(VERSION 3.16) - project(tst_qquickheaderviewdelegate LANGUAGES C CXX ASM) + project(tst_qquickheaderviewdelegate LANGUAGES C CXX) find_package(Qt6BuildInternals REQUIRED COMPONENTS STANDALONE_TEST) endif() diff --git a/tests/auto/quickcontrols/qquickiconimage/CMakeLists.txt b/tests/auto/quickcontrols/qquickiconimage/CMakeLists.txt index 369570e3d0..0cd49b93f5 100644 --- a/tests/auto/quickcontrols/qquickiconimage/CMakeLists.txt +++ b/tests/auto/quickcontrols/qquickiconimage/CMakeLists.txt @@ -5,7 +5,7 @@ if (NOT QT_BUILD_STANDALONE_TESTS AND NOT QT_BUILDING_QT) cmake_minimum_required(VERSION 3.16) - project(tst_qquickiconimage LANGUAGES C CXX ASM) + project(tst_qquickiconimage LANGUAGES C CXX) find_package(Qt6BuildInternals REQUIRED COMPONENTS STANDALONE_TEST) endif() diff --git a/tests/auto/quickcontrols/qquickiconlabel/CMakeLists.txt b/tests/auto/quickcontrols/qquickiconlabel/CMakeLists.txt index 66add1069d..4ed2f63d90 100644 --- a/tests/auto/quickcontrols/qquickiconlabel/CMakeLists.txt +++ b/tests/auto/quickcontrols/qquickiconlabel/CMakeLists.txt @@ -5,7 +5,7 @@ if (NOT QT_BUILD_STANDALONE_TESTS AND NOT QT_BUILDING_QT) cmake_minimum_required(VERSION 3.16) - project(tst_qquickiconlabel LANGUAGES C CXX ASM) + project(tst_qquickiconlabel LANGUAGES C CXX) find_package(Qt6BuildInternals REQUIRED COMPONENTS STANDALONE_TEST) endif() diff --git a/tests/auto/quickcontrols/qquickimaginestyle/CMakeLists.txt b/tests/auto/quickcontrols/qquickimaginestyle/CMakeLists.txt index 91df77c5c9..d33f0cff3a 100644 --- a/tests/auto/quickcontrols/qquickimaginestyle/CMakeLists.txt +++ b/tests/auto/quickcontrols/qquickimaginestyle/CMakeLists.txt @@ -5,7 +5,7 @@ if (NOT QT_BUILD_STANDALONE_TESTS AND NOT QT_BUILDING_QT) cmake_minimum_required(VERSION 3.16) - project(tst_qquickimaginestyle LANGUAGES C CXX ASM) + project(tst_qquickimaginestyle LANGUAGES C CXX) find_package(Qt6BuildInternals REQUIRED COMPONENTS STANDALONE_TEST) endif() diff --git a/tests/auto/quickcontrols/qquickmaterialstyle/CMakeLists.txt b/tests/auto/quickcontrols/qquickmaterialstyle/CMakeLists.txt index 452311019f..75b11b340a 100644 --- a/tests/auto/quickcontrols/qquickmaterialstyle/CMakeLists.txt +++ b/tests/auto/quickcontrols/qquickmaterialstyle/CMakeLists.txt @@ -5,7 +5,7 @@ if (NOT QT_BUILD_STANDALONE_TESTS AND NOT QT_BUILDING_QT) cmake_minimum_required(VERSION 3.16) - project(tst_qquickmaterialstyle LANGUAGES C CXX ASM) + project(tst_qquickmaterialstyle LANGUAGES C CXX) find_package(Qt6BuildInternals REQUIRED COMPONENTS STANDALONE_TEST) endif() diff --git a/tests/auto/quickcontrols/qquickmaterialstyleconf/CMakeLists.txt b/tests/auto/quickcontrols/qquickmaterialstyleconf/CMakeLists.txt index 575d7f6990..ea62f25e09 100644 --- a/tests/auto/quickcontrols/qquickmaterialstyleconf/CMakeLists.txt +++ b/tests/auto/quickcontrols/qquickmaterialstyleconf/CMakeLists.txt @@ -5,7 +5,7 @@ if (NOT QT_BUILD_STANDALONE_TESTS AND NOT QT_BUILDING_QT) cmake_minimum_required(VERSION 3.16) - project(tst_qquickmaterialstyleconf LANGUAGES C CXX ASM) + project(tst_qquickmaterialstyleconf LANGUAGES C CXX) find_package(Qt6BuildInternals REQUIRED COMPONENTS STANDALONE_TEST) endif() diff --git a/tests/auto/quickcontrols/qquickmenu/CMakeLists.txt b/tests/auto/quickcontrols/qquickmenu/CMakeLists.txt index 5fec9625e6..8014429ae4 100644 --- a/tests/auto/quickcontrols/qquickmenu/CMakeLists.txt +++ b/tests/auto/quickcontrols/qquickmenu/CMakeLists.txt @@ -5,7 +5,7 @@ if (NOT QT_BUILD_STANDALONE_TESTS AND NOT QT_BUILDING_QT) cmake_minimum_required(VERSION 3.16) - project(tst_qquickmenu LANGUAGES C CXX ASM) + project(tst_qquickmenu LANGUAGES C CXX) find_package(Qt6BuildInternals REQUIRED COMPONENTS STANDALONE_TEST) endif() diff --git a/tests/auto/quickcontrols/qquickmenubar/CMakeLists.txt b/tests/auto/quickcontrols/qquickmenubar/CMakeLists.txt index df6d3f1be6..a1e70b82be 100644 --- a/tests/auto/quickcontrols/qquickmenubar/CMakeLists.txt +++ b/tests/auto/quickcontrols/qquickmenubar/CMakeLists.txt @@ -5,7 +5,7 @@ if (NOT QT_BUILD_STANDALONE_TESTS AND NOT QT_BUILDING_QT) cmake_minimum_required(VERSION 3.16) - project(tst_qquickmenubar LANGUAGES C CXX ASM) + project(tst_qquickmenubar LANGUAGES C CXX) find_package(Qt6BuildInternals REQUIRED COMPONENTS STANDALONE_TEST) endif() diff --git a/tests/auto/quickcontrols/qquickninepatchimage/CMakeLists.txt b/tests/auto/quickcontrols/qquickninepatchimage/CMakeLists.txt index 003bdd7725..45579ddde5 100644 --- a/tests/auto/quickcontrols/qquickninepatchimage/CMakeLists.txt +++ b/tests/auto/quickcontrols/qquickninepatchimage/CMakeLists.txt @@ -5,7 +5,7 @@ if (NOT QT_BUILD_STANDALONE_TESTS AND NOT QT_BUILDING_QT) cmake_minimum_required(VERSION 3.16) - project(tst_qquickninepatchimage LANGUAGES C CXX ASM) + project(tst_qquickninepatchimage LANGUAGES C CXX) find_package(Qt6BuildInternals REQUIRED COMPONENTS STANDALONE_TEST) endif() diff --git a/tests/auto/quickcontrols/qquickoverlay/CMakeLists.txt b/tests/auto/quickcontrols/qquickoverlay/CMakeLists.txt index dca782642e..cf48739acb 100644 --- a/tests/auto/quickcontrols/qquickoverlay/CMakeLists.txt +++ b/tests/auto/quickcontrols/qquickoverlay/CMakeLists.txt @@ -3,7 +3,7 @@ if (NOT QT_BUILD_STANDALONE_TESTS AND NOT QT_BUILDING_QT) cmake_minimum_required(VERSION 3.16) - project(tst_qquickpopup LANGUAGES C CXX ASM) + project(tst_qquickpopup LANGUAGES C CXX) find_package(Qt6BuildInternals COMPONENTS STANDALONE_TEST) endif() diff --git a/tests/auto/quickcontrols/qquickpopup/CMakeLists.txt b/tests/auto/quickcontrols/qquickpopup/CMakeLists.txt index e9a39e137c..49a1580d81 100644 --- a/tests/auto/quickcontrols/qquickpopup/CMakeLists.txt +++ b/tests/auto/quickcontrols/qquickpopup/CMakeLists.txt @@ -5,7 +5,7 @@ if (NOT QT_BUILD_STANDALONE_TESTS AND NOT QT_BUILDING_QT) cmake_minimum_required(VERSION 3.16) - project(tst_qquickpopup LANGUAGES C CXX ASM) + project(tst_qquickpopup LANGUAGES C CXX) find_package(Qt6BuildInternals REQUIRED COMPONENTS STANDALONE_TEST) endif() diff --git a/tests/auto/quickcontrols/qquickstyle/CMakeLists.txt b/tests/auto/quickcontrols/qquickstyle/CMakeLists.txt index e75ae59ecc..2c8e59b274 100644 --- a/tests/auto/quickcontrols/qquickstyle/CMakeLists.txt +++ b/tests/auto/quickcontrols/qquickstyle/CMakeLists.txt @@ -5,7 +5,7 @@ if (NOT QT_BUILD_STANDALONE_TESTS AND NOT QT_BUILDING_QT) cmake_minimum_required(VERSION 3.16) - project(tst_qquickstyle LANGUAGES C CXX ASM) + project(tst_qquickstyle LANGUAGES C CXX) find_package(Qt6BuildInternals REQUIRED COMPONENTS STANDALONE_TEST) endif() diff --git a/tests/auto/quickcontrols/qquicktableviewdelegate/CMakeLists.txt b/tests/auto/quickcontrols/qquicktableviewdelegate/CMakeLists.txt index 9f045719ac..e044aba3a8 100644 --- a/tests/auto/quickcontrols/qquicktableviewdelegate/CMakeLists.txt +++ b/tests/auto/quickcontrols/qquicktableviewdelegate/CMakeLists.txt @@ -3,7 +3,7 @@ if (NOT QT_BUILD_STANDALONE_TESTS AND NOT QT_BUILDING_QT) cmake_minimum_required(VERSION 3.16) - project(tst_qquicktableviewdelegate LANGUAGES C CXX ASM) + project(tst_qquicktableviewdelegate LANGUAGES C CXX) find_package(Qt6BuildInternals REQUIRED COMPONENTS STANDALONE_TEST) endif() diff --git a/tests/auto/quickcontrols/qquicktextarea/CMakeLists.txt b/tests/auto/quickcontrols/qquicktextarea/CMakeLists.txt index b9db57d51e..5aa934becc 100644 --- a/tests/auto/quickcontrols/qquicktextarea/CMakeLists.txt +++ b/tests/auto/quickcontrols/qquicktextarea/CMakeLists.txt @@ -3,7 +3,7 @@ if (NOT QT_BUILD_STANDALONE_TESTS AND NOT QT_BUILDING_QT) cmake_minimum_required(VERSION 3.16) - project(tst_qquicktextarea LANGUAGES C CXX ASM) + project(tst_qquicktextarea LANGUAGES C CXX) find_package(Qt6BuildInternals REQUIRED COMPONENTS STANDALONE_TEST) endif() diff --git a/tests/auto/quickcontrols/qquicktextfield/CMakeLists.txt b/tests/auto/quickcontrols/qquicktextfield/CMakeLists.txt index 1cad180ef5..5eb3dbec83 100644 --- a/tests/auto/quickcontrols/qquicktextfield/CMakeLists.txt +++ b/tests/auto/quickcontrols/qquicktextfield/CMakeLists.txt @@ -3,7 +3,7 @@ if (NOT QT_BUILD_STANDALONE_TESTS AND NOT QT_BUILDING_QT) cmake_minimum_required(VERSION 3.16) - project(tst_qquicktextfield LANGUAGES C CXX ASM) + project(tst_qquicktextfield LANGUAGES C CXX) find_package(Qt6BuildInternals REQUIRED COMPONENTS STANDALONE_TEST) endif() diff --git a/tests/auto/quickcontrols/qquicktreeviewdelegate/CMakeLists.txt b/tests/auto/quickcontrols/qquicktreeviewdelegate/CMakeLists.txt index 1bfe33f2cb..8f96364489 100644 --- a/tests/auto/quickcontrols/qquicktreeviewdelegate/CMakeLists.txt +++ b/tests/auto/quickcontrols/qquicktreeviewdelegate/CMakeLists.txt @@ -3,7 +3,7 @@ if (NOT QT_BUILD_STANDALONE_TESTS AND NOT QT_BUILDING_QT) cmake_minimum_required(VERSION 3.16) - project(tst_qquicktreeviewdelegate LANGUAGES C CXX ASM) + project(tst_qquicktreeviewdelegate LANGUAGES C CXX) find_package(Qt6BuildInternals REQUIRED COMPONENTS STANDALONE_TEST) endif() diff --git a/tests/auto/quickcontrols/qquickuniversalstyle/CMakeLists.txt b/tests/auto/quickcontrols/qquickuniversalstyle/CMakeLists.txt index 2d5426402c..6a281b5e4c 100644 --- a/tests/auto/quickcontrols/qquickuniversalstyle/CMakeLists.txt +++ b/tests/auto/quickcontrols/qquickuniversalstyle/CMakeLists.txt @@ -5,7 +5,7 @@ if (NOT QT_BUILD_STANDALONE_TESTS AND NOT QT_BUILDING_QT) cmake_minimum_required(VERSION 3.16) - project(tst_qquickuniversalstyle LANGUAGES C CXX ASM) + project(tst_qquickuniversalstyle LANGUAGES C CXX) find_package(Qt6BuildInternals REQUIRED COMPONENTS STANDALONE_TEST) endif() diff --git a/tests/auto/quickcontrols/qquickuniversalstyleconf/CMakeLists.txt b/tests/auto/quickcontrols/qquickuniversalstyleconf/CMakeLists.txt index 6a2c41ebb5..348a9ecefc 100644 --- a/tests/auto/quickcontrols/qquickuniversalstyleconf/CMakeLists.txt +++ b/tests/auto/quickcontrols/qquickuniversalstyleconf/CMakeLists.txt @@ -5,7 +5,7 @@ if (NOT QT_BUILD_STANDALONE_TESTS AND NOT QT_BUILDING_QT) cmake_minimum_required(VERSION 3.16) - project(tst_qquickuniversalstyleconf LANGUAGES C CXX ASM) + project(tst_qquickuniversalstyleconf LANGUAGES C CXX) find_package(Qt6BuildInternals REQUIRED COMPONENTS STANDALONE_TEST) endif() diff --git a/tests/auto/quickcontrols/revisions/CMakeLists.txt b/tests/auto/quickcontrols/revisions/CMakeLists.txt index 2dc13eb887..6be38988a0 100644 --- a/tests/auto/quickcontrols/revisions/CMakeLists.txt +++ b/tests/auto/quickcontrols/revisions/CMakeLists.txt @@ -5,7 +5,7 @@ if (NOT QT_BUILD_STANDALONE_TESTS AND NOT QT_BUILDING_QT) cmake_minimum_required(VERSION 3.16) - project(tst_revisions LANGUAGES C CXX ASM) + project(tst_revisions LANGUAGES C CXX) find_package(Qt6BuildInternals REQUIRED COMPONENTS STANDALONE_TEST) endif() diff --git a/tests/auto/quickcontrols/sanity/CMakeLists.txt b/tests/auto/quickcontrols/sanity/CMakeLists.txt index bf9a061be7..2b50a02df4 100644 --- a/tests/auto/quickcontrols/sanity/CMakeLists.txt +++ b/tests/auto/quickcontrols/sanity/CMakeLists.txt @@ -5,7 +5,7 @@ if (NOT QT_BUILD_STANDALONE_TESTS AND NOT QT_BUILDING_QT) cmake_minimum_required(VERSION 3.16) - project(tst_sanity LANGUAGES C CXX ASM) + project(tst_sanity LANGUAGES C CXX) find_package(Qt6BuildInternals REQUIRED COMPONENTS STANDALONE_TEST) endif() diff --git a/tests/auto/quickcontrols/snippets/CMakeLists.txt b/tests/auto/quickcontrols/snippets/CMakeLists.txt index 37a4b67e49..40732eb84f 100644 --- a/tests/auto/quickcontrols/snippets/CMakeLists.txt +++ b/tests/auto/quickcontrols/snippets/CMakeLists.txt @@ -5,7 +5,7 @@ if (NOT QT_BUILD_STANDALONE_TESTS AND NOT QT_BUILDING_QT) cmake_minimum_required(VERSION 3.16) - project(tst_snippets LANGUAGES C CXX ASM) + project(tst_snippets LANGUAGES C CXX) find_package(Qt6BuildInternals REQUIRED COMPONENTS STANDALONE_TEST) endif() diff --git a/tests/auto/quickcontrols/styleimports/CMakeLists.txt b/tests/auto/quickcontrols/styleimports/CMakeLists.txt index b70031c3c3..9b8b05970d 100644 --- a/tests/auto/quickcontrols/styleimports/CMakeLists.txt +++ b/tests/auto/quickcontrols/styleimports/CMakeLists.txt @@ -5,7 +5,7 @@ if (NOT QT_BUILD_STANDALONE_TESTS AND NOT QT_BUILDING_QT) cmake_minimum_required(VERSION 3.16) - project(tst_styleimports LANGUAGES C CXX ASM) + project(tst_styleimports LANGUAGES C CXX) find_package(Qt6BuildInternals REQUIRED COMPONENTS STANDALONE_TEST) endif() diff --git a/tests/auto/quickcontrols/styleimportscompiletimematerial/CMakeLists.txt b/tests/auto/quickcontrols/styleimportscompiletimematerial/CMakeLists.txt index 69238c2bbd..d4fdcffe1a 100644 --- a/tests/auto/quickcontrols/styleimportscompiletimematerial/CMakeLists.txt +++ b/tests/auto/quickcontrols/styleimportscompiletimematerial/CMakeLists.txt @@ -5,7 +5,7 @@ if (NOT QT_BUILD_STANDALONE_TESTS AND NOT QT_BUILDING_QT) cmake_minimum_required(VERSION 3.16) - project(tst_styleimportscompiletimematerial LANGUAGES C CXX ASM) + project(tst_styleimportscompiletimematerial LANGUAGES C CXX) find_package(Qt6BuildInternals REQUIRED COMPONENTS STANDALONE_TEST) endif() diff --git a/tests/auto/quickcontrols/styleimportscompiletimeqmlonly/CMakeLists.txt b/tests/auto/quickcontrols/styleimportscompiletimeqmlonly/CMakeLists.txt index 11b4de75a7..3940aee987 100644 --- a/tests/auto/quickcontrols/styleimportscompiletimeqmlonly/CMakeLists.txt +++ b/tests/auto/quickcontrols/styleimportscompiletimeqmlonly/CMakeLists.txt @@ -5,7 +5,7 @@ if (NOT QT_BUILD_STANDALONE_TESTS AND NOT QT_BUILDING_QT) cmake_minimum_required(VERSION 3.16) - project(tst_styleimportscompiletimeqmlonly LANGUAGES C CXX ASM) + project(tst_styleimportscompiletimeqmlonly LANGUAGES C CXX) find_package(Qt6BuildInternals REQUIRED COMPONENTS STANDALONE_TEST) endif() diff --git a/tests/auto/quickcontrols/translation/CMakeLists.txt b/tests/auto/quickcontrols/translation/CMakeLists.txt index e56f3decb3..c4984e41f4 100644 --- a/tests/auto/quickcontrols/translation/CMakeLists.txt +++ b/tests/auto/quickcontrols/translation/CMakeLists.txt @@ -5,7 +5,7 @@ if (NOT QT_BUILD_STANDALONE_TESTS AND NOT QT_BUILDING_QT) cmake_minimum_required(VERSION 3.16) - project(tst_translation LANGUAGES C CXX ASM) + project(tst_translation LANGUAGES C CXX) find_package(Qt6BuildInternals REQUIRED COMPONENTS STANDALONE_TEST) endif() diff --git a/tests/baseline/scenegraph/data/shared/svg/animateFillStrokeOpacity.svg b/tests/baseline/scenegraph/data/shared/svg/animateFillStrokeOpacity.svg new file mode 100644 index 0000000000..0612f6d7df --- /dev/null +++ b/tests/baseline/scenegraph/data/shared/svg/animateFillStrokeOpacity.svg @@ -0,0 +1,18 @@ +<svg xmlns="http://www.w3.org/2000/svg" width="100" height="100"> + <style> + @keyframes opacity { + 0% {fill-opacity: 0; stroke-opacity: 0; } + 1% {fill-opacity: 0.75; stroke-opacity: 0.5; } + 100% {fill-opacity: 0.75; stroke-opacity: 0.5; } + } + + rect { + animation-duration: 50s; + animation-name: opacity; + animation-iteration-count: 1; + } + + </style> + <rect width="100" height="100" fill="green" stroke="red" stroke-width="6"/> + +</svg> diff --git a/tests/baseline/scenegraph/data/vectorimages/opacityAnimation.qml b/tests/baseline/scenegraph/data/vectorimages/opacityAnimation.qml index 4a4af0ffe4..b46cba920e 100644 --- a/tests/baseline/scenegraph/data/vectorimages/opacityAnimation.qml +++ b/tests/baseline/scenegraph/data/vectorimages/opacityAnimation.qml @@ -4,18 +4,20 @@ import QtQuick.VectorImage Rectangle { id: topLevelItem width: 200 - height: 100 + height: 200 ListModel { id: renderers ListElement { renderer: VectorImage.GeometryRenderer; src: "../shared/svg/animateOpacity.svg" } ListElement { renderer: VectorImage.CurveRenderer; src: "../shared/svg/animateOpacity.svg" } + ListElement { renderer: VectorImage.GeometryRenderer; src: "../shared/svg/animateFillStrokeOpacity.svg" } + ListElement { renderer: VectorImage.CurveRenderer; src: "../shared/svg/animateFillStrokeOpacity.svg" } } - Row { + Grid { + columns: 2 Repeater { model: renderers - VectorImage { layer.enabled: true layer.samples: 4 diff --git a/tests/benchmarks/quickcontrols/creationtime/CMakeLists.txt b/tests/benchmarks/quickcontrols/creationtime/CMakeLists.txt index b719e8148f..f877fedb1f 100644 --- a/tests/benchmarks/quickcontrols/creationtime/CMakeLists.txt +++ b/tests/benchmarks/quickcontrols/creationtime/CMakeLists.txt @@ -5,7 +5,7 @@ if (NOT QT_BUILD_STANDALONE_TESTS AND NOT QT_BUILDING_QT) cmake_minimum_required(VERSION 3.16) - project(tst_creationtime LANGUAGES C CXX ASM) + project(tst_creationtime LANGUAGES C CXX) find_package(Qt6BuildInternals COMPONENTS STANDALONE_TEST) endif() diff --git a/tests/benchmarks/quickcontrols/objectcount/CMakeLists.txt b/tests/benchmarks/quickcontrols/objectcount/CMakeLists.txt index 65fdf74a2c..251b60059f 100644 --- a/tests/benchmarks/quickcontrols/objectcount/CMakeLists.txt +++ b/tests/benchmarks/quickcontrols/objectcount/CMakeLists.txt @@ -5,7 +5,7 @@ if (NOT QT_BUILD_STANDALONE_TESTS AND NOT QT_BUILDING_QT) cmake_minimum_required(VERSION 3.16) - project(tst_objectcount LANGUAGES C CXX ASM) + project(tst_objectcount LANGUAGES C CXX) find_package(Qt6BuildInternals COMPONENTS STANDALONE_TEST) endif() diff --git a/tests/manual/fontfeatures/CMakeLists.txt b/tests/manual/fontfeatures/CMakeLists.txt index 7938d64803..9f829e9a0c 100644 --- a/tests/manual/fontfeatures/CMakeLists.txt +++ b/tests/manual/fontfeatures/CMakeLists.txt @@ -3,7 +3,7 @@ if (NOT QT_BUILD_STANDALONE_TESTS AND NOT QT_BUILDING_QT) cmake_minimum_required(VERSION 3.16) - project(fontfeatures LANGUAGES C CXX ASM) + project(fontfeatures LANGUAGES C CXX) find_package(Qt6BuildInternals COMPONENTS STANDALONE_TEST) endif() diff --git a/tests/manual/listview/reuseItems/CMakeLists.txt b/tests/manual/listview/reuseItems/CMakeLists.txt index 81becfb9df..5362612ec4 100644 --- a/tests/manual/listview/reuseItems/CMakeLists.txt +++ b/tests/manual/listview/reuseItems/CMakeLists.txt @@ -3,7 +3,7 @@ if (NOT QT_BUILD_STANDALONE_TESTS AND NOT QT_BUILDING_QT) cmake_minimum_required(VERSION 3.16) - project(listview LANGUAGES C CXX ASM) + project(listview LANGUAGES C CXX) find_package(Qt6BuildInternals COMPONENTS STANDALONE_TEST) endif() diff --git a/tests/manual/painterpathquickshape/CMakeLists.txt b/tests/manual/painterpathquickshape/CMakeLists.txt index 4677fad26c..beb26a7569 100644 --- a/tests/manual/painterpathquickshape/CMakeLists.txt +++ b/tests/manual/painterpathquickshape/CMakeLists.txt @@ -4,7 +4,7 @@ cmake_minimum_required(VERSION 3.16) if (NOT QT_BUILD_STANDALONE_TESTS AND NOT QT_BUILDING_QT) - project(painterPathQuickShape LANGUAGES C CXX ASM) + project(painterPathQuickShape LANGUAGES C CXX) find_package(Qt6BuildInternals COMPONENTS STANDALONE_TEST) endif() diff --git a/tests/manual/quickcontrols/buttons/CMakeLists.txt b/tests/manual/quickcontrols/buttons/CMakeLists.txt index 048645b43f..31d01abc7c 100644 --- a/tests/manual/quickcontrols/buttons/CMakeLists.txt +++ b/tests/manual/quickcontrols/buttons/CMakeLists.txt @@ -5,7 +5,7 @@ if (NOT QT_BUILD_STANDALONE_TESTS AND NOT QT_BUILDING_QT) cmake_minimum_required(VERSION 3.16) - project(buttons LANGUAGES C CXX ASM) + project(buttons LANGUAGES C CXX) find_package(Qt6BuildInternals COMPONENTS STANDALONE_TEST) endif() diff --git a/tests/manual/quickcontrols/fonts/CMakeLists.txt b/tests/manual/quickcontrols/fonts/CMakeLists.txt index 476b7f1a7a..4ef977e518 100644 --- a/tests/manual/quickcontrols/fonts/CMakeLists.txt +++ b/tests/manual/quickcontrols/fonts/CMakeLists.txt @@ -5,7 +5,7 @@ if (NOT QT_BUILD_STANDALONE_TESTS AND NOT QT_BUILDING_QT) cmake_minimum_required(VERSION 3.16) - project(fonts LANGUAGES C CXX ASM) + project(fonts LANGUAGES C CXX) find_package(Qt6BuildInternals COMPONENTS STANDALONE_TEST) endif() diff --git a/tests/manual/quickcontrols/gifs/CMakeLists.txt b/tests/manual/quickcontrols/gifs/CMakeLists.txt index 674806e145..deb982dc18 100644 --- a/tests/manual/quickcontrols/gifs/CMakeLists.txt +++ b/tests/manual/quickcontrols/gifs/CMakeLists.txt @@ -5,7 +5,7 @@ if (NOT QT_BUILD_STANDALONE_TESTS AND NOT QT_BUILDING_QT) cmake_minimum_required(VERSION 3.16) - project(tst_gifs LANGUAGES C CXX ASM) + project(tst_gifs LANGUAGES C CXX) find_package(Qt6BuildInternals COMPONENTS STANDALONE_TEST) endif() diff --git a/tests/manual/quickcontrols/headerview/CMakeLists.txt b/tests/manual/quickcontrols/headerview/CMakeLists.txt index fd00f693c8..1973f1a2fd 100644 --- a/tests/manual/quickcontrols/headerview/CMakeLists.txt +++ b/tests/manual/quickcontrols/headerview/CMakeLists.txt @@ -5,7 +5,7 @@ if (NOT QT_BUILD_STANDALONE_TESTS AND NOT QT_BUILDING_QT) cmake_minimum_required(VERSION 3.16) - project(headerview LANGUAGES C CXX ASM) + project(headerview LANGUAGES C CXX) find_package(Qt6BuildInternals COMPONENTS STANDALONE_TEST) endif() diff --git a/tests/manual/quickcontrols/material/CMakeLists.txt b/tests/manual/quickcontrols/material/CMakeLists.txt index 8c18341bbe..232771b88e 100644 --- a/tests/manual/quickcontrols/material/CMakeLists.txt +++ b/tests/manual/quickcontrols/material/CMakeLists.txt @@ -3,7 +3,7 @@ if (NOT QT_BUILD_STANDALONE_TESTS AND NOT QT_BUILDING_QT) cmake_minimum_required(VERSION 3.16) - project(material LANGUAGES C CXX ASM) + project(material LANGUAGES C CXX) find_package(Qt6BuildInternals COMPONENTS STANDALONE_TEST) endif() diff --git a/tests/manual/quickcontrols/qquickdialog/CMakeLists.txt b/tests/manual/quickcontrols/qquickdialog/CMakeLists.txt index 232dae7ffa..d2322ed934 100644 --- a/tests/manual/quickcontrols/qquickdialog/CMakeLists.txt +++ b/tests/manual/quickcontrols/qquickdialog/CMakeLists.txt @@ -3,7 +3,7 @@ if (NOT QT_BUILD_STANDALONE_TESTS AND NOT QT_BUILDING_QT) cmake_minimum_required(VERSION 3.16) - project(qquickdialog LANGUAGES C CXX ASM) + project(qquickdialog LANGUAGES C CXX) find_package(Qt6BuildInternals COMPONENTS STANDALONE_TEST) endif() diff --git a/tests/manual/quickcontrols/screenshots/CMakeLists.txt b/tests/manual/quickcontrols/screenshots/CMakeLists.txt index 32d465b9d4..ece360c1c0 100644 --- a/tests/manual/quickcontrols/screenshots/CMakeLists.txt +++ b/tests/manual/quickcontrols/screenshots/CMakeLists.txt @@ -5,7 +5,7 @@ if (NOT QT_BUILD_STANDALONE_TESTS AND NOT QT_BUILDING_QT) cmake_minimum_required(VERSION 3.16) - project(screenshots LANGUAGES C CXX ASM) + project(screenshots LANGUAGES C CXX) find_package(Qt6BuildInternals COMPONENTS STANDALONE_TEST) endif() diff --git a/tests/manual/quickcontrols/styles-cover-flow/CMakeLists.txt b/tests/manual/quickcontrols/styles-cover-flow/CMakeLists.txt index b2fa66bf44..8412eeab4d 100644 --- a/tests/manual/quickcontrols/styles-cover-flow/CMakeLists.txt +++ b/tests/manual/quickcontrols/styles-cover-flow/CMakeLists.txt @@ -5,7 +5,7 @@ if (NOT QT_BUILD_STANDALONE_TESTS AND NOT QT_BUILDING_QT) cmake_minimum_required(VERSION 3.16) - project(styles-cover-flow LANGUAGES C CXX ASM) + project(styles-cover-flow LANGUAGES C CXX) find_package(Qt6BuildInternals COMPONENTS STANDALONE_TEST) endif() diff --git a/tests/manual/quickcontrols/styles/CMakeLists.txt b/tests/manual/quickcontrols/styles/CMakeLists.txt index 479fcfdc22..05aebfe89f 100644 --- a/tests/manual/quickcontrols/styles/CMakeLists.txt +++ b/tests/manual/quickcontrols/styles/CMakeLists.txt @@ -5,7 +5,7 @@ if (NOT QT_BUILD_STANDALONE_TESTS AND NOT QT_BUILDING_QT) cmake_minimum_required(VERSION 3.16) - project(styles LANGUAGES C CXX ASM) + project(styles LANGUAGES C CXX) find_package(Qt6BuildInternals COMPONENTS STANDALONE_TEST) endif() diff --git a/tests/manual/quickcontrols/systemtrayicon/CMakeLists.txt b/tests/manual/quickcontrols/systemtrayicon/CMakeLists.txt index b8913ec986..4a415c767a 100644 --- a/tests/manual/quickcontrols/systemtrayicon/CMakeLists.txt +++ b/tests/manual/quickcontrols/systemtrayicon/CMakeLists.txt @@ -5,7 +5,7 @@ if (NOT QT_BUILD_STANDALONE_TESTS AND NOT QT_BUILDING_QT) cmake_minimum_required(VERSION 3.16) - project(systemtrayicon LANGUAGES C CXX ASM) + project(systemtrayicon LANGUAGES C CXX) find_package(Qt6BuildInternals COMPONENTS STANDALONE_TEST) endif() diff --git a/tests/manual/quickcontrols/testbench/CMakeLists.txt b/tests/manual/quickcontrols/testbench/CMakeLists.txt index 64d8aa734d..98fc538e79 100644 --- a/tests/manual/quickcontrols/testbench/CMakeLists.txt +++ b/tests/manual/quickcontrols/testbench/CMakeLists.txt @@ -5,7 +5,7 @@ if (NOT QT_BUILD_STANDALONE_TESTS AND NOT QT_BUILDING_QT) cmake_minimum_required(VERSION 3.16) - project(testbench LANGUAGES C CXX ASM) + project(testbench LANGUAGES C CXX) find_package(Qt6BuildInternals COMPONENTS STANDALONE_TEST) endif() diff --git a/tests/manual/quickcontrols/viewinqwidget/CMakeLists.txt b/tests/manual/quickcontrols/viewinqwidget/CMakeLists.txt index 7deba0df55..848d2171a0 100644 --- a/tests/manual/quickcontrols/viewinqwidget/CMakeLists.txt +++ b/tests/manual/quickcontrols/viewinqwidget/CMakeLists.txt @@ -5,7 +5,7 @@ if (NOT QT_BUILD_STANDALONE_TESTS AND NOT QT_BUILDING_QT) cmake_minimum_required(VERSION 3.16) - project(viewinqwidget LANGUAGES C CXX ASM) + project(viewinqwidget LANGUAGES C CXX) find_package(Qt6BuildInternals COMPONENTS STANDALONE_TEST) endif() diff --git a/tests/manual/quickdialogs/dialogs/CMakeLists.txt b/tests/manual/quickdialogs/dialogs/CMakeLists.txt index 65d641f333..d2a20d96e9 100644 --- a/tests/manual/quickdialogs/dialogs/CMakeLists.txt +++ b/tests/manual/quickdialogs/dialogs/CMakeLists.txt @@ -3,7 +3,7 @@ if (NOT QT_BUILD_STANDALONE_TESTS AND NOT QT_BUILDING_QT) cmake_minimum_required(VERSION 3.16) - project(dialogs LANGUAGES C CXX ASM) + project(dialogs LANGUAGES C CXX) find_package(Qt6BuildInternals COMPONENTS STANDALONE_TEST) endif() diff --git a/tests/manual/quicklayouts/sizepolicies/CMakeLists.txt b/tests/manual/quicklayouts/sizepolicies/CMakeLists.txt index ad0056cf46..f1f5560c69 100644 --- a/tests/manual/quicklayouts/sizepolicies/CMakeLists.txt +++ b/tests/manual/quicklayouts/sizepolicies/CMakeLists.txt @@ -3,7 +3,7 @@ if (NOT QT_BUILD_STANDALONE_TESTS AND NOT QT_BUILDING_QT) cmake_minimum_required(VERSION 3.16) - project(sizepolicies LANGUAGES C CXX ASM) + project(sizepolicies LANGUAGES C CXX) find_package(Qt6BuildInternals COMPONENTS STANDALONE_TEST) endif() diff --git a/tests/manual/quickvectorimage/vectorimage/CMakeLists.txt b/tests/manual/quickvectorimage/vectorimage/CMakeLists.txt index 631009594f..1ade1d3eb3 100644 --- a/tests/manual/quickvectorimage/vectorimage/CMakeLists.txt +++ b/tests/manual/quickvectorimage/vectorimage/CMakeLists.txt @@ -3,7 +3,7 @@ if (NOT QT_BUILD_STANDALONE_TESTS AND NOT QT_BUILDING_QT) cmake_minimum_required(VERSION 3.16) - project(svgitem LANGUAGES C CXX ASM) + project(svgitem LANGUAGES C CXX) find_package(Qt6BuildInternals COMPONENTS STANDALONE_TEST) endif() diff --git a/tests/manual/righttoleft/layoutdirection/CMakeLists.txt b/tests/manual/righttoleft/layoutdirection/CMakeLists.txt index 7c1e38e79a..f442f17012 100644 --- a/tests/manual/righttoleft/layoutdirection/CMakeLists.txt +++ b/tests/manual/righttoleft/layoutdirection/CMakeLists.txt @@ -3,7 +3,7 @@ if (NOT QT_BUILD_STANDALONE_TESTS AND NOT QT_BUILDING_QT) cmake_minimum_required(VERSION 3.16) - project(layoutdirection LANGUAGES C CXX ASM) + project(layoutdirection LANGUAGES C CXX) find_package(Qt6BuildInternals COMPONENTS STANDALONE_TEST) endif() diff --git a/tests/manual/righttoleft/layoutmirroring/CMakeLists.txt b/tests/manual/righttoleft/layoutmirroring/CMakeLists.txt index 69fb0a05a8..cc8a04693a 100644 --- a/tests/manual/righttoleft/layoutmirroring/CMakeLists.txt +++ b/tests/manual/righttoleft/layoutmirroring/CMakeLists.txt @@ -3,7 +3,7 @@ if (NOT QT_BUILD_STANDALONE_TESTS AND NOT QT_BUILDING_QT) cmake_minimum_required(VERSION 3.16) - project(layoutmirroring LANGUAGES C CXX ASM) + project(layoutmirroring LANGUAGES C CXX) find_package(Qt6BuildInternals COMPONENTS STANDALONE_TEST) endif() diff --git a/tests/manual/righttoleft/textalignment/CMakeLists.txt b/tests/manual/righttoleft/textalignment/CMakeLists.txt index fa0c90f79c..f04cb76184 100644 --- a/tests/manual/righttoleft/textalignment/CMakeLists.txt +++ b/tests/manual/righttoleft/textalignment/CMakeLists.txt @@ -3,7 +3,7 @@ if (NOT QT_BUILD_STANDALONE_TESTS AND NOT QT_BUILDING_QT) cmake_minimum_required(VERSION 3.16) - project(textalignment LANGUAGES C CXX ASM) + project(textalignment LANGUAGES C CXX) find_package(Qt6BuildInternals COMPONENTS STANDALONE_TEST) endif() diff --git a/tests/manual/tableview/abstracttablemodel/CMakeLists.txt b/tests/manual/tableview/abstracttablemodel/CMakeLists.txt index 7f49c14567..7c6c62d61c 100644 --- a/tests/manual/tableview/abstracttablemodel/CMakeLists.txt +++ b/tests/manual/tableview/abstracttablemodel/CMakeLists.txt @@ -5,7 +5,7 @@ if (NOT QT_BUILD_STANDALONE_TESTS AND NOT QT_BUILDING_QT) cmake_minimum_required(VERSION 3.16) - project(tableview_abstracttablemodel LANGUAGES C CXX ASM) + project(tableview_abstracttablemodel LANGUAGES C CXX) find_package(Qt6BuildInternals COMPONENTS STANDALONE_TEST) endif() diff --git a/tests/manual/tableview/listmodel/CMakeLists.txt b/tests/manual/tableview/listmodel/CMakeLists.txt index 0f5c27ca87..ffadc2ea47 100644 --- a/tests/manual/tableview/listmodel/CMakeLists.txt +++ b/tests/manual/tableview/listmodel/CMakeLists.txt @@ -5,7 +5,7 @@ if (NOT QT_BUILD_STANDALONE_TESTS AND NOT QT_BUILDING_QT) cmake_minimum_required(VERSION 3.16) - project(tableview_listmodel LANGUAGES C CXX ASM) + project(tableview_listmodel LANGUAGES C CXX) find_package(Qt6BuildInternals COMPONENTS STANDALONE_TEST) endif() diff --git a/tests/manual/tableview/storagemodel/CMakeLists.txt b/tests/manual/tableview/storagemodel/CMakeLists.txt index 11ca5971ba..589cf7f3bc 100644 --- a/tests/manual/tableview/storagemodel/CMakeLists.txt +++ b/tests/manual/tableview/storagemodel/CMakeLists.txt @@ -5,7 +5,7 @@ if (NOT QT_BUILD_STANDALONE_TESTS AND NOT QT_BUILDING_QT) cmake_minimum_required(VERSION 3.16) - project(tableview_storage LANGUAGES C CXX ASM) + project(tableview_storage LANGUAGES C CXX) find_package(Qt6BuildInternals COMPONENTS STANDALONE_TEST) endif() diff --git a/tests/manual/tableview/tablemodel/form/CMakeLists.txt b/tests/manual/tableview/tablemodel/form/CMakeLists.txt index 1943079f9f..f355677a44 100644 --- a/tests/manual/tableview/tablemodel/form/CMakeLists.txt +++ b/tests/manual/tableview/tablemodel/form/CMakeLists.txt @@ -5,7 +5,7 @@ if (NOT QT_BUILD_STANDALONE_TESTS AND NOT QT_BUILDING_QT) cmake_minimum_required(VERSION 3.16) - project(form LANGUAGES C CXX ASM) + project(form LANGUAGES C CXX) find_package(Qt6BuildInternals COMPONENTS STANDALONE_TEST) endif() diff --git a/tests/manual/tableview/tablemodel/json/CMakeLists.txt b/tests/manual/tableview/tablemodel/json/CMakeLists.txt index 279fae77b6..aeb6253447 100644 --- a/tests/manual/tableview/tablemodel/json/CMakeLists.txt +++ b/tests/manual/tableview/tablemodel/json/CMakeLists.txt @@ -5,7 +5,7 @@ if (NOT QT_BUILD_STANDALONE_TESTS AND NOT QT_BUILDING_QT) cmake_minimum_required(VERSION 3.16) - project(json LANGUAGES C CXX ASM) + project(json LANGUAGES C CXX) find_package(Qt6BuildInternals COMPONENTS STANDALONE_TEST) endif() diff --git a/tests/manual/textrendering/CMakeLists.txt b/tests/manual/textrendering/CMakeLists.txt index 9987010192..2f43b05084 100644 --- a/tests/manual/textrendering/CMakeLists.txt +++ b/tests/manual/textrendering/CMakeLists.txt @@ -4,7 +4,7 @@ cmake_minimum_required(VERSION 3.16) if (NOT QT_BUILD_STANDALONE_TESTS AND NOT QT_BUILDING_QT) - project(textrendering LANGUAGES C CXX ASM) + project(textrendering LANGUAGES C CXX) find_package(Qt6BuildInternals COMPONENTS STANDALONE_TEST) endif() diff --git a/tests/manual/threading/threadedlistmodel/CMakeLists.txt b/tests/manual/threading/threadedlistmodel/CMakeLists.txt index 68fb5c511c..e479ca921c 100644 --- a/tests/manual/threading/threadedlistmodel/CMakeLists.txt +++ b/tests/manual/threading/threadedlistmodel/CMakeLists.txt @@ -3,7 +3,7 @@ if (NOT QT_BUILD_STANDALONE_TESTS AND NOT QT_BUILDING_QT) cmake_minimum_required(VERSION 3.16) - project(threadedlistmodel LANGUAGES C CXX ASM) + project(threadedlistmodel LANGUAGES C CXX) find_package(Qt6BuildInternals COMPONENTS STANDALONE_TEST) endif() diff --git a/tests/manual/threading/workerscript/CMakeLists.txt b/tests/manual/threading/workerscript/CMakeLists.txt index 3f73985b33..74fd1ea861 100644 --- a/tests/manual/threading/workerscript/CMakeLists.txt +++ b/tests/manual/threading/workerscript/CMakeLists.txt @@ -3,7 +3,7 @@ if (NOT QT_BUILD_STANDALONE_TESTS AND NOT QT_BUILDING_QT) cmake_minimum_required(VERSION 3.16) - project(workerscript LANGUAGES C CXX ASM) + project(workerscript LANGUAGES C CXX) find_package(Qt6BuildInternals COMPONENTS STANDALONE_TEST) endif() diff --git a/tests/manual/treeview/sidebyside/CMakeLists.txt b/tests/manual/treeview/sidebyside/CMakeLists.txt index 046ab4e3bd..91e6c3d016 100644 --- a/tests/manual/treeview/sidebyside/CMakeLists.txt +++ b/tests/manual/treeview/sidebyside/CMakeLists.txt @@ -5,7 +5,7 @@ if (NOT QT_BUILD_STANDALONE_TESTS AND NOT QT_BUILDING_QT) cmake_minimum_required(VERSION 3.16) - project(treeview_sidebyside LANGUAGES C CXX ASM) + project(treeview_sidebyside LANGUAGES C CXX) find_package(Qt6BuildInternals COMPONENTS STANDALONE_TEST) endif() diff --git a/tests/manual/wasm/a11y/qml_basic_item/CMakeLists.txt b/tests/manual/wasm/a11y/qml_basic_item/CMakeLists.txt index 2214747fe5..0e87ef1aa5 100644 --- a/tests/manual/wasm/a11y/qml_basic_item/CMakeLists.txt +++ b/tests/manual/wasm/a11y/qml_basic_item/CMakeLists.txt @@ -4,7 +4,7 @@ if (NOT QT_BUILD_STANDALONE_TESTS AND NOT QT_BUILDING_QT) cmake_minimum_required(VERSION 3.16) - project(textManual LANGUAGES C CXX ASM) + project(textManual LANGUAGES C CXX) find_package(Qt6BuildInternals COMPONENTS STANDALONE_TEST) endif() |