diff options
author | Marc Mutz <marc.mutz@qt.io> | 2023-08-11 21:22:57 +0200 |
---|---|---|
committer | Volker Hilsheimer <volker.hilsheimer@qt.io> | 2023-09-05 13:43:44 +0000 |
commit | 5a96d13bb5abd5339cf21dd1de7a17152c71f0fc (patch) | |
tree | 03a4f9423a53b46168f26f3fc80ae6651d8c9ae4 /tests/auto/widgets/widgets/qcheckbox/tst_qcheckbox.cpp | |
parent | 4367abb75a8ce07344006efd17317d5ad8e03f5f (diff) |
QCheckBox: add new checkStateChanged(Qt::CheckState) signal
... to replace the old stateChanged(int) one, which a) had the wrong
name and b) the wrong argument type.
Mark the old one as \obsolete, so new users don't see it
anymore. Prepare for deprecation in the test, but don't actually
deprecate, yet (this author does not know how to deprecate signals).
Found in API-review.
Amends 37b47ebf946ef1a37573107375fbe5fc0eb1e6d2.
As a drive-by, replace explicit qWait() calls with QTRY_COMPARE().
[ChangeLog][QtWidgets][QCheckBox] Added new
checkStateChanged(Qt::CheckState) signal, obsoleting
stateChanged(int).
Fixes: QTBUG-104688
Change-Id: I01791fd003b752c47d99bea65151202be9175c21
Reviewed-by: Axel Spoerl <axel.spoerl@qt.io>
Reviewed-by: Volker Hilsheimer <volker.hilsheimer@qt.io>
Diffstat (limited to 'tests/auto/widgets/widgets/qcheckbox/tst_qcheckbox.cpp')
-rw-r--r-- | tests/auto/widgets/widgets/qcheckbox/tst_qcheckbox.cpp | 16 |
1 files changed, 10 insertions, 6 deletions
diff --git a/tests/auto/widgets/widgets/qcheckbox/tst_qcheckbox.cpp b/tests/auto/widgets/widgets/qcheckbox/tst_qcheckbox.cpp index 9055b13901..a8f8c03e02 100644 --- a/tests/auto/widgets/widgets/qcheckbox/tst_qcheckbox.cpp +++ b/tests/auto/widgets/widgets/qcheckbox/tst_qcheckbox.cpp @@ -25,7 +25,7 @@ private slots: void toggle(); void pressed(); void toggled(); - void stateChanged(); + void checkStateChanged(); void foregroundRole(); void minimumSizeHint(); }; @@ -188,34 +188,38 @@ void tst_QCheckBox::toggled() QCOMPARE(click_count, 0); } -void tst_QCheckBox::stateChanged() +void tst_QCheckBox::checkStateChanged() { QCheckBox testWidget; QCOMPARE(testWidget.checkState(), Qt::Unchecked); Qt::CheckState cur_state = Qt::Unchecked; + QSignalSpy checkStateChangedSpy(&testWidget, &QCheckBox::checkStateChanged); + QT_IGNORE_DEPRECATIONS( QSignalSpy stateChangedSpy(&testWidget, &QCheckBox::stateChanged); - connect(&testWidget, &QCheckBox::stateChanged, this, [&](auto state) { cur_state = Qt::CheckState(state); }); + ) + connect(&testWidget, &QCheckBox::checkStateChanged, this, [&](auto state) { cur_state = state; }); testWidget.setChecked(true); - QVERIFY(QTest::qWaitFor([&]() { return stateChangedSpy.size() == 1; })); + QTRY_COMPARE(checkStateChangedSpy.size(), 1); QCOMPARE(stateChangedSpy.size(), 1); QCOMPARE(cur_state, Qt::Checked); QCOMPARE(testWidget.checkState(), Qt::Checked); testWidget.setChecked(false); - QVERIFY(QTest::qWaitFor([&]() { return stateChangedSpy.size() == 2; })); + QTRY_COMPARE(checkStateChangedSpy.size(), 2); QCOMPARE(stateChangedSpy.size(), 2); QCOMPARE(cur_state, Qt::Unchecked); QCOMPARE(testWidget.checkState(), Qt::Unchecked); testWidget.setCheckState(Qt::PartiallyChecked); - QVERIFY(QTest::qWaitFor([&]() { return stateChangedSpy.size() == 3; })); + QTRY_COMPARE(checkStateChangedSpy.size(), 3); QCOMPARE(stateChangedSpy.size(), 3); QCOMPARE(cur_state, Qt::PartiallyChecked); QCOMPARE(testWidget.checkState(), Qt::PartiallyChecked); testWidget.setCheckState(Qt::PartiallyChecked); QCoreApplication::processEvents(); + QCOMPARE(checkStateChangedSpy.size(), 3); QCOMPARE(stateChangedSpy.size(), 3); } |