diff options
Diffstat (limited to 'tests/auto')
51 files changed, 1954 insertions, 86 deletions
diff --git a/tests/auto/CMakeLists.txt b/tests/auto/CMakeLists.txt new file mode 100644 index 00000000..8976a7dd --- /dev/null +++ b/tests/auto/CMakeLists.txt @@ -0,0 +1,34 @@ +# Generated from auto.pro. + +add_subdirectory(accessibility) +add_subdirectory(calendar) +add_subdirectory(controls) +add_subdirectory(cursor) +add_subdirectory(customization) +add_subdirectory(designer) +add_subdirectory(focus) +add_subdirectory(font) +add_subdirectory(palette) +add_subdirectory(platform) +add_subdirectory(pressandhold) +add_subdirectory(qquickapplicationwindow) +add_subdirectory(qquickcolor) +add_subdirectory(qquickdrawer) +add_subdirectory(qquickheaderview) +add_subdirectory(qquickiconimage) +add_subdirectory(qquickiconlabel) +add_subdirectory(qquickimaginestyle) +add_subdirectory(qquickmaterialstyle) +add_subdirectory(qquickmaterialstyleconf) +add_subdirectory(qquickmenu) +add_subdirectory(qquickmenubar) +add_subdirectory(qquickninepatchimage) +add_subdirectory(qquickpopup) +add_subdirectory(qquickstyle) +add_subdirectory(qquickstyleselector) +add_subdirectory(qquickuniversalstyle) +add_subdirectory(qquickuniversalstyleconf) +add_subdirectory(revisions) +add_subdirectory(sanity) +add_subdirectory(snippets) +add_subdirectory(translation) diff --git a/tests/auto/accessibility/CMakeLists.txt b/tests/auto/accessibility/CMakeLists.txt new file mode 100644 index 00000000..a1f67d17 --- /dev/null +++ b/tests/auto/accessibility/CMakeLists.txt @@ -0,0 +1,47 @@ +# Generated from accessibility.pro. + +##################################################################### +## tst_accessibility Test: +##################################################################### + +# Collect test data +file(GLOB_RECURSE test_data_glob + RELATIVE ${CMAKE_CURRENT_SOURCE_DIR} + data/*) +list(APPEND test_data ${test_data_glob}) + +qt_add_test(tst_accessibility + SOURCES + ../shared/qtest_quickcontrols.h + ../shared/util.cpp ../shared/util.h + ../shared/visualtestutil.cpp ../shared/visualtestutil.h + tst_accessibility.cpp + DEFINES + QQC2_IMPORT_PATH=\\\"${CMAKE_CURRENT_SOURCE_DIR}/../../../src/imports\\\" + PUBLIC_LIBRARIES + Qt::CorePrivate + Qt::Gui + Qt::GuiPrivate + Qt::QmlPrivate + Qt::QuickControls2 + Qt::QuickPrivate + Qt::QuickTemplates2Private + Qt::TestPrivate + TESTDATA ${test_data} +) + +#### Keys ignored in scope 1:.:.:accessibility.pro:<TRUE>: +# OTHER_FILES = "data/*.qml" + +## Scopes: +##################################################################### + +qt_extend_target(tst_accessibility CONDITION ANDROID OR IOS + DEFINES + QT_QMLTEST_DATADIR=\\\":/data\\\" +) + +qt_extend_target(tst_accessibility CONDITION NOT ANDROID AND NOT IOS + DEFINES + QT_QMLTEST_DATADIR=\\\"${CMAKE_CURRENT_SOURCE_DIR}/data\\\" +) diff --git a/tests/auto/calendar/CMakeLists.txt b/tests/auto/calendar/CMakeLists.txt new file mode 100644 index 00000000..34937d14 --- /dev/null +++ b/tests/auto/calendar/CMakeLists.txt @@ -0,0 +1,25 @@ +# Generated from calendar.pro. + +##################################################################### +## tst_calendar Test: +##################################################################### + +# Collect test data +file(GLOB_RECURSE test_data_glob + RELATIVE ${CMAKE_CURRENT_SOURCE_DIR} + ${CMAKE_CURRENT_SOURCE_DIR}/data/tst_*) +list(APPEND test_data ${test_data_glob}) + +qt_add_test(tst_calendar + GUI + QMLTEST + SOURCES + tst_calendar.cpp + PUBLIC_LIBRARIES + Qt::Gui + TESTDATA ${test_data} +) + +#### Keys ignored in scope 1:.:.:calendar.pro:<TRUE>: +# OTHER_FILES = "$$PWD/data/*.qml" +# TEMPLATE = "app" diff --git a/tests/auto/controls/CMakeLists.txt b/tests/auto/controls/CMakeLists.txt new file mode 100644 index 00000000..57cb9480 --- /dev/null +++ b/tests/auto/controls/CMakeLists.txt @@ -0,0 +1,7 @@ +# Generated from controls.pro. + +add_subdirectory(default) +add_subdirectory(fusion) +add_subdirectory(imagine) +add_subdirectory(material) +add_subdirectory(universal) diff --git a/tests/auto/controls/data/TumblerListView.qml b/tests/auto/controls/data/TumblerListView.qml index affaa6cd..33504f33 100644 --- a/tests/auto/controls/data/TumblerListView.qml +++ b/tests/auto/controls/data/TumblerListView.qml @@ -52,7 +52,8 @@ import QtQuick 2.12 import QtQuick.Controls 2.12 ListView { - anchors.fill: parent + implicitWidth: 60 + implicitHeight: 200 snapMode: ListView.SnapToItem highlightRangeMode: ListView.StrictlyEnforceRange preferredHighlightBegin: height / 2 - (height / parent.visibleItemCount / 2) diff --git a/tests/auto/controls/data/TumblerPathView.qml b/tests/auto/controls/data/TumblerPathView.qml index 8ea86eae..ec0d73ef 100644 --- a/tests/auto/controls/data/TumblerPathView.qml +++ b/tests/auto/controls/data/TumblerPathView.qml @@ -53,6 +53,8 @@ import QtQuick.Controls 2.12 PathView { id: pathView + implicitWidth: 60 + implicitHeight: 200 clip: true pathItemCount: parent.visibleItemCount + 1 preferredHighlightBegin: 0.5 diff --git a/tests/auto/controls/data/tst_combobox.qml b/tests/auto/controls/data/tst_combobox.qml index 2d5069b3..abdb0a29 100644 --- a/tests/auto/controls/data/tst_combobox.qml +++ b/tests/auto/controls/data/tst_combobox.qml @@ -48,7 +48,7 @@ ** ****************************************************************************/ -import QtQuick 2.12 +import QtQuick 2.14 import QtQuick.Window 2.2 import QtTest 1.0 import QtQuick.Controls 2.12 @@ -354,9 +354,9 @@ TestCase { { tag: "bananas (MatchExactly)", term: "bananas", flags: Qt.MatchExactly, index: -1 }, { tag: "Cocomuffin (MatchExactly)", term: "Cocomuffin", flags: Qt.MatchExactly, index: 4 }, - { tag: "b(an)+a (MatchRegExp)", term: "B(an)+a", flags: Qt.MatchRegExp, index: 0 }, - { tag: "b(an)+a (MatchRegExp|MatchCaseSensitive)", term: "b(an)+a", flags: Qt.MatchRegExp | Qt.MatchCaseSensitive, index: 1 }, - { tag: "[coc]+\\w+ (MatchRegExp)", term: "[coc]+\\w+", flags: Qt.MatchRegExp, index: 2 }, + { tag: "b(an)+a (MatchRegularExpression)", term: "B(an)+a", flags: Qt.MatchRegularExpression, index: 0 }, + { tag: "b(an)+a (MatchRegularExpression|MatchCaseSensitive)", term: "b(an)+a", flags: Qt.MatchRegularExpression | Qt.MatchCaseSensitive, index: 1 }, + { tag: "[coc]+\\w+ (MatchRegularExpression)", term: "[coc]+\\w+", flags: Qt.MatchRegularExpression, index: 2 }, { tag: "?pp* (MatchWildcard)", term: "?pp*", flags: Qt.MatchWildcard, index: 3 }, { tag: "app* (MatchWildcard|MatchCaseSensitive)", term: "app*", flags: Qt.MatchWildcard | Qt.MatchCaseSensitive, index: -1 }, @@ -1408,9 +1408,9 @@ TestCase { } } - RegExpValidator { + RegularExpressionValidator { id: regExpValidator - regExp: /(red|blue|green)?/ + regularExpression: /(red|blue|green)?/ } function test_validator() { diff --git a/tests/auto/controls/data/tst_spinbox.qml b/tests/auto/controls/data/tst_spinbox.qml index 22dbb352..a5c40cd3 100644 --- a/tests/auto/controls/data/tst_spinbox.qml +++ b/tests/auto/controls/data/tst_spinbox.qml @@ -48,7 +48,7 @@ ** ****************************************************************************/ -import QtQuick 2.12 +import QtQuick 2.14 import QtTest 1.0 import QtQuick.Controls 2.12 import QtQuick.Window 2.12 @@ -623,8 +623,8 @@ TestCase { property var items: ["Small", "Medium", "Large"] - validator: RegExpValidator { - regExp: new RegExp("(Small|Medium|Large)", "i") + validator: RegularExpressionValidator { + regularExpression: new RegExp("(Small|Medium|Large)", "i") } textFromValue: function(value) { diff --git a/tests/auto/controls/default/CMakeLists.txt b/tests/auto/controls/default/CMakeLists.txt new file mode 100644 index 00000000..9a4f6cbd --- /dev/null +++ b/tests/auto/controls/default/CMakeLists.txt @@ -0,0 +1,27 @@ +# Generated from default.pro. + +##################################################################### +## tst_default Test: +##################################################################### + +# Collect test data +file(GLOB_RECURSE test_data_glob + RELATIVE ${CMAKE_CURRENT_SOURCE_DIR} + ${CMAKE_CURRENT_SOURCE_DIR}/../data/tst_*) +list(APPEND test_data ${test_data_glob}) + +qt_add_test(tst_default + GUI + QMLTEST + SOURCES + tst_default.cpp + DEFINES + TST_CONTROLS_DATA=\\\"${CMAKE_CURRENT_SOURCE_DIR}/../../../../tests/auto/controls/data\\\" + PUBLIC_LIBRARIES + Qt::Gui + TESTDATA ${test_data} +) + +#### Keys ignored in scope 1:.:.:default.pro:<TRUE>: +# OTHER_FILES = "$$PWD/../data/*.qml" +# TEMPLATE = "app" diff --git a/tests/auto/controls/fusion/CMakeLists.txt b/tests/auto/controls/fusion/CMakeLists.txt new file mode 100644 index 00000000..fd348526 --- /dev/null +++ b/tests/auto/controls/fusion/CMakeLists.txt @@ -0,0 +1,28 @@ +# Generated from fusion.pro. + +##################################################################### +## tst_fusion Test: +##################################################################### + +# Collect test data +file(GLOB_RECURSE test_data_glob + RELATIVE ${CMAKE_CURRENT_SOURCE_DIR} + ${CMAKE_CURRENT_SOURCE_DIR}/../data/tst_*) +list(APPEND test_data ${test_data_glob}) + +qt_add_test(tst_fusion + GUI + QMLTEST + SOURCES + tst_fusion.cpp + DEFINES + TST_CONTROLS_DATA=\\\"${CMAKE_CURRENT_SOURCE_DIR}/../../../../tests/auto/controls/data\\\" + PUBLIC_LIBRARIES + Qt::Gui + Qt::QuickControls2 + TESTDATA ${test_data} +) + +#### Keys ignored in scope 1:.:.:fusion.pro:<TRUE>: +# OTHER_FILES = "$$PWD/../data/*.qml" +# TEMPLATE = "app" diff --git a/tests/auto/controls/imagine/CMakeLists.txt b/tests/auto/controls/imagine/CMakeLists.txt new file mode 100644 index 00000000..9d7f2e3a --- /dev/null +++ b/tests/auto/controls/imagine/CMakeLists.txt @@ -0,0 +1,28 @@ +# Generated from imagine.pro. + +##################################################################### +## tst_imagine Test: +##################################################################### + +# Collect test data +file(GLOB_RECURSE test_data_glob + RELATIVE ${CMAKE_CURRENT_SOURCE_DIR} + ${CMAKE_CURRENT_SOURCE_DIR}/../data/tst_*) +list(APPEND test_data ${test_data_glob}) + +qt_add_test(tst_imagine + GUI + QMLTEST + SOURCES + tst_imagine.cpp + DEFINES + TST_CONTROLS_DATA=\\\"${CMAKE_CURRENT_SOURCE_DIR}/../../../../tests/auto/controls/data\\\" + PUBLIC_LIBRARIES + Qt::Gui + Qt::QuickControls2 + TESTDATA ${test_data} +) + +#### Keys ignored in scope 1:.:.:imagine.pro:<TRUE>: +# OTHER_FILES = "$$PWD/../data/*.qml" +# TEMPLATE = "app" diff --git a/tests/auto/controls/material/CMakeLists.txt b/tests/auto/controls/material/CMakeLists.txt new file mode 100644 index 00000000..04c2655a --- /dev/null +++ b/tests/auto/controls/material/CMakeLists.txt @@ -0,0 +1,28 @@ +# Generated from material.pro. + +##################################################################### +## tst_material Test: +##################################################################### + +# Collect test data +file(GLOB_RECURSE test_data_glob + RELATIVE ${CMAKE_CURRENT_SOURCE_DIR} + ${CMAKE_CURRENT_SOURCE_DIR}/../data/tst_*) +list(APPEND test_data ${test_data_glob}) + +qt_add_test(tst_material + GUI + QMLTEST + SOURCES + tst_material.cpp + DEFINES + TST_CONTROLS_DATA=\\\"${CMAKE_CURRENT_SOURCE_DIR}/../../../../tests/auto/controls/data\\\" + PUBLIC_LIBRARIES + Qt::Gui + Qt::QuickControls2 + TESTDATA ${test_data} +) + +#### Keys ignored in scope 1:.:.:material.pro:<TRUE>: +# OTHER_FILES = "$$PWD/../data/*.qml" +# TEMPLATE = "app" diff --git a/tests/auto/controls/universal/CMakeLists.txt b/tests/auto/controls/universal/CMakeLists.txt new file mode 100644 index 00000000..e5576020 --- /dev/null +++ b/tests/auto/controls/universal/CMakeLists.txt @@ -0,0 +1,28 @@ +# Generated from universal.pro. + +##################################################################### +## tst_universal Test: +##################################################################### + +# Collect test data +file(GLOB_RECURSE test_data_glob + RELATIVE ${CMAKE_CURRENT_SOURCE_DIR} + ${CMAKE_CURRENT_SOURCE_DIR}/../data/tst_*) +list(APPEND test_data ${test_data_glob}) + +qt_add_test(tst_universal + GUI + QMLTEST + SOURCES + tst_universal.cpp + DEFINES + TST_CONTROLS_DATA=\\\"${CMAKE_CURRENT_SOURCE_DIR}/../../../../tests/auto/controls/data\\\" + PUBLIC_LIBRARIES + Qt::Gui + Qt::QuickControls2 + TESTDATA ${test_data} +) + +#### Keys ignored in scope 1:.:.:universal.pro:<TRUE>: +# OTHER_FILES = "$$PWD/../data/*.qml" +# TEMPLATE = "app" diff --git a/tests/auto/cursor/CMakeLists.txt b/tests/auto/cursor/CMakeLists.txt new file mode 100644 index 00000000..8034a11a --- /dev/null +++ b/tests/auto/cursor/CMakeLists.txt @@ -0,0 +1,47 @@ +# Generated from cursor.pro. + +##################################################################### +## tst_cursor Test: +##################################################################### + +# Collect test data +file(GLOB_RECURSE test_data_glob + RELATIVE ${CMAKE_CURRENT_SOURCE_DIR} + data/*) +list(APPEND test_data ${test_data_glob}) + +qt_add_test(tst_cursor + SOURCES + ../shared/qtest_quickcontrols.h + ../shared/util.cpp ../shared/util.h + ../shared/visualtestutil.cpp ../shared/visualtestutil.h + tst_cursor.cpp + DEFINES + QQC2_IMPORT_PATH=\\\"${CMAKE_CURRENT_SOURCE_DIR}/../../../src/imports\\\" + PUBLIC_LIBRARIES + Qt::CorePrivate + Qt::Gui + Qt::GuiPrivate + Qt::QmlPrivate + Qt::QuickControls2 + Qt::QuickPrivate + Qt::QuickTemplates2Private + Qt::TestPrivate + TESTDATA ${test_data} +) + +#### Keys ignored in scope 1:.:.:cursor.pro:<TRUE>: +# OTHER_FILES = "data/*.qml" + +## Scopes: +##################################################################### + +qt_extend_target(tst_cursor CONDITION ANDROID OR IOS + DEFINES + QT_QMLTEST_DATADIR=\\\":/data\\\" +) + +qt_extend_target(tst_cursor CONDITION NOT ANDROID AND NOT IOS + DEFINES + QT_QMLTEST_DATADIR=\\\"${CMAKE_CURRENT_SOURCE_DIR}/data\\\" +) diff --git a/tests/auto/customization/CMakeLists.txt b/tests/auto/customization/CMakeLists.txt new file mode 100644 index 00000000..40e916a8 --- /dev/null +++ b/tests/auto/customization/CMakeLists.txt @@ -0,0 +1,44 @@ +# Generated from customization.pro. + +##################################################################### +## tst_customization Test: +##################################################################### + +# Collect test data +file(GLOB_RECURSE test_data_glob + RELATIVE ${CMAKE_CURRENT_SOURCE_DIR} + data/*) +list(APPEND test_data ${test_data_glob}) + +qt_add_test(tst_customization + SOURCES + ../shared/qtest_quickcontrols.h + ../shared/util.cpp ../shared/util.h + ../shared/visualtestutil.cpp ../shared/visualtestutil.h + tst_customization.cpp + DEFINES + QQC2_IMPORT_PATH=\\\"${CMAKE_CURRENT_SOURCE_DIR}/../../../src/imports\\\" + PUBLIC_LIBRARIES + Qt::CorePrivate + Qt::Gui + Qt::GuiPrivate + Qt::QmlPrivate + Qt::QuickControls2 + Qt::QuickPrivate + Qt::QuickTemplates2Private + Qt::TestPrivate + TESTDATA ${test_data} +) + +## Scopes: +##################################################################### + +qt_extend_target(tst_customization CONDITION ANDROID OR IOS + DEFINES + QT_QMLTEST_DATADIR=\\\":/data\\\" +) + +qt_extend_target(tst_customization CONDITION NOT ANDROID AND NOT IOS + DEFINES + QT_QMLTEST_DATADIR=\\\"${CMAKE_CURRENT_SOURCE_DIR}/data\\\" +) diff --git a/tests/auto/designer/CMakeLists.txt b/tests/auto/designer/CMakeLists.txt new file mode 100644 index 00000000..59e7c5a0 --- /dev/null +++ b/tests/auto/designer/CMakeLists.txt @@ -0,0 +1,21 @@ +# Generated from designer.pro. + +##################################################################### +## tst_designer Test: +##################################################################### + +qt_add_test(tst_designer + SOURCES + tst_designer.cpp + PUBLIC_LIBRARIES + Qt::Gui + Qt::Quick + Qt::QuickControls2 + Qt::QuickPrivate +) + +#### Keys ignored in scope 1:.:.:designer.pro:<TRUE>: +# TEMPLATE = "app" + +## Scopes: +##################################################################### diff --git a/tests/auto/focus/CMakeLists.txt b/tests/auto/focus/CMakeLists.txt new file mode 100644 index 00000000..1cc44de4 --- /dev/null +++ b/tests/auto/focus/CMakeLists.txt @@ -0,0 +1,44 @@ +# Generated from focus.pro. + +##################################################################### +## tst_focus Test: +##################################################################### + +# Collect test data +file(GLOB_RECURSE test_data_glob + RELATIVE ${CMAKE_CURRENT_SOURCE_DIR} + data/*) +list(APPEND test_data ${test_data_glob}) + +qt_add_test(tst_focus + SOURCES + ../shared/qtest_quickcontrols.h + ../shared/util.cpp ../shared/util.h + ../shared/visualtestutil.cpp ../shared/visualtestutil.h + tst_focus.cpp + DEFINES + QQC2_IMPORT_PATH=\\\"${CMAKE_CURRENT_SOURCE_DIR}/../../../src/imports\\\" + PUBLIC_LIBRARIES + Qt::CorePrivate + Qt::Gui + Qt::GuiPrivate + Qt::QmlPrivate + Qt::QuickControls2 + Qt::QuickPrivate + Qt::QuickTemplates2Private + Qt::TestPrivate + TESTDATA ${test_data} +) + +## Scopes: +##################################################################### + +qt_extend_target(tst_focus CONDITION ANDROID OR IOS + DEFINES + QT_QMLTEST_DATADIR=\\\":/data\\\" +) + +qt_extend_target(tst_focus CONDITION NOT ANDROID AND NOT IOS + DEFINES + QT_QMLTEST_DATADIR=\\\"${CMAKE_CURRENT_SOURCE_DIR}/data\\\" +) diff --git a/tests/auto/focus/tst_focus.cpp b/tests/auto/focus/tst_focus.cpp index 958b996b..8a1b36ad 100644 --- a/tests/auto/focus/tst_focus.cpp +++ b/tests/auto/focus/tst_focus.cpp @@ -232,7 +232,9 @@ void tst_focus::policy() QVERIFY(!control->hasActiveFocus()); // Qt::WheelFocus - QWheelEvent wheelEvent(QPoint(control->width() / 2, control->height() / 2), 10, Qt::NoButton, Qt::NoModifier); + QWheelEvent wheelEvent(QPointF(control->width() / 2, control->height() / 2), QPointF(), + QPoint(), QPoint(0, 10), Qt::NoButton, Qt::NoModifier, + Qt::NoScrollPhase, false); QGuiApplication::sendEvent(control, &wheelEvent); QVERIFY(!control->hasActiveFocus()); QVERIFY(!control->hasVisualFocus()); @@ -403,7 +405,9 @@ void tst_focus::scope() QVERIFY(control->hasActiveFocus()); // Qt::WheelFocus - QWheelEvent wheelEvent(QPoint(control->width() / 2, control->height() / 2), 10, Qt::NoButton, Qt::NoModifier); + QWheelEvent wheelEvent(QPointF(control->width() / 2, control->height() / 2), QPointF(), + QPoint(), QPoint(0, 10), Qt::NoButton, Qt::NoModifier, + Qt::NoScrollPhase, false); QGuiApplication::sendEvent(control, &wheelEvent); QVERIFY(!child->hasActiveFocus()); QVERIFY(control->hasActiveFocus()); diff --git a/tests/auto/font/CMakeLists.txt b/tests/auto/font/CMakeLists.txt new file mode 100644 index 00000000..8529adb8 --- /dev/null +++ b/tests/auto/font/CMakeLists.txt @@ -0,0 +1,48 @@ +# Generated from font.pro. + +##################################################################### +## tst_font Test: +##################################################################### + +# Collect test data +file(GLOB_RECURSE test_data_glob + RELATIVE ${CMAKE_CURRENT_SOURCE_DIR} + data/*) +list(APPEND test_data ${test_data_glob}) + +qt_add_test(tst_font + SOURCES + ../shared/qtest_quickcontrols.h + ../shared/util.cpp ../shared/util.h + ../shared/visualtestutil.cpp ../shared/visualtestutil.h + tst_font.cpp + DEFINES + QQC2_IMPORT_PATH=\\\"${CMAKE_CURRENT_SOURCE_DIR}/../../../src/imports\\\" + PUBLIC_LIBRARIES + Qt::CorePrivate + Qt::Gui + Qt::GuiPrivate + Qt::QmlPrivate + Qt::QuickControls2 + Qt::QuickControls2Private + Qt::QuickPrivate + Qt::QuickTemplates2Private + Qt::TestPrivate + TESTDATA ${test_data} +) + +#### Keys ignored in scope 1:.:.:font.pro:<TRUE>: +# OTHER_FILES = "data/*.qml" + +## Scopes: +##################################################################### + +qt_extend_target(tst_font CONDITION ANDROID OR IOS + DEFINES + QT_QMLTEST_DATADIR=\\\":/data\\\" +) + +qt_extend_target(tst_font CONDITION NOT ANDROID AND NOT IOS + DEFINES + QT_QMLTEST_DATADIR=\\\"${CMAKE_CURRENT_SOURCE_DIR}/data\\\" +) diff --git a/tests/auto/palette/CMakeLists.txt b/tests/auto/palette/CMakeLists.txt new file mode 100644 index 00000000..33f8b86b --- /dev/null +++ b/tests/auto/palette/CMakeLists.txt @@ -0,0 +1,61 @@ +# Generated from palette.pro. + +##################################################################### +## tst_palette Test: +##################################################################### + +# Collect test data +file(GLOB_RECURSE test_data_glob + RELATIVE ${CMAKE_CURRENT_SOURCE_DIR} + data/*) +list(APPEND test_data ${test_data_glob}) + +qt_add_test(tst_palette + SOURCES + ../shared/qtest_quickcontrols.h + ../shared/util.cpp ../shared/util.h + ../shared/visualtestutil.cpp ../shared/visualtestutil.h + tst_palette.cpp + DEFINES + QQC2_IMPORT_PATH=\\\"${CMAKE_CURRENT_SOURCE_DIR}/../../../src/imports\\\" + PUBLIC_LIBRARIES + Qt::CorePrivate + Qt::Gui + Qt::GuiPrivate + Qt::QmlPrivate + Qt::QuickControls2 + Qt::QuickControls2Private + Qt::QuickPrivate + Qt::QuickTemplates2Private + Qt::TestPrivate + TESTDATA ${test_data} +) + +# Resources: +set(qmake_immediate_resource_files + "qtquickcontrols2.conf" +) + +qt_add_resource(tst_palette "qmake_immediate" + PREFIX + "/" + FILES + ${qmake_immediate_resource_files} +) + + +#### Keys ignored in scope 1:.:.:palette.pro:<TRUE>: +# OTHER_FILES = "data/*.qml" + +## Scopes: +##################################################################### + +qt_extend_target(tst_palette CONDITION ANDROID OR IOS + DEFINES + QT_QMLTEST_DATADIR=\\\":/data\\\" +) + +qt_extend_target(tst_palette CONDITION NOT ANDROID AND NOT IOS + DEFINES + QT_QMLTEST_DATADIR=\\\"${CMAKE_CURRENT_SOURCE_DIR}/data\\\" +) diff --git a/tests/auto/palette/data/bindings.qml b/tests/auto/palette/data/bindings.qml new file mode 100644 index 00000000..f87b6572 --- /dev/null +++ b/tests/auto/palette/data/bindings.qml @@ -0,0 +1,95 @@ +/**************************************************************************** +** +** Copyright (C) 2020 The Qt Company Ltd. +** Contact: https://www.qt.io/licensing/ +** +** This file is part of the test suite of the Qt Toolkit. +** +** $QT_BEGIN_LICENSE:BSD$ +** Commercial License Usage +** Licensees holding valid commercial Qt licenses may use this file in +** accordance with the commercial license agreement provided with the +** Software or, alternatively, in accordance with the terms contained in +** a written agreement between you and The Qt Company. For licensing terms +** and conditions see https://www.qt.io/terms-conditions. For further +** information use the contact form at https://www.qt.io/contact-us. +** +** BSD License Usage +** Alternatively, you may use this file under the terms of the BSD license +** as follows: +** +** "Redistribution and use in source and binary forms, with or without +** modification, are permitted provided that the following conditions are +** met: +** * Redistributions of source code must retain the above copyright +** notice, this list of conditions and the following disclaimer. +** * Redistributions in binary form must reproduce the above copyright +** notice, this list of conditions and the following disclaimer in +** the documentation and/or other materials provided with the +** distribution. +** * Neither the name of The Qt Company Ltd nor the names of its +** contributors may be used to endorse or promote products derived +** from this software without specific prior written permission. +** +** +** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE." +** +** $QT_END_LICENSE$ +** +****************************************************************************/ + +import QtQuick 6.0 +import QtQuick.Window 2.14 +import QtQuick.Controls 2.14 +import QtQuick.Layouts 1.13 + +ApplicationWindow { + id: window + objectName: "window" + width: 600 + height: 800 + visible: true + + property alias disabledButton: disabledButton + property alias enabledButton: enabledButton + + palette { + active { + button: "khaki" + buttonText: "bisque" + } + + disabled { + buttonText: "lavender" + button: "coral" + } + } + + ColumnLayout { + Button { + id: disabledButton + text: "Disabled" + enabled: false + + palette.disabled.button: "aqua" + palette.disabled.buttonText: "azure" + } + + Button { + id: enabledButton + text: "Enabled" + + palette: disabledButton.palette + } + } +} diff --git a/tests/auto/palette/data/set-palette.qml b/tests/auto/palette/data/set-palette.qml new file mode 100644 index 00000000..f9f067e0 --- /dev/null +++ b/tests/auto/palette/data/set-palette.qml @@ -0,0 +1,66 @@ +/**************************************************************************** +** +** Copyright (C) 2020 The Qt Company Ltd. +** Contact: https://www.qt.io/licensing/ +** +** This file is part of the test suite of the Qt Toolkit. +** +** $QT_BEGIN_LICENSE:BSD$ +** Commercial License Usage +** Licensees holding valid commercial Qt licenses may use this file in +** accordance with the commercial license agreement provided with the +** Software or, alternatively, in accordance with the terms contained in +** a written agreement between you and The Qt Company. For licensing terms +** and conditions see https://www.qt.io/terms-conditions. For further +** information use the contact form at https://www.qt.io/contact-us. +** +** BSD License Usage +** Alternatively, you may use this file under the terms of the BSD license +** as follows: +** +** "Redistribution and use in source and binary forms, with or without +** modification, are permitted provided that the following conditions are +** met: +** * Redistributions of source code must retain the above copyright +** notice, this list of conditions and the following disclaimer. +** * Redistributions in binary form must reproduce the above copyright +** notice, this list of conditions and the following disclaimer in +** the documentation and/or other materials provided with the +** distribution. +** * Neither the name of The Qt Company Ltd nor the names of its +** contributors may be used to endorse or promote products derived +** from this software without specific prior written permission. +** +** +** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE." +** +** $QT_END_LICENSE$ +** +****************************************************************************/ + +import QtQuick 6.0 +import QtQuick.Controls 2.14 + +Control { + palette { + active { + buttonText: "azure" + button: "khaki" + } + + disabled { + buttonText: "lavender" + button: "coral" + } + } +} diff --git a/tests/auto/palette/tst_palette.cpp b/tests/auto/palette/tst_palette.cpp index e91fd732..9d635ff7 100644 --- a/tests/auto/palette/tst_palette.cpp +++ b/tests/auto/palette/tst_palette.cpp @@ -41,11 +41,14 @@ #include <QtGui/private/qguiapplication_p.h> #include <QtQml/qqmlengine.h> #include <QtQml/qqmlcomponent.h> +#include <QtQuick/private/qquickitem_p.h> #include <QtQuickTemplates2/private/qquickapplicationwindow_p.h> #include <QtQuickTemplates2/private/qquickcontrol_p.h> #include <QtQuickTemplates2/private/qquickcontrol_p_p.h> #include <QtQuickTemplates2/private/qquickpopup_p.h> +#include <QtQuickTemplates2/private/qquickpopup_p_p.h> #include <QtQuickTemplates2/private/qquicktheme_p_p.h> +#include <QtQuickTemplates2/private/qquickbutton_p.h> using namespace QQuickVisualTestUtil; @@ -67,6 +70,10 @@ private slots: void listView_data(); void listView(); + + void setDynamicallyCreatedPalette(); + void createBindings(); + void updateBindings(); }; void tst_palette::initTestCase() @@ -136,8 +143,7 @@ void tst_palette::palette() QVariant var = object->property("palette"); QVERIFY(var.isValid()); - QPalette actualPalette = var.value<QPalette>(); - QCOMPARE(actualPalette, expectedPalette); + QCOMPARE(var.value<QQuickPalette*>()->toQPalette(), expectedPalette); } void tst_palette::inheritance_data() @@ -175,55 +181,54 @@ void tst_palette::inheritance() defaultPalette.setColor(QPalette::Base, QColor("#efefef")); defaultPalette.setColor(QPalette::Text, QColor("#101010")); - QCOMPARE(window->palette(), defaultPalette); - - QCOMPARE(control->property("palette").value<QPalette>(), defaultPalette); - QCOMPARE(child->property("palette").value<QPalette>(), defaultPalette); - QCOMPARE(grandChild->property("palette").value<QPalette>(), defaultPalette); - - QPalette childPalette(defaultPalette); - childPalette.setColor(QPalette::Base, Qt::red); - childPalette.setColor(QPalette::Text, Qt::green); - childPalette.setColor(QPalette::Button, Qt::blue); - child->setProperty("palette", childPalette); - QCOMPARE(child->property("palette").value<QPalette>(), childPalette); - QCOMPARE(grandChild->property("palette").value<QPalette>(), childPalette); - - QPalette grandChildPalette(childPalette); - grandChildPalette.setColor(QPalette::Base, Qt::cyan); - grandChildPalette.setColor(QPalette::Mid, Qt::magenta); - grandChild->setProperty("palette", grandChildPalette); - QCOMPARE(child->property("palette").value<QPalette>(), childPalette); - QCOMPARE(grandChild->property("palette").value<QPalette>(), grandChildPalette); - - QPalette windowPalette(defaultPalette); - windowPalette.setColor(QPalette::Window, Qt::gray); - window->setPalette(windowPalette); - QCOMPARE(window->palette(), windowPalette); - QCOMPARE(control->property("palette").value<QPalette>(), windowPalette); - - childPalette.setColor(QPalette::Window, Qt::gray); - QCOMPARE(child->property("palette").value<QPalette>(), childPalette); - - grandChildPalette.setColor(QPalette::Window, Qt::gray); - QCOMPARE(grandChild->property("palette").value<QPalette>(), grandChildPalette); - - child->setProperty("palette", QVariant()); - QCOMPARE(child->property("palette").value<QPalette>(), windowPalette); - QCOMPARE(grandChild->property("palette").value<QPalette>(), grandChildPalette); - - grandChild->setProperty("palette", QVariant()); - QCOMPARE(grandChild->property("palette").value<QPalette>(), windowPalette); + auto windowPalette = QQuickWindowPrivate::get(window.get())->palette(); + + QCOMPARE(windowPalette->toQPalette(), defaultPalette); + + auto controlPalette = control->property("palette").value<QQuickPalette*>(); + auto childPalette = child->property("palette").value<QQuickPalette*>(); + auto grandChildPalette = grandChild->property("palette").value<QQuickPalette*>(); + QVERIFY(controlPalette && childPalette && grandChildPalette); + + QCOMPARE(controlPalette->toQPalette(), defaultPalette); + QCOMPARE(childPalette->toQPalette(), defaultPalette); + QCOMPARE(grandChildPalette->toQPalette(), defaultPalette); + + childPalette->setBase(Qt::red); + childPalette->setText(Qt::green); + childPalette->setButton(Qt::blue); + + QCOMPARE(childPalette->base(), grandChildPalette->base()); + QCOMPARE(childPalette->text(), grandChildPalette->text()); + QCOMPARE(childPalette->button(), grandChildPalette->button()); + + windowPalette->setWindow(Qt::gray); + QCOMPARE(controlPalette->window(), windowPalette->window()); + + childPalette->setWindow(Qt::red); + QCOMPARE(childPalette->window(), Qt::red); + + grandChildPalette->setWindow(Qt::blue); + QCOMPARE(grandChildPalette->window(), Qt::blue); + + auto childMo = child->metaObject(); + childMo->property(childMo->indexOfProperty("palette")).reset(child); + QCOMPARE(childPalette->window(), windowPalette->window()); + QCOMPARE(grandChildPalette->window(), Qt::blue); + + auto grandChildMo = grandChild->metaObject(); + grandChildMo->property(grandChildMo->indexOfProperty("palette")).reset(grandChild); + QCOMPARE(grandChildPalette->window(), windowPalette->window()); } class TestTheme : public QQuickTheme { public: - static const int NPalettes = QQuickTheme::Tumbler + 1; + static const uint NPalettes = QQuickTheme::Tumbler + 1; TestTheme() { - for (int i = 0; i < NPalettes; ++i) + for (uint i = 0; i < NPalettes; ++i) setPalette(static_cast<Scope>(i), QPalette(QColor::fromRgb(i))); } }; @@ -291,6 +296,7 @@ void tst_palette::defaultPalette() // The call to setData() above causes QQuickDefaultTheme to be set as the current theme, // so we must make sure we only set our theme afterwards. + std::unique_ptr<QQuickTheme> oldTheme(QQuickThemePrivate::instance.take()); QQuickThemePrivate::instance.reset(new TestTheme); QScopedPointer<QObject> object(component.create()); @@ -300,8 +306,11 @@ void tst_palette::defaultPalette() QVERIFY(var.isValid()); QPalette expectedPalette = QQuickTheme::palette(scope); - QPalette actualPalette = var.value<QPalette>(); - QCOMPARE(actualPalette, expectedPalette); + auto actualPalette = var.value<QQuickPalette*>(); + QVERIFY(actualPalette); + QCOMPARE(actualPalette->toQPalette(), expectedPalette); + + QQuickThemePrivate::instance.reset(oldTheme.release()); } void tst_palette::listView_data() @@ -342,7 +351,75 @@ void tst_palette::listView() QQuickItem *control = column->property(objectName.toUtf8()).value<QQuickItem *>(); QVERIFY(control); - QCOMPARE(control->property("palette").value<QPalette>().color(QPalette::Highlight), QColor(Qt::red)); + QCOMPARE(QQuickItemPrivate::get(control)->palette()->highlight(), Qt::red); +} + +void tst_palette::setDynamicallyCreatedPalette() +{ + QQmlEngine engine; + QQmlComponent component(&engine); + component.loadUrl(testFileUrl("set-palette.qml")); + + QScopedPointer<QObject> object(component.create()); + QVERIFY2(!object.isNull(), qPrintable(component.errorString())); + + QVariant var = object->property("palette"); + QVERIFY(var.isValid()); + + auto palette = var.value<QQuickPalette*>(); + QVERIFY(palette); + + QCOMPARE(palette->buttonText(), QColor("azure")); + QCOMPARE(palette->button(), QColor("khaki")); + + QCOMPARE(palette->disabled()->buttonText(), QColor("lavender")); + QCOMPARE(palette->disabled()->button(), QColor("coral")); +} + +void tst_palette::createBindings() +{ + QQmlEngine engine; + QQmlComponent component(&engine); + component.loadUrl(testFileUrl("bindings.qml")); + + QScopedPointer<QObject> window(component.create()); + QVERIFY2(!window.isNull(), qPrintable(component.errorString())); + + auto disabledButton = window->property("disabledButton").value<QQuickButton*>(); + QVERIFY(disabledButton); + + auto enabledButton = window->property("enabledButton").value<QQuickButton*>(); + QVERIFY(enabledButton); + + QCOMPARE(QQuickItemPrivate::get(disabledButton)->palette()->button(), QColor("aqua")); + QCOMPARE(QQuickItemPrivate::get(disabledButton)->palette()->buttonText(), QColor("azure")); + + QCOMPARE(QQuickItemPrivate::get(enabledButton)->palette()->button(), QColor("khaki")); + QCOMPARE(QQuickItemPrivate::get(enabledButton)->palette()->buttonText(), QColor("bisque")); + + QCOMPARE(QQuickItemPrivate::get(enabledButton)->palette()->disabled()->button(), QColor("aqua")); + QCOMPARE(QQuickItemPrivate::get(enabledButton)->palette()->disabled()->buttonText(), QColor("azure")); +} + +void tst_palette::updateBindings() +{ + QQmlEngine engine; + QQmlComponent component(&engine); + component.loadUrl(testFileUrl("bindings.qml")); + + QScopedPointer<QObject> window(component.create()); + QVERIFY2(!window.isNull(), qPrintable(component.errorString())); + + auto disabledButton = window->property("disabledButton").value<QQuickButton*>(); + QVERIFY(disabledButton); + + auto enabledButton = window->property("enabledButton").value<QQuickButton*>(); + QVERIFY(enabledButton); + + QQuickItemPrivate::get(disabledButton)->palette()->disabled()->setButton(QColor("navy")); + enabledButton->setEnabled(false); + + QCOMPARE(QQuickItemPrivate::get(enabledButton)->palette()->button(), QColor("navy")); } QTEST_MAIN(tst_palette) diff --git a/tests/auto/platform/CMakeLists.txt b/tests/auto/platform/CMakeLists.txt new file mode 100644 index 00000000..ec4e54ee --- /dev/null +++ b/tests/auto/platform/CMakeLists.txt @@ -0,0 +1,25 @@ +# Generated from platform.pro. + +##################################################################### +## tst_platform Test: +##################################################################### + +# Collect test data +file(GLOB_RECURSE test_data_glob + RELATIVE ${CMAKE_CURRENT_SOURCE_DIR} + ${CMAKE_CURRENT_SOURCE_DIR}/data/tst_*) +list(APPEND test_data ${test_data_glob}) + +qt_add_test(tst_platform + GUI + QMLTEST + SOURCES + tst_platform.cpp + PUBLIC_LIBRARIES + Qt::Gui + TESTDATA ${test_data} +) + +#### Keys ignored in scope 1:.:.:platform.pro:<TRUE>: +# OTHER_FILES = "$$PWD/data/*.qml" +# TEMPLATE = "app" diff --git a/tests/auto/pressandhold/CMakeLists.txt b/tests/auto/pressandhold/CMakeLists.txt new file mode 100644 index 00000000..a5c1b845 --- /dev/null +++ b/tests/auto/pressandhold/CMakeLists.txt @@ -0,0 +1,19 @@ +# Generated from pressandhold.pro. + +##################################################################### +## tst_pressandhold Test: +##################################################################### + +qt_add_test(tst_pressandhold + SOURCES + tst_pressandhold.cpp + PUBLIC_LIBRARIES + Qt::Gui + Qt::Quick +) + +#### Keys ignored in scope 1:.:.:pressandhold.pro:<TRUE>: +# TEMPLATE = "app" + +## Scopes: +##################################################################### diff --git a/tests/auto/qquickapplicationwindow/CMakeLists.txt b/tests/auto/qquickapplicationwindow/CMakeLists.txt new file mode 100644 index 00000000..6fa2e692 --- /dev/null +++ b/tests/auto/qquickapplicationwindow/CMakeLists.txt @@ -0,0 +1,48 @@ +# Generated from qquickapplicationwindow.pro. + +##################################################################### +## tst_qquickapplicationwindow Test: +##################################################################### + +# Collect test data +file(GLOB_RECURSE test_data_glob + RELATIVE ${CMAKE_CURRENT_SOURCE_DIR} + data/*) +list(APPEND test_data ${test_data_glob}) + +qt_add_test(tst_qquickapplicationwindow + SOURCES + ../shared/qtest_quickcontrols.h + ../shared/util.cpp ../shared/util.h + ../shared/visualtestutil.cpp ../shared/visualtestutil.h + tst_qquickapplicationwindow.cpp + DEFINES + QQC2_IMPORT_PATH=\\\"${CMAKE_CURRENT_SOURCE_DIR}/../../../src/imports\\\" + PUBLIC_LIBRARIES + Qt::CorePrivate + Qt::Gui + Qt::GuiPrivate + Qt::QmlPrivate + Qt::QuickControls2 + Qt::QuickControls2Private + Qt::QuickPrivate + Qt::QuickTemplates2Private + Qt::TestPrivate + TESTDATA ${test_data} +) + +#### Keys ignored in scope 1:.:.:qquickapplicationwindow.pro:<TRUE>: +# OTHER_FILES = "data/*.qml" + +## Scopes: +##################################################################### + +qt_extend_target(tst_qquickapplicationwindow CONDITION ANDROID OR IOS + DEFINES + QT_QMLTEST_DATADIR=\\\":/data\\\" +) + +qt_extend_target(tst_qquickapplicationwindow CONDITION NOT ANDROID AND NOT IOS + DEFINES + QT_QMLTEST_DATADIR=\\\"${CMAKE_CURRENT_SOURCE_DIR}/data\\\" +) diff --git a/tests/auto/qquickcolor/CMakeLists.txt b/tests/auto/qquickcolor/CMakeLists.txt new file mode 100644 index 00000000..bf660d10 --- /dev/null +++ b/tests/auto/qquickcolor/CMakeLists.txt @@ -0,0 +1,25 @@ +# Generated from qquickcolor.pro. + +##################################################################### +## tst_qquickcolor Test: +##################################################################### + +# Collect test data +file(GLOB_RECURSE test_data_glob + RELATIVE ${CMAKE_CURRENT_SOURCE_DIR} + ${CMAKE_CURRENT_SOURCE_DIR}/data/tst_*) +list(APPEND test_data ${test_data_glob}) + +qt_add_test(tst_qquickcolor + GUI + QMLTEST + SOURCES + tst_qquickcolor.cpp + PUBLIC_LIBRARIES + Qt::Gui + TESTDATA ${test_data} +) + +#### Keys ignored in scope 1:.:.:qquickcolor.pro:<TRUE>: +# OTHER_FILES = "$$PWD/data/*.qml" +# TEMPLATE = "app" diff --git a/tests/auto/qquickdrawer/CMakeLists.txt b/tests/auto/qquickdrawer/CMakeLists.txt new file mode 100644 index 00000000..3679471a --- /dev/null +++ b/tests/auto/qquickdrawer/CMakeLists.txt @@ -0,0 +1,47 @@ +# Generated from qquickdrawer.pro. + +##################################################################### +## tst_qquickdrawer Test: +##################################################################### + +# Collect test data +file(GLOB_RECURSE test_data_glob + RELATIVE ${CMAKE_CURRENT_SOURCE_DIR} + data/*) +list(APPEND test_data ${test_data_glob}) + +qt_add_test(tst_qquickdrawer + SOURCES + ../shared/qtest_quickcontrols.h + ../shared/util.cpp ../shared/util.h + ../shared/visualtestutil.cpp ../shared/visualtestutil.h + tst_qquickdrawer.cpp + DEFINES + QQC2_IMPORT_PATH=\\\"${CMAKE_CURRENT_SOURCE_DIR}/../../../src/imports\\\" + PUBLIC_LIBRARIES + Qt::CorePrivate + Qt::Gui + Qt::GuiPrivate + Qt::QmlPrivate + Qt::QuickControls2 + Qt::QuickPrivate + Qt::QuickTemplates2Private + Qt::TestPrivate + TESTDATA ${test_data} +) + +#### Keys ignored in scope 1:.:.:qquickdrawer.pro:<TRUE>: +# OTHER_FILES = "data/*.qml" + +## Scopes: +##################################################################### + +qt_extend_target(tst_qquickdrawer CONDITION ANDROID OR IOS + DEFINES + QT_QMLTEST_DATADIR=\\\":/data\\\" +) + +qt_extend_target(tst_qquickdrawer CONDITION NOT ANDROID AND NOT IOS + DEFINES + QT_QMLTEST_DATADIR=\\\"${CMAKE_CURRENT_SOURCE_DIR}/data\\\" +) diff --git a/tests/auto/qquickdrawer/tst_qquickdrawer.cpp b/tests/auto/qquickdrawer/tst_qquickdrawer.cpp index 4cf0dabe..7644cacf 100644 --- a/tests/auto/qquickdrawer/tst_qquickdrawer.cpp +++ b/tests/auto/qquickdrawer/tst_qquickdrawer.cpp @@ -615,7 +615,9 @@ void tst_QQuickDrawer::wheel_data() static bool sendWheelEvent(QQuickItem *item, const QPoint &localPos, int degrees) { QQuickWindow *window = item->window(); - QWheelEvent wheelEvent(localPos, item->window()->mapToGlobal(localPos), QPoint(0, 0), QPoint(0, 8 * degrees), 0, Qt::Vertical, Qt::NoButton, 0); + QWheelEvent wheelEvent(localPos, item->window()->mapToGlobal(localPos), QPoint(0, 0), + QPoint(0, 8 * degrees), Qt::NoButton, Qt::NoModifier, Qt::NoScrollPhase, + false); QSpontaneKeyEvent::setSpontaneous(&wheelEvent); return qGuiApp->notify(window, &wheelEvent); } diff --git a/tests/auto/qquickheaderview/CMakeLists.txt b/tests/auto/qquickheaderview/CMakeLists.txt new file mode 100644 index 00000000..fe604d5c --- /dev/null +++ b/tests/auto/qquickheaderview/CMakeLists.txt @@ -0,0 +1,49 @@ +# Generated from qquickheaderview.pro. + +##################################################################### +## tst_qquickheaderview Test: +##################################################################### + +# Collect test data +file(GLOB_RECURSE test_data_glob + RELATIVE ${CMAKE_CURRENT_SOURCE_DIR} + data/*) +list(APPEND test_data ${test_data_glob}) + +qt_add_test(tst_qquickheaderview + SOURCES + ../shared/qtest_quickcontrols.h + ../shared/util.cpp ../shared/util.h + ../shared/visualtestutil.cpp ../shared/visualtestutil.h + tst_qquickheaderview.cpp + DEFINES + QQC2_IMPORT_PATH=\\\"${CMAKE_CURRENT_SOURCE_DIR}/../../../src/imports\\\" + PUBLIC_LIBRARIES + Qt::CorePrivate + Qt::Gui + Qt::GuiPrivate + Qt::QmlPrivate + Qt::QuickControls2 + Qt::QuickControls2Private + Qt::QuickPrivate + Qt::QuickTemplates2 + Qt::QuickTemplates2Private + Qt::TestPrivate + TESTDATA ${test_data} +) + +#### Keys ignored in scope 1:.:.:qquickheaderview.pro:<TRUE>: +# OTHER_FILES = "data/*.qml" + +## Scopes: +##################################################################### + +qt_extend_target(tst_qquickheaderview CONDITION ANDROID OR IOS + DEFINES + QT_QMLTEST_DATADIR=\\\":/data\\\" +) + +qt_extend_target(tst_qquickheaderview CONDITION NOT ANDROID AND NOT IOS + DEFINES + QT_QMLTEST_DATADIR=\\\"${CMAKE_CURRENT_SOURCE_DIR}/data\\\" +) diff --git a/tests/auto/qquickiconimage/CMakeLists.txt b/tests/auto/qquickiconimage/CMakeLists.txt new file mode 100644 index 00000000..9f6d0494 --- /dev/null +++ b/tests/auto/qquickiconimage/CMakeLists.txt @@ -0,0 +1,83 @@ +# Generated from qquickiconimage.pro. + +##################################################################### +## tst_qquickiconimage Test: +##################################################################### + +# Collect test data +file(GLOB_RECURSE test_data_glob + RELATIVE ${CMAKE_CURRENT_SOURCE_DIR} + ${CMAKE_CURRENT_SOURCE_DIR}/data/*.qml) +list(APPEND test_data ${test_data_glob}) +file(GLOB_RECURSE test_data_glob + RELATIVE ${CMAKE_CURRENT_SOURCE_DIR} + ${CMAKE_CURRENT_SOURCE_DIR}/data/icons/*) +list(APPEND test_data ${test_data_glob}) + +qt_add_test(tst_qquickiconimage + SOURCES + ../shared/qtest_quickcontrols.h + ../shared/util.cpp ../shared/util.h + ../shared/visualtestutil.cpp ../shared/visualtestutil.h + tst_qquickiconimage.cpp + DEFINES + QQC2_IMPORT_PATH=\\\"${CMAKE_CURRENT_SOURCE_DIR}/../../../src/imports\\\" + LIBRARIES + Qt::QuickControls2Private + Qt::QuickPrivate + PUBLIC_LIBRARIES + Qt::CorePrivate + Qt::Gui + Qt::GuiPrivate + Qt::Qml + Qt::QmlPrivate + Qt::Quick + Qt::QuickControls2 + Qt::QuickPrivate + Qt::QuickTemplates2Private + Qt::TestPrivate + TESTDATA ${test_data} +) + +# Resources: +set(resources_resource_files + "icons/testtheme/16x16/actions/appointment-new.png" + "icons/testtheme/22x22/actions/+testselector/appointment-new.png" + "icons/testtheme/22x22/actions/+testselector/appointment-new@2x.png" + "icons/testtheme/22x22/actions/appointment-new.png" + "icons/testtheme/22x22/actions/appointment-new@2x.png" + "icons/testtheme/22x22/actions/color-test-original.png" + "icons/testtheme/22x22/actions/color-test-original@2x.png" + "icons/testtheme/22x22/actions/color-test-tinted.png" + "icons/testtheme/22x22/actions/color-test-tinted@2x.png" + "icons/testtheme/22x22@2/actions/+testselector/appointment-new.png" + "icons/testtheme/22x22@2/actions/appointment-new.png" + "icons/testtheme/appointment-new.svg" + "icons/testtheme/index.theme" +) + +qt_add_resource(tst_qquickiconimage "resources" + PREFIX + "/" + FILES + ${resources_resource_files} +) + + +## Scopes: +##################################################################### + +qt_extend_target(tst_qquickiconimage CONDITION TARGET Qt::Svg + PUBLIC_LIBRARIES + Qt::Svg +) + +qt_extend_target(tst_qquickiconimage CONDITION ANDROID OR IOS + DEFINES + QT_QMLTEST_DATADIR=\\\":/data\\\" +) + +qt_extend_target(tst_qquickiconimage CONDITION NOT ANDROID AND NOT IOS + DEFINES + QT_QMLTEST_DATADIR=\\\"${CMAKE_CURRENT_SOURCE_DIR}/data\\\" +) diff --git a/tests/auto/qquickiconlabel/CMakeLists.txt b/tests/auto/qquickiconlabel/CMakeLists.txt new file mode 100644 index 00000000..bdbefd9d --- /dev/null +++ b/tests/auto/qquickiconlabel/CMakeLists.txt @@ -0,0 +1,49 @@ +# Generated from qquickiconlabel.pro. + +##################################################################### +## tst_qquickiconlabel Test: +##################################################################### + +# Collect test data +file(GLOB_RECURSE test_data_glob + RELATIVE ${CMAKE_CURRENT_SOURCE_DIR} + ${CMAKE_CURRENT_SOURCE_DIR}/data/*.qml) +list(APPEND test_data ${test_data_glob}) + +qt_add_test(tst_qquickiconlabel + SOURCES + ../shared/qtest_quickcontrols.h + ../shared/util.cpp ../shared/util.h + ../shared/visualtestutil.cpp ../shared/visualtestutil.h + tst_qquickiconlabel.cpp + DEFINES + QQC2_IMPORT_PATH=\\\"${CMAKE_CURRENT_SOURCE_DIR}/../../../src/imports\\\" + LIBRARIES + Qt::QuickControls2Private + Qt::QuickPrivate + PUBLIC_LIBRARIES + Qt::CorePrivate + Qt::Gui + Qt::GuiPrivate + Qt::Qml + Qt::QmlPrivate + Qt::Quick + Qt::QuickControls2 + Qt::QuickPrivate + Qt::QuickTemplates2Private + Qt::TestPrivate + TESTDATA ${test_data} +) + +## Scopes: +##################################################################### + +qt_extend_target(tst_qquickiconlabel CONDITION ANDROID OR IOS + DEFINES + QT_QMLTEST_DATADIR=\\\":/data\\\" +) + +qt_extend_target(tst_qquickiconlabel CONDITION NOT ANDROID AND NOT IOS + DEFINES + QT_QMLTEST_DATADIR=\\\"${CMAKE_CURRENT_SOURCE_DIR}/data\\\" +) diff --git a/tests/auto/qquickimaginestyle/CMakeLists.txt b/tests/auto/qquickimaginestyle/CMakeLists.txt new file mode 100644 index 00000000..7a3ffe08 --- /dev/null +++ b/tests/auto/qquickimaginestyle/CMakeLists.txt @@ -0,0 +1,41 @@ +# Generated from qquickimaginestyle.pro. + +##################################################################### +## tst_qquickimaginestyle Test: +##################################################################### + +# Collect test data +file(GLOB_RECURSE test_data_glob + RELATIVE ${CMAKE_CURRENT_SOURCE_DIR} + ${CMAKE_CURRENT_SOURCE_DIR}/data/tst_*) +list(APPEND test_data ${test_data_glob}) + +qt_add_test(tst_qquickimaginestyle + GUI + QMLTEST + SOURCES + tst_qquickimaginestyle.cpp + PUBLIC_LIBRARIES + Qt::Gui + TESTDATA ${test_data} +) + +# Resources: +set(qmake_immediate_resource_files + "control-assets/button-background.9.png" + "qtquickcontrols2.conf" + "test-assets/button-background-1.png" + "test-assets/button-background-2.png" +) + +qt_add_resource(tst_qquickimaginestyle "qmake_immediate" + PREFIX + "/" + FILES + ${qmake_immediate_resource_files} +) + + +#### Keys ignored in scope 1:.:.:qquickimaginestyle.pro:<TRUE>: +# OTHER_FILES = "$$PWD/data/*.qml" +# TEMPLATE = "app" diff --git a/tests/auto/qquickmaterialstyle/CMakeLists.txt b/tests/auto/qquickmaterialstyle/CMakeLists.txt new file mode 100644 index 00000000..cf43db51 --- /dev/null +++ b/tests/auto/qquickmaterialstyle/CMakeLists.txt @@ -0,0 +1,38 @@ +# Generated from qquickmaterialstyle.pro. + +##################################################################### +## tst_qquickmaterialstyle Test: +##################################################################### + +# Collect test data +file(GLOB_RECURSE test_data_glob + RELATIVE ${CMAKE_CURRENT_SOURCE_DIR} + ${CMAKE_CURRENT_SOURCE_DIR}/data/tst_*) +list(APPEND test_data ${test_data_glob}) + +qt_add_test(tst_qquickmaterialstyle + GUI + QMLTEST + SOURCES + tst_qquickmaterialstyle.cpp + PUBLIC_LIBRARIES + Qt::Gui + TESTDATA ${test_data} +) + +# Resources: +set(qmake_immediate_resource_files + "qtquickcontrols2.conf" +) + +qt_add_resource(tst_qquickmaterialstyle "qmake_immediate" + PREFIX + "/" + FILES + ${qmake_immediate_resource_files} +) + + +#### Keys ignored in scope 1:.:.:qquickmaterialstyle.pro:<TRUE>: +# OTHER_FILES = "$$PWD/data/*.qml" +# TEMPLATE = "app" diff --git a/tests/auto/qquickmaterialstyleconf/CMakeLists.txt b/tests/auto/qquickmaterialstyleconf/CMakeLists.txt new file mode 100644 index 00000000..fa0dde32 --- /dev/null +++ b/tests/auto/qquickmaterialstyleconf/CMakeLists.txt @@ -0,0 +1,63 @@ +# Generated from qquickmaterialstyleconf.pro. + +##################################################################### +## tst_qquickmaterialstyleconf Test: +##################################################################### + +# Collect test data +file(GLOB_RECURSE test_data_glob + RELATIVE ${CMAKE_CURRENT_SOURCE_DIR} + data/*) +list(APPEND test_data ${test_data_glob}) + +qt_add_test(tst_qquickmaterialstyleconf + SOURCES + ../shared/qtest_quickcontrols.h + ../shared/util.cpp ../shared/util.h + ../shared/visualtestutil.cpp ../shared/visualtestutil.h + tst_qquickmaterialstyleconf.cpp + DEFINES + QQC2_IMPORT_PATH=\\\"${CMAKE_CURRENT_SOURCE_DIR}/../../../src/imports\\\" + PUBLIC_LIBRARIES + Qt::CorePrivate + Qt::Gui + Qt::GuiPrivate + Qt::QmlPrivate + Qt::QuickControls2 + Qt::QuickControls2Private + Qt::QuickPrivate + Qt::QuickTemplates2Private + Qt::TestPrivate + TESTDATA ${test_data} +) + +# Resources: +set(qquickmaterialstyleconf_resource_files + "qtquickcontrols2.conf" + "variant-dense.conf" + "variant-normal.conf" +) + +qt_add_resource(tst_qquickmaterialstyleconf "qquickmaterialstyleconf" + PREFIX + "/" + FILES + ${qquickmaterialstyleconf_resource_files} +) + + +#### Keys ignored in scope 1:.:.:qquickmaterialstyleconf.pro:<TRUE>: +# OTHER_FILES = "data/*.qml" + +## Scopes: +##################################################################### + +qt_extend_target(tst_qquickmaterialstyleconf CONDITION ANDROID OR IOS + DEFINES + QT_QMLTEST_DATADIR=\\\":/data\\\" +) + +qt_extend_target(tst_qquickmaterialstyleconf CONDITION NOT ANDROID AND NOT IOS + DEFINES + QT_QMLTEST_DATADIR=\\\"${CMAKE_CURRENT_SOURCE_DIR}/data\\\" +) diff --git a/tests/auto/qquickmenu/CMakeLists.txt b/tests/auto/qquickmenu/CMakeLists.txt new file mode 100644 index 00000000..478aaa82 --- /dev/null +++ b/tests/auto/qquickmenu/CMakeLists.txt @@ -0,0 +1,47 @@ +# Generated from qquickmenu.pro. + +##################################################################### +## tst_qquickmenu Test: +##################################################################### + +# Collect test data +file(GLOB_RECURSE test_data_glob + RELATIVE ${CMAKE_CURRENT_SOURCE_DIR} + data/*) +list(APPEND test_data ${test_data_glob}) + +qt_add_test(tst_qquickmenu + SOURCES + ../shared/qtest_quickcontrols.h + ../shared/util.cpp ../shared/util.h + ../shared/visualtestutil.cpp ../shared/visualtestutil.h + tst_qquickmenu.cpp + DEFINES + QQC2_IMPORT_PATH=\\\"${CMAKE_CURRENT_SOURCE_DIR}/../../../src/imports\\\" + PUBLIC_LIBRARIES + Qt::CorePrivate + Qt::Gui + Qt::GuiPrivate + Qt::QmlPrivate + Qt::QuickControls2 + Qt::QuickPrivate + Qt::QuickTemplates2Private + Qt::TestPrivate + TESTDATA ${test_data} +) + +#### Keys ignored in scope 1:.:.:qquickmenu.pro:<TRUE>: +# OTHER_FILES = "data/*.qml" + +## Scopes: +##################################################################### + +qt_extend_target(tst_qquickmenu CONDITION ANDROID OR IOS + DEFINES + QT_QMLTEST_DATADIR=\\\":/data\\\" +) + +qt_extend_target(tst_qquickmenu CONDITION NOT ANDROID AND NOT IOS + DEFINES + QT_QMLTEST_DATADIR=\\\"${CMAKE_CURRENT_SOURCE_DIR}/data\\\" +) diff --git a/tests/auto/qquickmenubar/CMakeLists.txt b/tests/auto/qquickmenubar/CMakeLists.txt new file mode 100644 index 00000000..0803b4ec --- /dev/null +++ b/tests/auto/qquickmenubar/CMakeLists.txt @@ -0,0 +1,47 @@ +# Generated from qquickmenubar.pro. + +##################################################################### +## tst_qquickmenubar Test: +##################################################################### + +# Collect test data +file(GLOB_RECURSE test_data_glob + RELATIVE ${CMAKE_CURRENT_SOURCE_DIR} + data/*) +list(APPEND test_data ${test_data_glob}) + +qt_add_test(tst_qquickmenubar + SOURCES + ../shared/qtest_quickcontrols.h + ../shared/util.cpp ../shared/util.h + ../shared/visualtestutil.cpp ../shared/visualtestutil.h + tst_qquickmenubar.cpp + DEFINES + QQC2_IMPORT_PATH=\\\"${CMAKE_CURRENT_SOURCE_DIR}/../../../src/imports\\\" + PUBLIC_LIBRARIES + Qt::CorePrivate + Qt::Gui + Qt::GuiPrivate + Qt::QmlPrivate + Qt::QuickControls2 + Qt::QuickPrivate + Qt::QuickTemplates2Private + Qt::TestPrivate + TESTDATA ${test_data} +) + +#### Keys ignored in scope 1:.:.:qquickmenubar.pro:<TRUE>: +# OTHER_FILES = "data/*.qml" + +## Scopes: +##################################################################### + +qt_extend_target(tst_qquickmenubar CONDITION ANDROID OR IOS + DEFINES + QT_QMLTEST_DATADIR=\\\":/data\\\" +) + +qt_extend_target(tst_qquickmenubar CONDITION NOT ANDROID AND NOT IOS + DEFINES + QT_QMLTEST_DATADIR=\\\"${CMAKE_CURRENT_SOURCE_DIR}/data\\\" +) diff --git a/tests/auto/qquickninepatchimage/CMakeLists.txt b/tests/auto/qquickninepatchimage/CMakeLists.txt new file mode 100644 index 00000000..23c2adb2 --- /dev/null +++ b/tests/auto/qquickninepatchimage/CMakeLists.txt @@ -0,0 +1,54 @@ +# Generated from qquickninepatchimage.pro. + +##################################################################### +## tst_qquickninepatchimage Test: +##################################################################### + +# Collect test data +file(GLOB_RECURSE test_data_glob + RELATIVE ${CMAKE_CURRENT_SOURCE_DIR} + ${CMAKE_CURRENT_SOURCE_DIR}/data/*.qml) +list(APPEND test_data ${test_data_glob}) +file(GLOB_RECURSE test_data_glob + RELATIVE ${CMAKE_CURRENT_SOURCE_DIR} + ${CMAKE_CURRENT_SOURCE_DIR}/data/*.png) +list(APPEND test_data ${test_data_glob}) + +qt_add_test(tst_qquickninepatchimage + SOURCES + ../shared/qtest_quickcontrols.h + ../shared/util.cpp ../shared/util.h + ../shared/visualtestutil.cpp ../shared/visualtestutil.h + tst_qquickninepatchimage.cpp + DEFINES + QQC2_IMPORT_PATH=\\\"${CMAKE_CURRENT_SOURCE_DIR}/../../../src/imports\\\" + LIBRARIES + Qt::GuiPrivate + Qt::QuickControls2Private + Qt::QuickPrivate + PUBLIC_LIBRARIES + Qt::CorePrivate + Qt::Gui + Qt::GuiPrivate + Qt::Qml + Qt::QmlPrivate + Qt::Quick + Qt::QuickControls2 + Qt::QuickPrivate + Qt::QuickTemplates2Private + Qt::TestPrivate + TESTDATA ${test_data} +) + +## Scopes: +##################################################################### + +qt_extend_target(tst_qquickninepatchimage CONDITION ANDROID OR IOS + DEFINES + QT_QMLTEST_DATADIR=\\\":/data\\\" +) + +qt_extend_target(tst_qquickninepatchimage CONDITION NOT ANDROID AND NOT IOS + DEFINES + QT_QMLTEST_DATADIR=\\\"${CMAKE_CURRENT_SOURCE_DIR}/data\\\" +) diff --git a/tests/auto/qquickpopup/CMakeLists.txt b/tests/auto/qquickpopup/CMakeLists.txt new file mode 100644 index 00000000..beb744a7 --- /dev/null +++ b/tests/auto/qquickpopup/CMakeLists.txt @@ -0,0 +1,47 @@ +# Generated from qquickpopup.pro. + +##################################################################### +## tst_qquickpopup Test: +##################################################################### + +# Collect test data +file(GLOB_RECURSE test_data_glob + RELATIVE ${CMAKE_CURRENT_SOURCE_DIR} + data/*) +list(APPEND test_data ${test_data_glob}) + +qt_add_test(tst_qquickpopup + SOURCES + ../shared/qtest_quickcontrols.h + ../shared/util.cpp ../shared/util.h + ../shared/visualtestutil.cpp ../shared/visualtestutil.h + tst_qquickpopup.cpp + DEFINES + QQC2_IMPORT_PATH=\\\"${CMAKE_CURRENT_SOURCE_DIR}/../../../src/imports\\\" + PUBLIC_LIBRARIES + Qt::CorePrivate + Qt::Gui + Qt::GuiPrivate + Qt::QmlPrivate + Qt::QuickControls2 + Qt::QuickPrivate + Qt::QuickTemplates2Private + Qt::TestPrivate + TESTDATA ${test_data} +) + +#### Keys ignored in scope 1:.:.:qquickpopup.pro:<TRUE>: +# OTHER_FILES = "data/*.qml" + +## Scopes: +##################################################################### + +qt_extend_target(tst_qquickpopup CONDITION ANDROID OR IOS + DEFINES + QT_QMLTEST_DATADIR=\\\":/data\\\" +) + +qt_extend_target(tst_qquickpopup CONDITION NOT ANDROID AND NOT IOS + DEFINES + QT_QMLTEST_DATADIR=\\\"${CMAKE_CURRENT_SOURCE_DIR}/data\\\" +) diff --git a/tests/auto/qquickpopup/tst_qquickpopup.cpp b/tests/auto/qquickpopup/tst_qquickpopup.cpp index 0b7d14bd..0ec7870b 100644 --- a/tests/auto/qquickpopup/tst_qquickpopup.cpp +++ b/tests/auto/qquickpopup/tst_qquickpopup.cpp @@ -42,14 +42,17 @@ #include <QtGui/qpa/qwindowsysteminterface.h> #include <QtQuick/qquickview.h> +#include <QtQuick/private/qquickpalette_p.h> #include <QtQuickTemplates2/private/qquickapplicationwindow_p.h> #include <QtQuickTemplates2/private/qquickcombobox_p.h> #include <QtQuickTemplates2/private/qquickdialog_p.h> #include <QtQuickTemplates2/private/qquickoverlay_p.h> #include <QtQuickTemplates2/private/qquickpopup_p.h> +#include <QtQuickTemplates2/private/qquickpopupitem_p_p.h> #include <QtQuickTemplates2/private/qquickbutton_p.h> #include <QtQuickTemplates2/private/qquickslider_p.h> #include <QtQuickTemplates2/private/qquickstackview_p.h> +#include <QtQuickTemplates2/private/qquickpopup_p_p.h> using namespace QQuickVisualTestUtil; @@ -795,9 +798,9 @@ void tst_QQuickPopup::wheel_data() static bool sendWheelEvent(QQuickItem *item, const QPoint &localPos, int degrees) { QQuickWindow *window = item->window(); - QWheelEvent wheelEvent(localPos, item->window()->mapToGlobal(localPos), - QPoint(0, 0), QPoint(0, 8 * degrees), - 0, Qt::Vertical, Qt::NoButton, {}); + QWheelEvent wheelEvent(localPos, item->window()->mapToGlobal(localPos), QPoint(0, 0), + QPoint(0, 8 * degrees), Qt::NoButton, Qt::NoModifier, Qt::NoScrollPhase, + false); QSpontaneKeyEvent::setSpontaneous(&wheelEvent); return qGuiApp->notify(window, &wheelEvent); } @@ -1174,29 +1177,28 @@ void tst_QQuickPopup::disabledPalette() QQuickPopup *popup = window->property("popup").value<QQuickPopup*>(); QVERIFY(popup); - QSignalSpy popupEnabledSpy(popup, SIGNAL(enabledChanged())); + QSignalSpy popupEnabledSpy(popup, &QQuickPopup::enabledChanged); QVERIFY(popupEnabledSpy.isValid()); - QSignalSpy popupPaletteSpy(popup, SIGNAL(paletteChanged())); + QSignalSpy popupPaletteSpy(popup, &QQuickPopup::paletteChanged); QVERIFY(popupPaletteSpy.isValid()); - QSignalSpy popupItemEnabledSpy(popup->popupItem(), SIGNAL(enabledChanged())); + QSignalSpy popupItemEnabledSpy(popup->popupItem(), &QQuickItem::enabledChanged); QVERIFY(popupItemEnabledSpy.isValid()); - QSignalSpy popupItemPaletteSpy(popup->popupItem(), SIGNAL(paletteChanged())); + QSignalSpy popupItemPaletteSpy(popup->popupItem(), &QQuickItem::paletteChanged); QVERIFY(popupItemPaletteSpy.isValid()); - QPalette palette = popup->palette(); - palette.setColor(QPalette::Active, QPalette::Base, Qt::green); - palette.setColor(QPalette::Disabled, QPalette::Base, Qt::red); - popup->setPalette(palette); - QCOMPARE(popupPaletteSpy.count(), 1); - QCOMPARE(popupItemPaletteSpy.count(), 1); + auto palette = QQuickPopupPrivate::get(popup)->palette(); + palette->setBase(Qt::green); + palette->disabled()->setBase(Qt::red); + QCOMPARE(popupPaletteSpy.count(), 2); + QCOMPARE(popupItemPaletteSpy.count(), 2); QCOMPARE(popup->background()->property("color").value<QColor>(), Qt::green); popup->setEnabled(false); QCOMPARE(popupEnabledSpy.count(), 1); QCOMPARE(popupItemEnabledSpy.count(), 1); - QCOMPARE(popupPaletteSpy.count(), 2); - QCOMPARE(popupItemPaletteSpy.count(), 2); + QCOMPARE(popupPaletteSpy.count(), 3); + QCOMPARE(popupItemPaletteSpy.count(), 3); QCOMPARE(popup->background()->property("color").value<QColor>(), Qt::red); } @@ -1221,12 +1223,11 @@ void tst_QQuickPopup::disabledParentPalette() QSignalSpy popupItemPaletteSpy(popup->popupItem(), SIGNAL(paletteChanged())); QVERIFY(popupItemPaletteSpy.isValid()); - QPalette palette = popup->palette(); - palette.setColor(QPalette::Active, QPalette::Base, Qt::green); - palette.setColor(QPalette::Disabled, QPalette::Base, Qt::red); - popup->setPalette(palette); - QCOMPARE(popupPaletteSpy.count(), 1); - QCOMPARE(popupItemPaletteSpy.count(), 1); + auto palette = QQuickPopupPrivate::get(popup)->palette(); + palette->setBase(Qt::green); + palette->disabled()->setBase(Qt::red); + QCOMPARE(popupPaletteSpy.count(), 2); + QCOMPARE(popupItemPaletteSpy.count(), 2); QCOMPARE(popup->background()->property("color").value<QColor>(), Qt::green); // Disable the overlay (which is QQuickPopupItem's parent) to ensure that @@ -1239,8 +1240,8 @@ void tst_QQuickPopup::disabledParentPalette() QCOMPARE(popup->background()->property("color").value<QColor>(), Qt::red); QCOMPARE(popupEnabledSpy.count(), 1); QCOMPARE(popupItemEnabledSpy.count(), 1); - QCOMPARE(popupPaletteSpy.count(), 2); - QCOMPARE(popupItemPaletteSpy.count(), 2); + QCOMPARE(popupPaletteSpy.count(), 3); + QCOMPARE(popupItemPaletteSpy.count(), 3); popup->close(); QTRY_VERIFY(!popup->isVisible()); diff --git a/tests/auto/qquickstyle/CMakeLists.txt b/tests/auto/qquickstyle/CMakeLists.txt new file mode 100644 index 00000000..94aa7249 --- /dev/null +++ b/tests/auto/qquickstyle/CMakeLists.txt @@ -0,0 +1,111 @@ +# Generated from qquickstyle.pro. + +##################################################################### +## tst_qquickstyle Test: +##################################################################### + +# Collect test data +file(GLOB_RECURSE test_data_glob + RELATIVE ${CMAKE_CURRENT_SOURCE_DIR} + ${CMAKE_CURRENT_SOURCE_DIR}/data/*) +list(APPEND test_data ${test_data_glob}) + +qt_add_test(tst_qquickstyle + SOURCES + ../shared/qtest_quickcontrols.h + ../shared/util.cpp ../shared/util.h + ../shared/visualtestutil.cpp ../shared/visualtestutil.h + tst_qquickstyle.cpp + DEFINES + QQC2_IMPORT_PATH=\\\"${CMAKE_CURRENT_SOURCE_DIR}/../../../src/imports\\\" + LIBRARIES + Qt::CorePrivate + Qt::GuiPrivate + Qt::QuickControls2Private + PUBLIC_LIBRARIES + Qt::CorePrivate + Qt::Gui + Qt::GuiPrivate + Qt::QmlPrivate + Qt::QuickControls2 + Qt::QuickPrivate + Qt::QuickTemplates2Private + Qt::TestPrivate + TESTDATA ${test_data} +) + +file(GLOB resource_glob_0 RELATIVE "${CMAKE_CURRENT_SOURCE_DIR}" "qrcStyles1/QrcStyle1/*.qml") +foreach(file IN LISTS resource_glob_0) + set_source_files_properties("${CMAKE_CURRENT_SOURCE_DIR}/${file}" PROPERTIES QT_RESOURCE_ALIAS "${file}") +endforeach() + +file(GLOB resource_glob_1 RELATIVE "${CMAKE_CURRENT_SOURCE_DIR}" "qrcStyles2/QrcStyle2/*.qml") +foreach(file IN LISTS resource_glob_1) + set_source_files_properties("${CMAKE_CURRENT_SOURCE_DIR}/${file}" PROPERTIES QT_RESOURCE_ALIAS "${file}") +endforeach() + +file(GLOB resource_glob_2 RELATIVE "${CMAKE_CURRENT_SOURCE_DIR}" "qrcStyles3/QrcStyle3/*.qml") +foreach(file IN LISTS resource_glob_2) + set_source_files_properties("${CMAKE_CURRENT_SOURCE_DIR}/${file}" PROPERTIES QT_RESOURCE_ALIAS "${file}") +endforeach() + +file(GLOB resource_glob_3 RELATIVE "${CMAKE_CURRENT_SOURCE_DIR}" "qrcStyles4/QrcStyle4/*.qml") +foreach(file IN LISTS resource_glob_3) + set_source_files_properties("${CMAKE_CURRENT_SOURCE_DIR}/${file}" PROPERTIES QT_RESOURCE_ALIAS "${file}") +endforeach() + +# Resources: +set(qmake_qrcStyles1_resource_files + ${resource_glob_0} +) + +qt_add_resource(tst_qquickstyle "qmake_qrcStyles1" + PREFIX + "/" + FILES + ${qmake_qrcStyles1_resource_files} +) +set(qmake_qrcStyles2_resource_files + ${resource_glob_1} +) + +qt_add_resource(tst_qquickstyle "qmake_qrcStyles2" + PREFIX + "/" + FILES + ${qmake_qrcStyles2_resource_files} +) +set(qmake_qrcStyles3_resource_files + ${resource_glob_2} +) + +qt_add_resource(tst_qquickstyle "qmake_qrcStyles3" + PREFIX + "/" + FILES + ${qmake_qrcStyles3_resource_files} +) +set(qmake_qrcStyles4_resource_files + ${resource_glob_3} +) + +qt_add_resource(tst_qquickstyle "qmake_qrcStyles4" + PREFIX + "/" + FILES + ${qmake_qrcStyles4_resource_files} +) + + +## Scopes: +##################################################################### + +qt_extend_target(tst_qquickstyle CONDITION ANDROID OR IOS + DEFINES + QT_QMLTEST_DATADIR=\\\":/data\\\" +) + +qt_extend_target(tst_qquickstyle CONDITION NOT ANDROID AND NOT IOS + DEFINES + QT_QMLTEST_DATADIR=\\\"${CMAKE_CURRENT_SOURCE_DIR}/data\\\" +) diff --git a/tests/auto/qquickstyle/tst_qquickstyle.cpp b/tests/auto/qquickstyle/tst_qquickstyle.cpp index e99dad62..48cc88b7 100644 --- a/tests/auto/qquickstyle/tst_qquickstyle.cpp +++ b/tests/auto/qquickstyle/tst_qquickstyle.cpp @@ -40,6 +40,7 @@ #include <QtQuickControls2/qquickstyle.h> #include <QtQuickControls2/private/qquickstyle_p.h> #include <QtQuickTemplates2/private/qquicklabel_p.h> +#include <QtQuickTemplates2/private/qquicklabel_p_p.h> #include <QtQuickTemplates2/private/qquicktheme_p.h> #include <QtGui/private/qguiapplication_p.h> @@ -152,7 +153,7 @@ void tst_QQuickStyle::configurationFile() // Make it small so that there's less possibility for the default/system // pixel size to match it and give us false positives. QCOMPARE(label->font().pixelSize(), 3); - QCOMPARE(label->palette().windowText(), Qt::red); + QCOMPARE(QQuickLabelPrivate::get(label)->palette()->windowText(), Qt::red); } void tst_QQuickStyle::commandLineArgument() diff --git a/tests/auto/qquickstyleselector/CMakeLists.txt b/tests/auto/qquickstyleselector/CMakeLists.txt new file mode 100644 index 00000000..3a489ccf --- /dev/null +++ b/tests/auto/qquickstyleselector/CMakeLists.txt @@ -0,0 +1,61 @@ +# Generated from qquickstyleselector.pro. + +##################################################################### +## tst_qquickstyleselector Test: +##################################################################### + +# Collect test data +file(GLOB_RECURSE test_data_glob + RELATIVE ${CMAKE_CURRENT_SOURCE_DIR} + data/*) +list(APPEND test_data ${test_data_glob}) + +qt_add_test(tst_qquickstyleselector + SOURCES + ../shared/qtest_quickcontrols.h + ../shared/util.cpp ../shared/util.h + ../shared/visualtestutil.cpp ../shared/visualtestutil.h + tst_qquickstyleselector.cpp + DEFINES + QQC2_IMPORT_PATH=\\\"${CMAKE_CURRENT_SOURCE_DIR}/../../../src/imports\\\" + PUBLIC_LIBRARIES + Qt::CorePrivate + Qt::Gui + Qt::GuiPrivate + Qt::QmlPrivate + Qt::QuickControls2 + Qt::QuickControls2Private + Qt::QuickPrivate + Qt::QuickTemplates2Private + Qt::TestPrivate + TESTDATA ${test_data} +) + +# Resources: +set(qmake_resourcestyle_resource_files + "ResourceStyle/Button.qml" +) + +qt_add_resource(tst_qquickstyleselector "qmake_resourcestyle" + PREFIX + "/" + FILES + ${qmake_resourcestyle_resource_files} +) + + +#### Keys ignored in scope 1:.:.:qquickstyleselector.pro:<TRUE>: +# OTHER_FILES = "data/*.qml" + +## Scopes: +##################################################################### + +qt_extend_target(tst_qquickstyleselector CONDITION ANDROID OR IOS + DEFINES + QT_QMLTEST_DATADIR=\\\":/data\\\" +) + +qt_extend_target(tst_qquickstyleselector CONDITION NOT ANDROID AND NOT IOS + DEFINES + QT_QMLTEST_DATADIR=\\\"${CMAKE_CURRENT_SOURCE_DIR}/data\\\" +) diff --git a/tests/auto/qquickuniversalstyle/CMakeLists.txt b/tests/auto/qquickuniversalstyle/CMakeLists.txt new file mode 100644 index 00000000..99816bef --- /dev/null +++ b/tests/auto/qquickuniversalstyle/CMakeLists.txt @@ -0,0 +1,38 @@ +# Generated from qquickuniversalstyle.pro. + +##################################################################### +## tst_qquickuniversalstyle Test: +##################################################################### + +# Collect test data +file(GLOB_RECURSE test_data_glob + RELATIVE ${CMAKE_CURRENT_SOURCE_DIR} + ${CMAKE_CURRENT_SOURCE_DIR}/data/tst_*) +list(APPEND test_data ${test_data_glob}) + +qt_add_test(tst_qquickuniversalstyle + GUI + QMLTEST + SOURCES + tst_qquickuniversalstyle.cpp + PUBLIC_LIBRARIES + Qt::Gui + TESTDATA ${test_data} +) + +# Resources: +set(qmake_immediate_resource_files + "qtquickcontrols2.conf" +) + +qt_add_resource(tst_qquickuniversalstyle "qmake_immediate" + PREFIX + "/" + FILES + ${qmake_immediate_resource_files} +) + + +#### Keys ignored in scope 1:.:.:qquickuniversalstyle.pro:<TRUE>: +# OTHER_FILES = "$$PWD/data/*.qml" +# TEMPLATE = "app" diff --git a/tests/auto/qquickuniversalstyleconf/CMakeLists.txt b/tests/auto/qquickuniversalstyleconf/CMakeLists.txt new file mode 100644 index 00000000..1125e75b --- /dev/null +++ b/tests/auto/qquickuniversalstyleconf/CMakeLists.txt @@ -0,0 +1,61 @@ +# Generated from qquickuniversalstyleconf.pro. + +##################################################################### +## tst_qquickuniversalstyleconf Test: +##################################################################### + +# Collect test data +file(GLOB_RECURSE test_data_glob + RELATIVE ${CMAKE_CURRENT_SOURCE_DIR} + data/*) +list(APPEND test_data ${test_data_glob}) + +qt_add_test(tst_qquickuniversalstyleconf + SOURCES + ../shared/qtest_quickcontrols.h + ../shared/util.cpp ../shared/util.h + ../shared/visualtestutil.cpp ../shared/visualtestutil.h + tst_qquickuniversalstyleconf.cpp + DEFINES + QQC2_IMPORT_PATH=\\\"${CMAKE_CURRENT_SOURCE_DIR}/../../../src/imports\\\" + PUBLIC_LIBRARIES + Qt::CorePrivate + Qt::Gui + Qt::GuiPrivate + Qt::QmlPrivate + Qt::QuickControls2 + Qt::QuickControls2Private + Qt::QuickPrivate + Qt::QuickTemplates2Private + Qt::TestPrivate + TESTDATA ${test_data} +) + +# Resources: +set(qquickuniversalstyleconf_resource_files + "qtquickcontrols2.conf" +) + +qt_add_resource(tst_qquickuniversalstyleconf "qquickuniversalstyleconf" + PREFIX + "/" + FILES + ${qquickuniversalstyleconf_resource_files} +) + + +#### Keys ignored in scope 1:.:.:qquickuniversalstyleconf.pro:<TRUE>: +# OTHER_FILES = "data/*.qml" + +## Scopes: +##################################################################### + +qt_extend_target(tst_qquickuniversalstyleconf CONDITION ANDROID OR IOS + DEFINES + QT_QMLTEST_DATADIR=\\\":/data\\\" +) + +qt_extend_target(tst_qquickuniversalstyleconf CONDITION NOT ANDROID AND NOT IOS + DEFINES + QT_QMLTEST_DATADIR=\\\"${CMAKE_CURRENT_SOURCE_DIR}/data\\\" +) diff --git a/tests/auto/revisions/CMakeLists.txt b/tests/auto/revisions/CMakeLists.txt new file mode 100644 index 00000000..be0754fc --- /dev/null +++ b/tests/auto/revisions/CMakeLists.txt @@ -0,0 +1,16 @@ +# Generated from revisions.pro. + +##################################################################### +## tst_revisions Test: +##################################################################### + +qt_add_test(tst_revisions + SOURCES + tst_revisions.cpp + PUBLIC_LIBRARIES + Qt::Gui + Qt::Qml +) + +## Scopes: +##################################################################### diff --git a/tests/auto/revisions/tst_revisions.cpp b/tests/auto/revisions/tst_revisions.cpp index 606cea33..82b32827 100644 --- a/tests/auto/revisions/tst_revisions.cpp +++ b/tests/auto/revisions/tst_revisions.cpp @@ -56,7 +56,7 @@ void tst_revisions::revisions_data() QTest::addColumn<int>("revision"); // Qt 5.7: 2.0, Qt 5.8: 2.1, Qt 5.9: 2.2... - for (int i = 0; i <= QT_VERSION_MINOR - 7; ++i) + for (int i = 0; i <= 15; ++i) QTest::newRow(qPrintable(QString("2.%1").arg(i))) << i; } @@ -91,7 +91,7 @@ void tst_revisions::window_data() QTest::newRow(qPrintable(QString("screen:2.%1").arg(i))) << i << "screen: null" << QString(":1 \"ApplicationWindow.screen\" is not available in QtQuick.Templates 2.%1").arg(i); // Qt 5.9: 2.2, Qt 5.10: 2.3... - for (int i = 2; i <= QT_VERSION_MINOR - 7; ++i) + for (int i = 2; i <= 15; ++i) QTest::newRow(qPrintable(QString("screen:2.%1").arg(i))) << i << "screen: null" << ""; } diff --git a/tests/auto/sanity/CMakeLists.txt b/tests/auto/sanity/CMakeLists.txt new file mode 100644 index 00000000..f7539771 --- /dev/null +++ b/tests/auto/sanity/CMakeLists.txt @@ -0,0 +1,42 @@ +# Generated from sanity.pro. + +##################################################################### +## tst_sanity Test: +##################################################################### + +qt_add_test(tst_sanity + SOURCES + ../shared/qtest_quickcontrols.h + ../shared/util.cpp ../shared/util.h + ../shared/visualtestutil.cpp ../shared/visualtestutil.h + tst_sanity.cpp + DEFINES + QQC2_IMPORT_PATH=\\\"${CMAKE_CURRENT_SOURCE_DIR}/../../../src/imports\\\" + PUBLIC_LIBRARIES + Qt::CorePrivate + Qt::Gui + Qt::GuiPrivate + Qt::Qml + Qt::QmlPrivate + Qt::QuickControls2 + Qt::QuickPrivate + Qt::QuickTemplates2Private + Qt::TestPrivate +) + +#### Keys ignored in scope 1:.:.:sanity.pro:<TRUE>: +# OTHER_FILES = "$$PWD/BLACKLIST" +# TEMPLATE = "app" + +## Scopes: +##################################################################### + +qt_extend_target(tst_sanity CONDITION ANDROID OR IOS + DEFINES + QT_QMLTEST_DATADIR=\\\":/data\\\" +) + +qt_extend_target(tst_sanity CONDITION NOT ANDROID AND NOT IOS + DEFINES + QT_QMLTEST_DATADIR=\\\"${CMAKE_CURRENT_SOURCE_DIR}/data\\\" +) diff --git a/tests/auto/sanity/tst_sanity.cpp b/tests/auto/sanity/tst_sanity.cpp index 1793ccfa..78b86f00 100644 --- a/tests/auto/sanity/tst_sanity.cpp +++ b/tests/auto/sanity/tst_sanity.cpp @@ -156,7 +156,7 @@ void tst_Sanity::initTestCase() { QQmlEngine engine; QQmlComponent component(&engine); - component.setData(QString("import QtQuick.Templates 2.%1; Control { }").arg(QT_VERSION_MINOR - 7).toUtf8(), QUrl()); + component.setData(QString("import QtQuick.Templates 2.%1; Control { }").arg(15).toUtf8(), QUrl()); const QStringList qmlTypeNames = QQmlMetaType::qmlTypeNames(); diff --git a/tests/auto/snippets/CMakeLists.txt b/tests/auto/snippets/CMakeLists.txt new file mode 100644 index 00000000..f5d60a40 --- /dev/null +++ b/tests/auto/snippets/CMakeLists.txt @@ -0,0 +1,30 @@ +# Generated from snippets.pro. + +##################################################################### +## tst_snippets Test: +##################################################################### + +# Collect test data +file(GLOB_RECURSE test_data_glob + RELATIVE ${CMAKE_CURRENT_SOURCE_DIR} + ${CMAKE_CURRENT_SOURCE_DIR}/data/*) +list(APPEND test_data ${test_data_glob}) + +qt_add_test(tst_snippets + SOURCES + tst_snippets.cpp + DEFINES + QQC2_SNIPPETS_PATH=\\\"${CMAKE_CURRENT_SOURCE_DIR}/../../../src/imports/controls/doc/snippets\\\" + PUBLIC_LIBRARIES + Qt::Gui + Qt::Quick + Qt::QuickControls2 + TESTDATA ${test_data} +) + +#### Keys ignored in scope 1:.:.:snippets.pro:<TRUE>: +# OTHER_FILES = "$$PWD/data/*.qml" +# TEMPLATE = "app" + +## Scopes: +##################################################################### diff --git a/tests/auto/translation/CMakeLists.txt b/tests/auto/translation/CMakeLists.txt new file mode 100644 index 00000000..50e10171 --- /dev/null +++ b/tests/auto/translation/CMakeLists.txt @@ -0,0 +1,61 @@ +# Generated from translation.pro. + +##################################################################### +## tst_translation Test: +##################################################################### + +# Collect test data +file(GLOB_RECURSE test_data_glob + RELATIVE ${CMAKE_CURRENT_SOURCE_DIR} + data/*) +list(APPEND test_data ${test_data_glob}) + +qt_add_test(tst_translation + SOURCES + ../shared/qtest_quickcontrols.h + ../shared/util.cpp ../shared/util.h + ../shared/visualtestutil.cpp ../shared/visualtestutil.h + tst_translation.cpp + DEFINES + QQC2_IMPORT_PATH=\\\"${CMAKE_CURRENT_SOURCE_DIR}/../../../src/imports\\\" + PUBLIC_LIBRARIES + Qt::CorePrivate + Qt::Gui + Qt::GuiPrivate + Qt::QmlPrivate + Qt::QuickControls2 + Qt::QuickPrivate + Qt::QuickTemplates2Private + Qt::TestPrivate + TESTDATA ${test_data} +) + +# Resources: +set(qmake_immediate_resource_files + "qml_jp.qm" + "qtbase_fr.qm" +) + +qt_add_resource(tst_translation "qmake_immediate" + PREFIX + "/" + FILES + ${qmake_immediate_resource_files} +) + + +#### Keys ignored in scope 1:.:.:translation.pro:<TRUE>: +# OTHER_FILES = "data/*.qml" + +## Scopes: +##################################################################### + +qt_extend_target(tst_translation CONDITION ANDROID OR IOS + DEFINES + QT_QMLTEST_DATADIR=\\\":/data\\\" +) + +qt_extend_target(tst_translation CONDITION NOT ANDROID AND NOT IOS + DEFINES + QT_QMLTEST_DATADIR=\\\"${CMAKE_CURRENT_SOURCE_DIR}/data\\\" +) |