diff options
Diffstat (limited to 'tests/signals/signal_signature_test.py')
-rw-r--r-- | tests/signals/signal_signature_test.py | 41 |
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() + |