aboutsummaryrefslogtreecommitdiffstats
path: root/tests/signals/signal_signature_test.py
diff options
context:
space:
mode:
Diffstat (limited to 'tests/signals/signal_signature_test.py')
-rw-r--r--tests/signals/signal_signature_test.py41
1 files changed, 41 insertions, 0 deletions
diff --git a/tests/signals/signal_signature_test.py b/tests/signals/signal_signature_test.py
new file mode 100644
index 000000000..785ebb806
--- /dev/null
+++ b/tests/signals/signal_signature_test.py
@@ -0,0 +1,41 @@
+# -*- coding: utf-8 -*-
+
+'''Test case for signal signature received by QObject::connectNotify().'''
+
+import unittest
+from PySide.QtCore import *
+from helper import UsesQCoreApplication
+
+class Obj(QObject):
+ def __init__(self):
+ QObject.__init__(self)
+ self.signal = ''
+
+ def connectNotify(self, signal):
+ self.signal = signal
+
+def callback():
+ pass
+
+class TestConnectNotifyWithNewStyleSignals(UsesQCoreApplication):
+ '''Test case for signal signature received by QObject::connectNotify().'''
+
+ def testOldStyle(self):
+ sender = Obj()
+ receiver = QObject()
+ sender.connect(SIGNAL('destroyed()'), receiver, SLOT('deleteLater()'))
+ self.assertEqual(sender.signal, SIGNAL('destroyed()'))
+
+ def testOldStyleWithPythonCallback(self):
+ sender = Obj()
+ sender.connect(SIGNAL('destroyed()'), callback)
+ self.assertEqual(sender.signal, SIGNAL('destroyed()'))
+
+ def testNewStyle(self):
+ sender = Obj()
+ sender.destroyed.connect(callback)
+ self.assertEqual(sender.signal, SIGNAL('destroyed(QObject*)'))
+
+if __name__ == '__main__':
+ unittest.main()
+