diff options
author | Paulo Alcantara <paulo.alcantara@openbossa.org> | 2011-05-05 17:31:45 -0300 |
---|---|---|
committer | Hugo Parente Lima <hugo.pl@gmail.com> | 2012-03-08 16:54:20 -0300 |
commit | 595133f9c858002a32c489ff6a045a076516e57b (patch) | |
tree | e703818c84c48dfdc889586f18d3143f6e87fc26 /tests | |
parent | 81d71072792d832b13d4ce7d7574afe8930b7269 (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.txt | 1 | ||||
-rw-r--r-- | tests/QtCore/bug_835.py | 65 |
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() |