aboutsummaryrefslogtreecommitdiffstats
path: root/tests/QtCore/qproperty_decorator.py
blob: 404ce2400a6f39245d8a71359d982b603f7245e9 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
import weakref
import unittest

from PySide.QtCore import QObject, Property

class MyObject(QObject):
    def __init__(self):
        QObject.__init__(self)
        self._value = None

    @Property(int)
    def value(self):
        return self._value

    @value.setter
    def valueSet(self, value):
        self._value = value


class PropertyTest(unittest.TestCase):
    def destroyCB(self, obj):
        self._obDestroyed = True

    def testDecorator(self):
        self._obDestroyed = False
        o = MyObject()
        weak = weakref.ref(o, self.destroyCB)
        o.value = 10
        self.assertEqual(o._value, 10)
        self.assertEqual(o.value, 10)
        del o
        self.assertTrue(self._obDestroyed)

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