From 714ddb6c74b4db4853ca2e34bb50f2888e75ec8d Mon Sep 17 00:00:00 2001 From: Marcelo Lira Date: Sat, 6 Aug 2011 17:28:00 -0300 Subject: The type checking now pays attention to the tag. An unit test was also added for it. --- tests/libsample/modifications.cpp | 6 ++++++ tests/libsample/modifications.h | 4 ++++ tests/samplebinding/modifications_test.py | 5 +++++ tests/samplebinding/typesystem_sample.xml | 5 +++++ 4 files changed, 20 insertions(+) (limited to 'tests') diff --git a/tests/libsample/modifications.cpp b/tests/libsample/modifications.cpp index 72c3f40ed..739ca5c74 100644 --- a/tests/libsample/modifications.cpp +++ b/tests/libsample/modifications.cpp @@ -103,3 +103,9 @@ Modifications::getSize(const void* data, int size) (void)data; return size; } + +int +Modifications::sumPointCoordinates(const Point* point) +{ + return point->x() + point->y(); +} diff --git a/tests/libsample/modifications.h b/tests/libsample/modifications.h index 1b6fb8240..c7a7748c6 100644 --- a/tests/libsample/modifications.h +++ b/tests/libsample/modifications.h @@ -98,6 +98,10 @@ public: // Replace 'const void*' by 'ByteArray&'. int getSize(const void* data, int size); + + // Mark the argument with a tag; + // the test implementation must expect point never to be null. + int sumPointCoordinates(const Point* point); }; class LIBSAMPLE_API AbstractModifications : public Modifications diff --git a/tests/samplebinding/modifications_test.py b/tests/samplebinding/modifications_test.py index b37d74635..344801015 100644 --- a/tests/samplebinding/modifications_test.py +++ b/tests/samplebinding/modifications_test.py @@ -143,5 +143,10 @@ class ModificationsTest(unittest.TestCase): self.assertEqual(self.mods.getSize(ba), len(ba)) self.assertEqual(self.mods.getSize(ba, 20), 20) + def testNoNulPointerTag(self): + point = Point(12, 34) + self.assertEqual(self.mods.sumPointCoordinates(point), 12 + 34) + self.assertRaises(TypeError, self.mods.sumPointCoordinates, None) + if __name__ == '__main__': unittest.main() diff --git a/tests/samplebinding/typesystem_sample.xml b/tests/samplebinding/typesystem_sample.xml index add18c289..3e910ccc6 100644 --- a/tests/samplebinding/typesystem_sample.xml +++ b/tests/samplebinding/typesystem_sample.xml @@ -714,6 +714,11 @@ %PYARG_0 = %CONVERTTOPYTHON[%RETURN_TYPE](%0); + + + + + -- cgit v1.2.3