Fix bug 651 - "Calling disconnect() with no arguments causes segfault"

This commit is contained in:
Hugo Parente Lima 2011-02-01 19:15:23 -02:00
commit 3270dde028
3 changed files with 41 additions and 5 deletions

View file

@ -3,6 +3,7 @@ PYSIDE_TEST(bug_311.py)
PYSIDE_TEST(bug_312.py)
PYSIDE_TEST(bug_319.py)
PYSIDE_TEST(decorators_test.py)
PYSIDE_TEST(disconnect_test.py)
PYSIDE_TEST(invalid_callback_test.py)
PYSIDE_TEST(lambda_gui_test.py)
PYSIDE_TEST(lambda_test.py)

View file

@ -0,0 +1,32 @@
import unittest
from PySide.QtCore import *
class Foo(QObject):
bar = Signal()
class TestDisconnect(unittest.TestCase):
def theSlot1(self):
self.called1 = True
def theSlot2(self):
self.called2 = True
def testIt(self):
self.called1 = False
self.called2 = False
f = Foo()
f.bar.connect(self.theSlot1)
f.bar.connect(self.theSlot2)
f.bar.emit()
self.assertTrue(self.called1)
self.assertTrue(self.called2)
self.called1 = False
self.called2 = False
f.bar.disconnect()
f.bar.emit()
self.assertFalse(self.called1)
self.assertFalse(self.called2)
if __name__ == '__main__':
unittest.main()