qt5base-lts/tests/auto
Volker Hilsheimer 8c18a245b0 QAbstractScrollArea: Don't include size of invisible scrollbars
Amend 3e59a88e89, which incorrectly used
isHidden() to test whether the scrollbar is visible or not.
QWidget::isHidden() is only true for child widgets that are explicitly
hidden (or created for visible parents, which the scrollbars are not).
Since the scrollbars are children of a container that is hidden and
shown, isHidden always returns false.

Instead, use QWidget::isVisibleTo, passing the scroll area, as that
tells us if the scrollbar's visibility is relevant for the layout of the
scroll area.

Add a test case for QAbstractScrollArea, verifying that the scrollbar's
size is correctly taken into account when calculating the size hint.
This change revealed an instability in the tests introduced in the
earlier commit: the layout process is asynchronous, requiring event
processing to update the visibility of the scrollbars. Add a call to
processEvents before storing the reference size hint. Also, explicitly
set a style that doesn't use transient scrollbars as otherwise we cannot
control when the scrollbars are shown.

The chagne also revealed an inaccuracy in the QListView test, which
only passed because the width of the vertical scrollbar was included.
We cannot use font metrics results to compare expected width, as the
item delegate's text rendering uses text layouts.

Task-number: QTBUG-69120
Fixes: QTBUG-109326
Fixes: QTBUG-113552
Pick-to: 6.6 6.5
Change-Id: I1f06f9e88046a77722291ac17c56090f8dff7cf3
Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
Reviewed-by: Axel Spoerl <axel.spoerl@qt.io>
2023-07-11 01:34:19 +02:00
..
bic/data Add binary compatibility file built against 6.5.0 2023-04-19 15:40:36 +00:00
cmake Fix handling of QT_PATH_ANDROID_ABI_xxxx in android multi-abi tests 2023-07-04 16:53:16 +02:00
concurrent CMake: Make qtbase tests standalone projects 2023-07-05 15:09:32 +02:00
corelib QXmlStreamReader: Raise error on unexpected tokens 2023-07-10 22:44:06 +02:00
dbus Fix spelling of D-Bus in the source code 2023-07-06 21:51:29 +02:00
gui CMake: Make gui tests standalone projects 2023-07-05 15:09:32 +02:00
guiapplauncher Move Weather Anchor Layout example to manual tests 2023-03-02 05:55:57 +01:00
network Update public suffix list 2023-07-06 17:53:11 +02:00
opengl tests: Remove remains of qmake conversion from CMakeLists.txt files 2023-02-17 21:56:49 +01:00
other a11y: Report app as parent for top-level item views 2023-07-10 11:34:41 +02:00
printsupport CMake: Make qtbase tests standalone projects 2023-07-05 15:09:32 +02:00
shared tests: remove PlatformInputContext::filterEvent() 2023-01-18 13:21:06 +01:00
sql SQL/SQLite: add case folding for non-ascii characters 2023-07-08 00:08:44 +02:00
testlib QCOMPARE: restore compatibility with braced-init-lists 2023-07-07 12:20:50 +02:00
tools qdbusxml2cpp: Improve error reporting 2023-07-06 21:51:25 +02:00
wasm CMake: Make qtbase tests standalone projects 2023-07-05 15:09:32 +02:00
widgets QAbstractScrollArea: Don't include size of invisible scrollbars 2023-07-11 01:34:19 +02:00
xml CMake: Make qtbase tests standalone projects 2023-07-05 15:09:32 +02:00
CMakeLists.txt CI: Enable tests under corelib/text for Wasm platform 2023-07-10 14:53:34 +02:00
network-settings.h Use SPDX license identifiers 2022-05-16 16:37:38 +02:00