From 6afc34a72f1fbf4b8a379228c64f9a34a1c4433f Mon Sep 17 00:00:00 2001 From: Marc Mutz Date: Mon, 9 Dec 2013 16:01:48 +0100 Subject: tst_qsignalblocker: simplify test This test can assume that the QObject::signalsBlocked property works as advertized, so just check signalsBlocked() in repsonse to QSignalBlocker manipulations. Change-Id: I99e4ef9c4ed05c3840233d92a587636d2d78f59a Reviewed-by: Olivier Goffart --- .../kernel/qsignalblocker/tst_qsignalblocker.cpp | 151 ++------------------- 1 file changed, 13 insertions(+), 138 deletions(-) (limited to 'tests/auto/corelib/kernel/qsignalblocker') diff --git a/tests/auto/corelib/kernel/qsignalblocker/tst_qsignalblocker.cpp b/tests/auto/corelib/kernel/qsignalblocker/tst_qsignalblocker.cpp index 1f71692ffe..3fc155bfe8 100644 --- a/tests/auto/corelib/kernel/qsignalblocker/tst_qsignalblocker.cpp +++ b/tests/auto/corelib/kernel/qsignalblocker/tst_qsignalblocker.cpp @@ -48,161 +48,36 @@ class tst_QSignalBlocker : public QObject Q_OBJECT private slots: void signalBlocking(); - void signalBlockingMoveAssignment(); + void moveAssignment(); }; -class SenderObject : public QObject -{ - Q_OBJECT - -public: - SenderObject() : aPublicSlotCalled(0), recursionCount(0) {} - - void emitSignal1AfterRecursion() - { - if (recursionCount++ < 100) - emitSignal1AfterRecursion(); - else - emitSignal1(); - } - - void emitSignal1() { emit signal1(); } - void emitSignal2() { emit signal2(); } - void emitSignal3() { emit signal3(); } - void emitSignal4() { emit signal4(); } - -signals: - void signal1(); - void signal2(); - void signal3(); - void signal4(); - QT_MOC_COMPAT void signal5(); - void signal6(void); - void signal7(int, const QString &); - -public slots: - void aPublicSlot() { aPublicSlotCalled++; } - -public: - Q_INVOKABLE void invoke1(){} - Q_SCRIPTABLE void sinvoke1(){} - int aPublicSlotCalled; -protected: - Q_INVOKABLE QT_MOC_COMPAT void invoke2(){} - Q_INVOKABLE QT_MOC_COMPAT void invoke2(int){} - Q_SCRIPTABLE QT_MOC_COMPAT void sinvoke2(){} -private: - Q_INVOKABLE void invoke3(int hinz = 0, int kunz = 0){Q_UNUSED(hinz) Q_UNUSED(kunz)} - Q_SCRIPTABLE void sinvoke3(){} - - int recursionCount; -}; - -class ReceiverObject : public QObject -{ - Q_OBJECT - -public: - ReceiverObject() - : sequence_slot1( 0 ) - , sequence_slot2( 0 ) - , sequence_slot3( 0 ) - , sequence_slot4( 0 ) - {} - - void reset() - { - sequence_slot4 = 0; - sequence_slot3 = 0; - sequence_slot2 = 0; - sequence_slot1 = 0; - count_slot1 = 0; - count_slot2 = 0; - count_slot3 = 0; - count_slot4 = 0; - } - - int sequence_slot1; - int sequence_slot2; - int sequence_slot3; - int sequence_slot4; - int count_slot1; - int count_slot2; - int count_slot3; - int count_slot4; - - bool called(int slot) - { - switch (slot) { - case 1: return sequence_slot1; - case 2: return sequence_slot2; - case 3: return sequence_slot3; - case 4: return sequence_slot4; - default: return false; - } - } - - static int sequence; - -public slots: - void slot1() { sequence_slot1 = ++sequence; count_slot1++; } - void slot2() { sequence_slot2 = ++sequence; count_slot2++; } - void slot3() { sequence_slot3 = ++sequence; count_slot3++; } - void slot4() { sequence_slot4 = ++sequence; count_slot4++; } - -}; - -int ReceiverObject::sequence = 0; - void tst_QSignalBlocker::signalBlocking() { - SenderObject sender; - ReceiverObject receiver; + QObject o; - receiver.connect(&sender, SIGNAL(signal1()), SLOT(slot1())); - - sender.emitSignal1(); - QVERIFY(receiver.called(1)); - receiver.reset(); + QVERIFY(!o.signalsBlocked()); { - QSignalBlocker blocker(&sender); - - sender.emitSignal1(); - QVERIFY(!receiver.called(1)); - receiver.reset(); + QSignalBlocker blocker(&o); + QVERIFY(o.signalsBlocked()); - sender.blockSignals(false); + o.blockSignals(false); + QVERIFY(!o.signalsBlocked()); - sender.emitSignal1(); - QVERIFY(receiver.called(1)); - receiver.reset(); - - sender.blockSignals(true); - - sender.emitSignal1(); - QVERIFY(!receiver.called(1)); - receiver.reset(); + o.blockSignals(true); + QVERIFY(o.signalsBlocked()); blocker.unblock(); - - sender.emitSignal1(); - QVERIFY(receiver.called(1)); - receiver.reset(); + QVERIFY(!o.signalsBlocked()); blocker.reblock(); - - sender.emitSignal1(); - QVERIFY(!receiver.called(1)); - receiver.reset(); + QVERIFY(o.signalsBlocked()); } - sender.emitSignal1(); - QVERIFY(receiver.called(1)); - receiver.reset(); + QVERIFY(!o.signalsBlocked()); } -void tst_QSignalBlocker::signalBlockingMoveAssignment() +void tst_QSignalBlocker::moveAssignment() { #ifdef Q_COMPILER_RVALUE_REFS QObject o1, o2; -- cgit v1.2.3