summaryrefslogtreecommitdiffstats
path: root/tests/auto/corelib/kernel/qsignalblocker
diff options
context:
space:
mode:
authorMarc Mutz <marc.mutz@kdab.com>2013-12-09 16:01:48 +0100
committerThe Qt Project <gerrit-noreply@qt-project.org>2014-02-16 00:18:32 +0100
commit6afc34a72f1fbf4b8a379228c64f9a34a1c4433f (patch)
treee42254e86e03fb167e8f729b42c167869f3d7f04 /tests/auto/corelib/kernel/qsignalblocker
parent8d721b3c567aeecb04a39a3f75b76f5ef10db25c (diff)
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 <ogoffart@woboq.com>
Diffstat (limited to 'tests/auto/corelib/kernel/qsignalblocker')
-rw-r--r--tests/auto/corelib/kernel/qsignalblocker/tst_qsignalblocker.cpp151
1 files changed, 13 insertions, 138 deletions
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;