1 #include "signals_test.h"
2 #include "pbd/signals.h"
6 CPPUNIT_TEST_SUITE_REGISTRATION (SignalsTest);
11 if (!Glib::thread_supported ()) {
22 PBD::Signal0<void> Fred;
34 SignalsTest::testEmission ()
36 Emitter* e = new Emitter;
37 PBD::ScopedConnection c;
38 e->Fred.connect_same_thread (c, boost::bind (&receiver));
43 CPPUNIT_ASSERT_EQUAL (2, N);
45 e->Fred.connect_same_thread (c, boost::bind (&receiver));
48 CPPUNIT_ASSERT_EQUAL (2, N);
52 SignalsTest::testDestruction ()
54 Emitter* e = new Emitter;
55 PBD::ScopedConnection c;
56 e->Fred.connect_same_thread (c, boost::bind (&receiver));
61 CPPUNIT_ASSERT (true);
64 class Receiver : public PBD::ScopedConnectionList
67 Receiver (Emitter* e) {
68 e->Fred.connect_same_thread (*this, boost::bind (&Receiver::receiver, this));
72 cout << "Receiver::receiver\n";
78 SignalsTest::testScopedConnectionList ()
80 Emitter* e = new Emitter;
81 Receiver* r = new Receiver (e);
88 CPPUNIT_ASSERT_EQUAL (1, N);