aboutsummaryrefslogtreecommitdiffstats
path: root/tests/libsample
diff options
context:
space:
mode:
authorMarcelo Lira <marcelo.lira@openbossa.org>2011-08-10 00:59:19 -0300
committerHugo Parente Lima <hugo.pl@gmail.com>2012-03-08 16:17:10 -0300
commit9c6b541ceef3039e9e19a1d9a12223851a849cf6 (patch)
treef3bf84cc9b86205fa2f7d7d5951b1e2dff29fcdd /tests/libsample
parent711ee3d4169acca59b87df61b9ccb26d74a329b4 (diff)
Improved the generation of argument conversion in modified functions.
Added the SBK_UNUSED macro to libshiboken to prevent compilation warnings. An unit test was added. Reviewed by Hugo Parente <hugo.lima@openbossa.org> Reviewed by Luciano Wolf <luciano.wolf@openbossa.org>
Diffstat (limited to 'tests/libsample')
-rw-r--r--tests/libsample/modifications.cpp20
-rw-r--r--tests/libsample/modifications.h14
2 files changed, 31 insertions, 3 deletions
diff --git a/tests/libsample/modifications.cpp b/tests/libsample/modifications.cpp
index 739ca5c74..d809e823e 100644
--- a/tests/libsample/modifications.cpp
+++ b/tests/libsample/modifications.cpp
@@ -22,9 +22,21 @@
#include <iostream>
#include "modifications.h"
+#include "objecttype.h"
using namespace std;
+Modifications::Modifications()
+{
+ m_object = new ObjectType();
+ m_object->setObjectName("MyObject");
+}
+
+Modifications::~Modifications()
+{
+ delete m_object;
+}
+
std::pair<double, double>
Modifications::pointToPair(Point pt, bool* ok)
{
@@ -109,3 +121,11 @@ Modifications::sumPointCoordinates(const Point* point)
{
return point->x() + point->y();
}
+
+bool
+Modifications::nonConversionRuleForArgumentWithDefaultValue(ObjectType** object)
+{
+ if (object)
+ *object = m_object;
+ return true;
+}
diff --git a/tests/libsample/modifications.h b/tests/libsample/modifications.h
index c7a7748c6..2acffa406 100644
--- a/tests/libsample/modifications.h
+++ b/tests/libsample/modifications.h
@@ -27,11 +27,13 @@
#include <utility>
#include "point.h"
+class ObjectType;
+
class LIBSAMPLE_API Modifications
{
public:
- Modifications() {}
- virtual ~Modifications() {}
+ Modifications();
+ virtual ~Modifications();
enum OverloadedModFunc {
OverloadedNone,
@@ -102,6 +104,13 @@ public:
// Mark the argument with a <no-null-pointer/> tag;
// the test implementation must expect point never to be null.
int sumPointCoordinates(const Point* point);
+
+ // Sets an ObjectType in the argument and returns true.
+ bool nonConversionRuleForArgumentWithDefaultValue(ObjectType** object = 0);
+ ObjectType* getObject() const { return m_object; }
+
+private:
+ ObjectType* m_object;
};
class LIBSAMPLE_API AbstractModifications : public Modifications
@@ -117,4 +126,3 @@ public:
};
#endif // MODIFICATIONS_H
-