summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorCarl Hetherington <carl@carlh.net>2011-03-04 17:35:39 +0000
committerCarl Hetherington <carl@carlh.net>2011-03-04 17:35:39 +0000
commitb20a139129eda1b963798340d067bec849eb8f6e (patch)
treeddb570eda960a99c4e5ea021c742505dd6533e3a
parent98248aeb68bfebcdef63a5d5c318a54966a31c07 (diff)
Missing files.
git-svn-id: svn://localhost/ardour2/branches/3.0@9075 d708f5d6-7413-0410-9779-e7cbd77b26cf
-rw-r--r--libs/pbd/test/signals_test.cc33
-rw-r--r--libs/pbd/test/signals_test.h12
2 files changed, 45 insertions, 0 deletions
diff --git a/libs/pbd/test/signals_test.cc b/libs/pbd/test/signals_test.cc
new file mode 100644
index 0000000000..f635ea63da
--- /dev/null
+++ b/libs/pbd/test/signals_test.cc
@@ -0,0 +1,33 @@
+#include "signals_test.h"
+#include "pbd/signals.h"
+
+CPPUNIT_TEST_SUITE_REGISTRATION (SignalsTest);
+
+class Emitter {
+public:
+ void emit () {
+ Fred ();
+ }
+
+ PBD::Signal0<void> Fred;
+};
+
+void
+receiver ()
+{
+
+}
+
+void
+SignalsTest::testDestruction ()
+{
+ Emitter* e = new Emitter;
+ PBD::ScopedConnection c;
+ e->Fred.connect_same_thread (c, boost::bind (&receiver));
+ e->emit ();
+ delete e;
+ c.disconnect ();
+
+ CPPUNIT_ASSERT (true);
+}
+
diff --git a/libs/pbd/test/signals_test.h b/libs/pbd/test/signals_test.h
new file mode 100644
index 0000000000..9a66564705
--- /dev/null
+++ b/libs/pbd/test/signals_test.h
@@ -0,0 +1,12 @@
+#include <cppunit/TestFixture.h>
+#include <cppunit/extensions/HelperMacros.h>
+
+class SignalsTest : public CppUnit::TestFixture
+{
+ CPPUNIT_TEST_SUITE (SignalsTest);
+ CPPUNIT_TEST (testDestruction);
+ CPPUNIT_TEST_SUITE_END ();
+
+public:
+ void testDestruction ();
+};