45 void SlotClosureTest::testDeleteLater ()
57 SIGNAL (someSignal ()),
63 const QPointer<QObject> closurePtr { closure };
65 QCOMPARE (hasRun,
true);
66 QCOMPARE (closurePtr.isNull (),
false);
68 QCoreApplication::sendPostedEvents (
nullptr, QEvent::DeferredDelete);
70 QCOMPARE (closurePtr.isNull (),
true);
73 void SlotClosureTest::testNoDelete ()
78 const auto closure =
new SlotClosure<NoDeletePolicy>
85 SIGNAL (someSignal ()),
91 const QPointer<QObject> closurePtr { closure };
93 QCOMPARE (hasRun,
true);
94 QCOMPARE (closurePtr.isNull (),
false);
96 QCoreApplication::sendPostedEvents (
nullptr, QEvent::DeferredDelete);
98 QCOMPARE (closurePtr.isNull (),
false);
101 void SlotClosureTest::testChoiceDelete ()
106 const auto closure =
new SlotClosure<ChoiceDeletePolicy>
117 SIGNAL (someSignal ()),
120 const QPointer<QObject> closurePtr { closure };
124 QCOMPARE (hasRun,
true);
125 QCOMPARE (closurePtr.isNull (),
false);
127 QCoreApplication::sendPostedEvents (
nullptr, QEvent::DeferredDelete);
129 QCOMPARE (closurePtr.isNull (),
false);
132 QCoreApplication::sendPostedEvents (
nullptr, QEvent::DeferredDelete);
134 QCOMPARE (closurePtr.isNull (),
true);
Executes a given functor upon a signal (or a list of signals).
Delete SlotClosure after this invocation.
Do not delete SlotClosure after this invocation.