aboutsummaryrefslogtreecommitdiffstats
path: root/tests
diff options
context:
space:
mode:
authorLauro Neto <lauro.neto@openbossa.org>2010-02-05 18:02:51 -0300
committerHugo Lima <hugo.lima@openbossa.org>2010-02-08 16:16:07 -0200
commitcfd1c97717e8bdf05a0fa9aada851c7bcd4385b2 (patch)
treebe46afc878c4df2bee457c7f1de8cc9dbf5d6a13 /tests
parent7d4f470fd6babc417222133bec8e8b9b13737ce2 (diff)
Fixing sort overload
Now sorting OverloadData recursively Reviewer: Renato Filho <renato.filho@openbossa.org>
Diffstat (limited to 'tests')
-rw-r--r--tests/libsample/overloadsort.h4
-rwxr-xr-xtests/samplebinding/overload_sorting_test.py15
-rw-r--r--tests/samplebinding/typesystem_sample.xml6
3 files changed, 25 insertions, 0 deletions
diff --git a/tests/libsample/overloadsort.h b/tests/libsample/overloadsort.h
index a921009bd..3deeaf454 100644
--- a/tests/libsample/overloadsort.h
+++ b/tests/libsample/overloadsort.h
@@ -79,6 +79,10 @@ public:
int implicit_overload(const ImplicitBase &x) {
return 1;
}
+
+ const char *overloadDeep(int x, ImplicitBase &y) {
+ return "ImplicitBase";
+ }
};
#endif // OVERLOADSORT_H
diff --git a/tests/samplebinding/overload_sorting_test.py b/tests/samplebinding/overload_sorting_test.py
index 8d1e2e9b6..03e018aa2 100755
--- a/tests/samplebinding/overload_sorting_test.py
+++ b/tests/samplebinding/overload_sorting_test.py
@@ -61,5 +61,20 @@ class SimpleOverloadSorting(unittest.TestCase):
'''Passing an implicit convertible object to an overload'''
self.assert_(self.obj.implicit_overload(ImplicitTarget()))
+
+class DeepOverloadSorting(unittest.TestCase):
+
+ def setUp(self):
+ self.obj = SortedOverload()
+
+ def testPyObject(self):
+ '''Deep Overload - (int, PyObject *)'''
+ self.assertEqual(self.obj.overloadDeep(1, Dummy()), "PyObject")
+
+ def testImplicit(self):
+ '''Deep Overload - (int, ImplicitBase *)'''
+ self.assertEqual(self.obj.overloadDeep(1, ImplicitBase()), "ImplicitBase")
+
+
if __name__ == '__main__':
unittest.main()
diff --git a/tests/samplebinding/typesystem_sample.xml b/tests/samplebinding/typesystem_sample.xml
index 75a8e47fe..1531d6b08 100644
--- a/tests/samplebinding/typesystem_sample.xml
+++ b/tests/samplebinding/typesystem_sample.xml
@@ -684,6 +684,12 @@
return PyString_FromString("PyObject");
</inject-code>
</add-function>
+
+ <add-function signature="overloadDeep(int, PyObject *)" return-type="const char *">
+ <inject-code class="target" position="beginning">
+ return PyString_FromString("PyObject");
+ </inject-code>
+ </add-function>
</value-type>
<value-type name="ImplicitTarget"/>