wingo - in flumotion/trunk/flumotion: common test

flumotion-commit at lists.fluendo.com flumotion-commit at lists.fluendo.com
Fri Jul 27 16:06:45 CEST 2007


Author: wingo
Date: Fri Jul 27 16:06:42 2007
New Revision: 5367

Modified:
   flumotion/trunk/flumotion/common/signals.py
   flumotion/trunk/flumotion/test/test_common_signals.py
Log:
2007-07-27  Andy Wingo  <wingo at pobox.com>

	* flumotion/common/signals.py (SignalMixin.emit): 
	* flumotion/test/test_common_signals.py
	(TestSignalMixin.testEmitSelf): Er, check to make sure that
	emitting also passes the self object.



Modified: flumotion/trunk/flumotion/common/signals.py
==============================================================================
--- flumotion/trunk/flumotion/common/signals.py	(original)
+++ flumotion/trunk/flumotion/common/signals.py	Fri Jul 27 16:06:42 2007
@@ -59,7 +59,7 @@
         for name, proc, pargs, pkwargs in connections.itervalues():
             if name == signalName:
                 try:
-                    proc(*(args + pargs), **pkwargs)
+                    proc(self, *(args + pargs), **pkwargs)
                 except Exception, e:
                     log.warning("signalmixin", "Exception calling "
                                 "signal handler %r: %s", proc,

Modified: flumotion/trunk/flumotion/test/test_common_signals.py
==============================================================================
--- flumotion/trunk/flumotion/test/test_common_signals.py	(original)
+++ flumotion/trunk/flumotion/test/test_common_signals.py	Fri Jul 27 16:06:42 2007
@@ -31,6 +31,18 @@
     __signals__ = ('foo', 'bar')
 
 class TestSignalMixin(unittest.TestCase):
+    def testEmitSelf(self):
+        o = TestObject()
+
+        emissions = []
+        def trackEmission(*args, **kwargs):
+            emissions.append((args[-1], args[:-1], kwargs))
+            
+        o.connect('foo', trackEmission, 'foo')
+        o.emit('foo')
+        
+        self.assertEquals(emissions, [('foo', (o,), {})])
+
     def testMixin(self):
         o = TestObject()
 
@@ -47,11 +59,11 @@
         o.connect('bar', trackEmission, 'bar', baz='qux')
 
         o.emit('foo')
-        self.assertEquals(emissions, [('foo', (), {})])
+        self.assertEquals(emissions, [('foo', (o,), {})])
         o.emit('foo', 1)
-        self.assertEquals(emissions, [('foo', (), {}),
-                                      ('foo', (1,), {})])
+        self.assertEquals(emissions, [('foo', (o,), {}),
+                                      ('foo', (o,1,), {})])
         o.emit('bar', 'xyzzy')
-        self.assertEquals(emissions, [('foo', (), {}),
-                                      ('foo', (1,), {}),
-                                      ('bar', ('xyzzy',), {'baz':'qux'})])
+        self.assertEquals(emissions, [('foo', (o,), {}),
+                                      ('foo', (o,1,), {}),
+                                      ('bar', (o,'xyzzy',), {'baz':'qux'})])


More information about the flumotion-commit mailing list