aboutsummaryrefslogtreecommitdiffstats
path: root/tests
diff options
context:
space:
mode:
authorHugo Parente Lima <hugo.pl@gmail.com>2011-05-04 16:51:59 -0300
committerHugo Parente Lima <hugo.pl@gmail.com>2012-03-08 16:15:22 -0300
commit96a4cc767fa930d236262904abebc4cdff54eff0 (patch)
treefafccbf79ea8e66e03b1cea601a82df545c5b6ca /tests
parent4b5380126807dee8bc6a0a06c23f787446e2058c (diff)
Fix bug 813 - "Can not override connect method when subclassing QObject"
Reviewer: Marcelo Lira <marcelo.lira@openbossa.org> Renato Araújo <renato.filho@openbossa.org>
Diffstat (limited to 'tests')
-rw-r--r--tests/samplebinding/static_nonstatic_methods_test.py25
1 files changed, 25 insertions, 0 deletions
diff --git a/tests/samplebinding/static_nonstatic_methods_test.py b/tests/samplebinding/static_nonstatic_methods_test.py
index c1c7422ee..69ea41bdf 100644
--- a/tests/samplebinding/static_nonstatic_methods_test.py
+++ b/tests/samplebinding/static_nonstatic_methods_test.py
@@ -31,6 +31,16 @@ import unittest
from sample import SimpleFile
+class SimpleFile2 (SimpleFile):
+ def exists(self):
+ return "Mooo"
+
+class SimpleFile3 (SimpleFile):
+ pass
+
+class SimpleFile4 (SimpleFile):
+ exists = 5
+
class StaticNonStaticMethodsTest(unittest.TestCase):
'''Test cases for overloads involving static and non-static versions of a method.'''
@@ -74,6 +84,21 @@ class StaticNonStaticMethodsTest(unittest.TestCase):
f2 = SimpleFile(self.existing_filename)
self.assert_(f2.exists())
+ def testOverridingStaticNonStaticMethod(self):
+ f = SimpleFile2(self.existing_filename)
+ self.assertEqual(f.exists(), "Mooo")
+
+ f = SimpleFile3(self.existing_filename)
+ self.assertTrue(f.exists())
+
+ f = SimpleFile4(self.existing_filename)
+ self.assertEqual(f.exists, 5)
+
+ def testDuckPunchingStaticNonStaticMethod(self):
+ f = SimpleFile(self.existing_filename)
+ f.exists = lambda : "Meee"
+ self.assertEqual(f.exists(), "Meee")
+
if __name__ == '__main__':
unittest.main()