aboutsummaryrefslogtreecommitdiffstats
path: root/tests
diff options
context:
space:
mode:
authorPaulo Alcantara <paulo.alcantara@openbossa.org>2011-05-05 17:31:45 -0300
committerHugo Parente Lima <hugo.pl@gmail.com>2012-03-08 16:54:20 -0300
commit595133f9c858002a32c489ff6a045a076516e57b (patch)
treee703818c84c48dfdc889586f18d3143f6e87fc26 /tests
parent81d71072792d832b13d4ce7d7574afe8930b7269 (diff)
Create unit test for bug #835
Signed-off-by: Paulo Alcantara <paulo.alcantara@openbossa.org> Reviewer: Marcelo Lira <marcelo.lira@openbossa.org> Hugo Parente Lima <hugo.pl@gmail.com>
Diffstat (limited to 'tests')
-rw-r--r--tests/QtCore/CMakeLists.txt1
-rw-r--r--tests/QtCore/bug_835.py65
2 files changed, 66 insertions, 0 deletions
diff --git a/tests/QtCore/CMakeLists.txt b/tests/QtCore/CMakeLists.txt
index f8b46ce3d..775f3d767 100644
--- a/tests/QtCore/CMakeLists.txt
+++ b/tests/QtCore/CMakeLists.txt
@@ -13,6 +13,7 @@ PYSIDE_TEST(bug_724.py)
PYSIDE_TEST(bug_820.py)
PYSIDE_TEST(bug_826.py)
PYSIDE_TEST(bug_829.py)
+PYSIDE_TEST(bug_835.py)
PYSIDE_TEST(blocking_signals_test.py)
PYSIDE_TEST(child_event_test.py)
PYSIDE_TEST(deepcopy_test.py)
diff --git a/tests/QtCore/bug_835.py b/tests/QtCore/bug_835.py
new file mode 100644
index 000000000..42f613f5d
--- /dev/null
+++ b/tests/QtCore/bug_835.py
@@ -0,0 +1,65 @@
+from PySide.QtCore import *
+
+import unittest
+
+get_counter = 0
+set_counter = 0
+
+class Descriptor(object):
+ def __get__(self, obj, owner):
+ global get_counter
+
+ if not obj:
+ return self
+
+ get_counter += 1
+ return obj.var
+
+ def __set__(self, obj, value):
+ global set_counter
+
+ set_counter += 1
+ obj.var = value
+
+class FooBar(QObject):
+ test = Descriptor()
+ var = 0
+
+class SetAndGetTestCases(unittest.TestCase):
+ def setUp(self):
+ global get_counter
+ global set_counter
+
+ get_counter = 0
+ set_counter = 0
+
+ def testSetMethod(self):
+ global get_counter
+ global set_counter
+
+ f = FooBar()
+
+ f.test = 1
+ self.assertEqual(get_counter, 0)
+ self.assertEqual(set_counter, 1)
+
+ get_counter = 0
+ set_counter = 0
+
+ def testGetMethod(self):
+ global get_counter
+ global set_counter
+
+ f = FooBar()
+ f.test = 1
+ set_counter = 0
+
+ ret = f.test
+ self.assertEqual(get_counter, 1)
+ self.assertEqual(set_counter, 0)
+
+ get_counter = 0
+ set_counter = 0
+
+if __name__ == "__main__":
+ unittest.main()