24 void SlotClosureTest::testDeleteLater ()
36 SIGNAL (someSignal ()),
42 const QPointer<QObject> closurePtr { closure };
44 QCOMPARE (hasRun,
true);
45 QCOMPARE (closurePtr.isNull (),
false);
47 QCoreApplication::sendPostedEvents (
nullptr, QEvent::DeferredDelete);
49 QCOMPARE (closurePtr.isNull (),
true);
52 void SlotClosureTest::testNoDelete ()
57 const auto closure =
new SlotClosure<NoDeletePolicy>
64 SIGNAL (someSignal ()),
70 const QPointer<QObject> closurePtr { closure };
72 QCOMPARE (hasRun,
true);
73 QCOMPARE (closurePtr.isNull (),
false);
75 QCoreApplication::sendPostedEvents (
nullptr, QEvent::DeferredDelete);
77 QCOMPARE (closurePtr.isNull (),
false);
82 void SlotClosureTest::testChoiceDelete ()
87 const auto closure =
new SlotClosure<ChoiceDeletePolicy>
98 SIGNAL (someSignal ()),
101 const QPointer<QObject> closurePtr { closure };
105 QCOMPARE (hasRun,
true);
106 QCOMPARE (closurePtr.isNull (),
false);
108 QCoreApplication::sendPostedEvents (
nullptr, QEvent::DeferredDelete);
110 QCOMPARE (closurePtr.isNull (),
false);
113 QCoreApplication::sendPostedEvents (
nullptr, QEvent::DeferredDelete);
115 QCOMPARE (closurePtr.isNull (),
true);
@ Yes
Delete SlotClosure after this invocation.
@ No
Do not delete SlotClosure after this invocation.
Executes a given functor upon a signal (or a list of signals).