diff options
Diffstat (limited to 'tests/baseline/stylesheet')
5 files changed, 74 insertions, 19 deletions
diff --git a/tests/baseline/stylesheet/CMakeLists.txt b/tests/baseline/stylesheet/CMakeLists.txt index 11f6e52179..3fdaa739fe 100644 --- a/tests/baseline/stylesheet/CMakeLists.txt +++ b/tests/baseline/stylesheet/CMakeLists.txt @@ -1,3 +1,6 @@ +# Copyright (C) 2022 The Qt Company Ltd. +# SPDX-License-Identifier: BSD-3-Clause + file(GLOB_RECURSE test_data_glob RELATIVE ${CMAKE_CURRENT_SOURCE_DIR} qss/*) @@ -11,9 +14,10 @@ qt_internal_add_test(tst_baseline_stylesheet tst_baseline_stylesheet.cpp INCLUDE_DIRECTORIES ../shared - PUBLIC_LIBRARIES + LIBRARIES Qt::Gui Qt::Widgets + Qt::WidgetsPrivate Qt::Network TESTDATA ${test_data} ) diff --git a/tests/baseline/stylesheet/qss/qheaderview/selectedFontWeight.qss b/tests/baseline/stylesheet/qss/qheaderview/selectedFontWeight.qss new file mode 100644 index 0000000000..1c45a99767 --- /dev/null +++ b/tests/baseline/stylesheet/qss/qheaderview/selectedFontWeight.qss @@ -0,0 +1,16 @@ +QHeaderView::section { + background-color: red; + font-size: 10px; +} + +QHeaderView::section:checked { + background-color: green; + font-size: 20px; + font-weight: bold; +} + +QHeaderView::section:first { + background-color: yellow; + font-size: 20px; + font-weight: normal; +} diff --git a/tests/baseline/stylesheet/qss/qtreeview/showDecorationSelected.qss b/tests/baseline/stylesheet/qss/qtreeview/showDecorationSelected.qss new file mode 100644 index 0000000000..b279b587bd --- /dev/null +++ b/tests/baseline/stylesheet/qss/qtreeview/showDecorationSelected.qss @@ -0,0 +1,3 @@ +QTreeView { + show-decoration-selected: 1 +} diff --git a/tests/baseline/stylesheet/qss/qtreeview/styledSelection.qss b/tests/baseline/stylesheet/qss/qtreeview/styledSelection.qss new file mode 100644 index 0000000000..7d54a74fe5 --- /dev/null +++ b/tests/baseline/stylesheet/qss/qtreeview/styledSelection.qss @@ -0,0 +1,10 @@ +QTreeView { + alternate-background-color: yellow; + show-decoration-selected: 1; +} +QTreeView::item:selected:active { + background: qlineargradient(x1:0, y1:0 x2: 0, y2: 1, stop: 0 #fea1f1 stop: 1 #567dbc) +} +QTreeView::branch { + border: 2px +} diff --git a/tests/baseline/stylesheet/tst_baseline_stylesheet.cpp b/tests/baseline/stylesheet/tst_baseline_stylesheet.cpp index 19bfed5e33..1028c68250 100644 --- a/tests/baseline/stylesheet/tst_baseline_stylesheet.cpp +++ b/tests/baseline/stylesheet/tst_baseline_stylesheet.cpp @@ -1,5 +1,5 @@ // Copyright (C) 2021 The Qt Company Ltd. -// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR GPL-3.0-only WITH Qt-GPL-exception-1.0 +// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR GPL-3.0-only #include <qbaselinetest.h> #include <qwidgetbaselinetest.h> @@ -27,6 +27,9 @@ private slots: void tst_QTreeView_data(); void tst_QTreeView(); + void tst_QHeaderView_data(); + void tst_QHeaderView(); + private: QDir styleSheetDir; }; @@ -63,7 +66,7 @@ void tst_Stylesheet::loadTestFiles() for (const auto &qssFile : qssFiles) { QFileInfo fileInfo(qssFile); QFile file(qssFile); - file.open(QFile::ReadOnly); + QVERIFY(file.open(QFile::ReadOnly)); QString styleSheet = QString::fromUtf8(file.readAll()); QBaselineTest::newRow(fileInfo.baseName().toUtf8()) << styleSheet; } @@ -160,19 +163,29 @@ void tst_Stylesheet::tst_QTreeView() tw->header()->hide(); layout->addWidget(tw); - for (int i = 0; i < 6; ++i) { + enum { + Unchecked = 0, + Checked = 1, + Children = 2, + Disabled = 3, + CheckedDisabled = 4, + ChildrenDisabled = 5, + NConfigs + }; + + for (int i = 0; i < NConfigs; ++i) { QTreeWidgetItem *topLevelItem = new QTreeWidgetItem(tw, QStringList{QString("top %1").arg(i)}); switch (i) { - case 0: - case 3: + case Unchecked: + case Disabled: topLevelItem->setCheckState(0, Qt::Unchecked); break; - case 1: - case 4: + case Checked: + case CheckedDisabled: topLevelItem->setCheckState(0, Qt::Checked); break; - case 2: - case 5: + case Children: + case ChildrenDisabled: topLevelItem->setCheckState(0, Qt::PartiallyChecked); topLevelItem->setExpanded(true); for (int j = 0; j < 2; ++j) { @@ -181,7 +194,7 @@ void tst_Stylesheet::tst_QTreeView() } break; } - topLevelItem->setDisabled(i > 2); + topLevelItem->setDisabled(i >= Disabled); } testWindow()->setLayout(layout); tw->setRootIsDecorated(true); @@ -190,18 +203,27 @@ void tst_Stylesheet::tst_QTreeView() QBASELINE_CHECK_DEFERRED(takeSnapshot(), "rootDecorated"); tw->setRootIsDecorated(false); QBASELINE_CHECK_DEFERRED(takeSnapshot(), "rootNotDecorated"); -} -#define main _realmain -QTEST_MAIN(tst_Stylesheet) -#undef main + tw->topLevelItem(Children)->child(0)->setSelected(true); + QBASELINE_CHECK_DEFERRED(takeSnapshot(), "itemSelected"); +} -int main(int argc, char *argv[]) +void tst_Stylesheet::tst_QHeaderView_data() { - qSetGlobalQHashSeed(0); // Avoid rendering variations caused by QHash randomization + loadTestFiles(); +} - QBaselineTest::handleCmdLineArgs(&argc, &argv); - return _realmain(argc, argv); +void tst_Stylesheet::tst_QHeaderView() +{ + QHBoxLayout *layout = new QHBoxLayout; + QTableWidget *tw = new QTableWidget(10, 10); + tw->setCurrentCell(1, 1); + layout->addWidget(tw); + testWindow()->setLayout(layout); + makeVisible(); + QBASELINE_TEST(takeSnapshot()); } +QBASELINETEST_MAIN(tst_Stylesheet) + #include "tst_baseline_stylesheet.moc" |