From 4c26fce0a8d14bf9c4982473bc62e4c5d25573c1 Mon Sep 17 00:00:00 2001 From: Hugo Parente Lima Date: Fri, 28 Jan 2011 16:23:55 -0200 Subject: Fix regression that caused overload sorting to not respect argument type renames. --- tests/libsample/overloadsort.h | 5 +++++ tests/samplebinding/overload_sorting_test.py | 4 ++++ tests/samplebinding/typesystem_sample.xml | 8 ++++++++ 3 files changed, 17 insertions(+) (limited to 'tests') diff --git a/tests/libsample/overloadsort.h b/tests/libsample/overloadsort.h index c95c35728..b3a95bc09 100644 --- a/tests/libsample/overloadsort.h +++ b/tests/libsample/overloadsort.h @@ -71,6 +71,11 @@ public: inline const char *overloadDeep(int x, ImplicitBase &y) { return "ImplicitBase"; } + + + inline const char* pyObjOverload(int, int) { return "int,int"; } + inline const char* pyObjOverload(unsigned char*, int) { return "PyObject,int"; } + }; #endif // OVERLOADSORT_H diff --git a/tests/samplebinding/overload_sorting_test.py b/tests/samplebinding/overload_sorting_test.py index 9d4b1cbeb..0cb86642a 100644 --- a/tests/samplebinding/overload_sorting_test.py +++ b/tests/samplebinding/overload_sorting_test.py @@ -60,6 +60,10 @@ class SimpleOverloadSorting(unittest.TestCase): '''Passing an implicit convertible object to an overload''' self.assert_(self.obj.implicit_overload(ImplicitTarget())) + def testPyObjectSort(self): + self.assertEqual(self.obj.pyObjOverload(1, 2), "int,int") + self.assertEqual(self.obj.pyObjOverload(object(), 2), "PyObject,int") + class DeepOverloadSorting(unittest.TestCase): diff --git a/tests/samplebinding/typesystem_sample.xml b/tests/samplebinding/typesystem_sample.xml index 2667c16d5..636916057 100644 --- a/tests/samplebinding/typesystem_sample.xml +++ b/tests/samplebinding/typesystem_sample.xml @@ -992,6 +992,14 @@ return PyString_FromString("PyObject"); + + + + + + unsigned char* %1 = 0; + + -- cgit v1.2.3