aboutsummaryrefslogtreecommitdiffstats
path: root/tests/signals/signal_manager_refcount_test.py
blob: 191ce9d63bbdbcbb47e8f8e304f646ba7e94f616 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
#!/usr/bin/python

from sys import getrefcount
import unittest
from PySide.QtCore import QObject, SIGNAL

class SignalManagerRefCount(unittest.TestCase):
    """Simple test case to check if the signal_manager is erroneously incrementing the object refcounter"""

    def testObjectRefcount(self):
        """Emission of QObject.destroyed() to a python slot"""
        def callback():
            pass
        obj = QObject()
        refcount = getrefcount(obj)
        QObject.connect(obj, SIGNAL('destroyed()'), callback)
        self.assertEqual(refcount, getrefcount(obj))
        QObject.disconnect(obj, SIGNAL('destroyed()'), callback)
        self.assertEqual(refcount, getrefcount(obj))

if __name__ == '__main__':
    unittest.main()