aboutsummaryrefslogtreecommitdiffstats
path: root/tests
diff options
context:
space:
mode:
authorMitch Curtis <mitch.curtis@qt.io>2021-01-11 17:36:30 +0100
committerQt Cherry-pick Bot <cherrypick_bot@qt-project.org>2021-01-13 11:38:53 +0000
commitbfa7b5a4641f387ca7efc2df7a9d04a03ca937db (patch)
treef22272297c97c8df4794f5205d79d37f8e347542 /tests
parent9507cedf7d7de8479b58368784f16ded011aebb6 (diff)
Ensure that C++ Qt Quick tests are run with all applicable styles
Since 8b534487044dfb3b464431ecb91ef4e0864af4ed, the C++ tests were only being run with the default style for the platform that they were run on. Fix this by keeping track of whether a default style is in use and checking it in the tests. Change-Id: I4ddd90aba12ede83fff0d3d1002534e79fce8c87 Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io> (cherry picked from commit 4b66c0bd7de6063982459fe45f69278fd0519b1b) Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
Diffstat (limited to 'tests')
-rw-r--r--tests/auto/qquickstyle/tst_qquickstyle.cpp1
-rw-r--r--tests/auto/shared/qtest_quickcontrols.h6
2 files changed, 6 insertions, 1 deletions
diff --git a/tests/auto/qquickstyle/tst_qquickstyle.cpp b/tests/auto/qquickstyle/tst_qquickstyle.cpp
index b9497500..97259051 100644
--- a/tests/auto/qquickstyle/tst_qquickstyle.cpp
+++ b/tests/auto/qquickstyle/tst_qquickstyle.cpp
@@ -137,6 +137,7 @@ void tst_QQuickStyle::configurationFile()
QVERIFY2(!object.isNull(), qPrintable(labelComponent.errorString()));
QCOMPARE(QQuickStyle::name(), expectedStyle);
+ QVERIFY(!QQuickStylePrivate::isUsingDefaultStyle());
// Test that fonts and palettes specified in configuration files are respected.
QQuickLabel *label = qobject_cast<QQuickLabel *>(object.data());
diff --git a/tests/auto/shared/qtest_quickcontrols.h b/tests/auto/shared/qtest_quickcontrols.h
index acd0304c..8eadd979 100644
--- a/tests/auto/shared/qtest_quickcontrols.h
+++ b/tests/auto/shared/qtest_quickcontrols.h
@@ -46,7 +46,11 @@
static QStringList testStyles()
{
- if (QQuickStyle::name().isEmpty())
+ // It's not enough to check if the name is empty, because since Qt 6
+ // we set an appropriate style for the platform if no style was specified.
+ // Also, we need the name check to come first, as isUsingDefaultStyle() does not do any resolving,
+ // and so its return value wouldn't be correct otherwise.
+ if (QQuickStyle::name().isEmpty() || QQuickStylePrivate::isUsingDefaultStyle())
return QQuickStylePrivate::builtInStyles();
return QStringList(QQuickStyle::name());
}