qt6-bb10/tests/auto/corelib/kernel
Ivan Solovev f5a5c59918 Extend QTestPrivate property tests - actual implementation [2/2]
This patch provides the actual implementation to detect binding loops
in property setters.

These test will help to catch all the existing binding loops that were
introduced when migrating to new bindable properties.

The logic of the new tests is taken from
tst_QObject::objectNameBinding(), but generalized to be applicable to
all bindable properties.

The original code from tst_QObject can now be removed.

The patch effectively reverts f791570b86
because a lambda returning a nullptr now means that the binding loop
test should be skipped, which is not a good default behavior.
Now when all the existing bindable properties are fixed, it's fine to
give a compilation error when adding new tests, if the class is not
default-constructible.

Task-number: QTBUG-116345
Pick-to: 6.6 6.5
Change-Id: I059d444d4bb023c050a22e5b1974565e4f581b5c
Reviewed-by: Ulf Hermann <ulf.hermann@qt.io>
2023-11-01 22:05:38 +02:00
..
qapplicationstatic CMake: Make corelib tests standalone projects 2023-07-05 15:09:32 +02:00
qcoreapplication CMake: Make corelib tests standalone projects 2023-07-05 15:09:32 +02:00
qdeadlinetimer CMake: Make corelib tests standalone projects 2023-07-05 15:09:32 +02:00
qelapsedtimer CMake: Make corelib tests standalone projects 2023-07-05 15:09:32 +02:00
qeventdispatcher tst_qeventdispatcher: port to QDeadlineTimer 2023-09-04 22:40:35 +03:00
qeventloop qcore_unix: port qt_safe_poll to QDeadlineTimer 2023-10-24 18:29:45 +03:00
qjniarray JNI: add QJniArray class for easier working with arrays 2023-10-16 18:43:16 +02:00
qjnienvironment JNI: Silence and harden QJniEnvironment test 2023-10-05 19:50:33 +02:00
qjniobject JNI: Fix reference leak in QJniArray 2023-10-23 15:10:28 +02:00
qjnitypes JNI: don't implement a signature for 'long' C++ type 2023-11-01 15:58:40 +08:00
qmath CMake: Make corelib tests standalone projects 2023-07-05 15:09:32 +02:00
qmetacontainer CMake: Make corelib tests standalone projects 2023-07-05 15:09:32 +02:00
qmetaenum tst_QMetaEnum: add round-trip testing to valueToKeys() 2023-10-19 12:22:42 +00:00
qmetamethod CMake: Make corelib tests standalone projects 2023-07-05 15:09:32 +02:00
qmetaobject QMetaEnum: refactor keysToValue 2023-10-31 19:36:00 +02:00
qmetaobjectbuilder CMake: Make corelib tests standalone projects 2023-07-05 15:09:32 +02:00
qmetaproperty CMake: Make corelib tests standalone projects 2023-07-05 15:09:32 +02:00
qmetatype QMetaType: fix recursive detection of std::optional operators 2023-07-31 18:43:55 -07:00
qmimedata tests/auto/*: port Q_FOREACH to ranged-for 2023-08-19 16:29:09 +03:00
qobject Extend QTestPrivate property tests - actual implementation [2/2] 2023-11-01 22:05:38 +02:00
qpermission Constrain QCoreApplication::requestPermission to compatible functors 2023-09-01 03:30:50 +02:00
qpointer QPointer: ensure construction from nullptr is constinit'able 2023-10-05 20:19:40 +02:00
qproperty QProperty: Steal currentCompatProperty while evaluating a different one 2023-09-27 09:31:41 +00:00
qsignalblocker Implement QSignalBlocker::dismiss() 2023-08-31 22:11:51 +00:00
qsignalmapper CMake: Make corelib tests standalone projects 2023-07-05 15:09:32 +02:00
qsocketnotifier QAbstractSocketEngine: port to QDeadlineTimer 2023-10-07 02:28:12 +03:00
qtimer QTimer: extend property tests and fix binding loop 2023-09-03 18:20:51 +02:00
qtranslator Give QLocale::uiLanguages() a separator parameter 2023-08-16 16:25:48 +02:00
qvariant QVariant: add fromMetaType 2023-09-20 00:05:53 +02:00
qwineventnotifier CMake: Make corelib tests standalone projects 2023-07-05 15:09:32 +02:00
qwinregistrykey CMake: Make corelib tests standalone projects 2023-07-05 15:09:32 +02:00
CMakeLists.txt JNI: add QJniArray class for easier working with arrays 2023-10-16 18:43:16 +02:00