diff options
Diffstat (limited to 'tests/samplebinding/virtualmethods_test.py')
-rw-r--r-- | tests/samplebinding/virtualmethods_test.py | 11 |
1 files changed, 10 insertions, 1 deletions
diff --git a/tests/samplebinding/virtualmethods_test.py b/tests/samplebinding/virtualmethods_test.py index 73490eb84..f2895af64 100644 --- a/tests/samplebinding/virtualmethods_test.py +++ b/tests/samplebinding/virtualmethods_test.py @@ -44,9 +44,13 @@ class ExtendedVirtualMethods(VirtualMethods): return VirtualMethods.virtualMethod0(self, pt, val, cpx, b) * -1.0 def strListToStdList(self, arg): - # returnning wrong type for test purporses. + # returning wrong type for test purposes. return True + def recursionOnModifiedVirtual(self, arg): + # check if recursion is caused by injected code that calls C++. + return VirtualMethods.recursionOnModifiedVirtual(self, arg) + 10 + class ExtendedVirtualDaughter(VirtualDaughter): def __init__(self, name): VirtualDaughter.__init__(self, name) @@ -86,6 +90,11 @@ class VirtualMethodsTest(unittest.TestCase): result1 = evm.callVirtualMethod0(pt, val, cpx, b) self.assertEqual(result0 * -1.0, result1) + def testRecursionOnModifiedVirtual(self): + evm = ExtendedVirtualMethods() + self.assertEqual(evm.recursionOnModifiedVirtual(''), 10) + self.assertEqual(evm.callRecursionOnModifiedVirtual(''), 10) + def testReimplementedVirtualMethodInheritedFromGrandParent(self): '''Test Python override of a virtual method inherited from a grand parent.''' original_name = 'Foo' |