aboutsummaryrefslogtreecommitdiffstats
path: root/tests
diff options
context:
space:
mode:
authorRenato Filho <renato.filho@openbossa.org>2010-06-09 10:45:17 -0300
committerHugo Parente Lima <hugo.pl@gmail.com>2012-03-09 19:10:04 -0300
commit96316113bcd6e60bc602def066cb03ec5ece436b (patch)
treed446ccb07f2f46c1e8344485a525c49b2293e357 /tests
parent2cf5be8e2354e81298ab0df8c328949845143604 (diff)
Implemented support to "rename to" in argument modification
Reviewer: Luciano Wolf <luciano.wolf@openbossa.org>, Marcelo Lira <marcelo.lira@openbossa.org>
Diffstat (limited to 'tests')
-rw-r--r--tests/testmodifyfunction.cpp32
-rw-r--r--tests/testmodifyfunction.h1
2 files changed, 33 insertions, 0 deletions
diff --git a/tests/testmodifyfunction.cpp b/tests/testmodifyfunction.cpp
index d45815e6c..7fa8833f1 100644
--- a/tests/testmodifyfunction.cpp
+++ b/tests/testmodifyfunction.cpp
@@ -25,6 +25,38 @@
#include <QtTest/QTest>
#include "testutil.h"
+void TestModifyFunction::testRenameArgument()
+{
+ const char* cppCode ="\
+ struct A {\
+ void method(int myarg);\
+ };\
+ ";
+ const char* xmlCode = "\
+ <typesystem package='Foo'> \
+ <primitive-type name='int'/>\
+ <object-type name='A'> \
+ <modify-function signature='method(int)'>\
+ <modify-argument index='1'>\
+ <rename to='otherArg' />\
+ </modify-argument>\
+ </modify-function>\
+ </object-type>\
+ </typesystem>";
+ TestUtil t(cppCode, xmlCode, false);
+ AbstractMetaClassList classes = t.builder()->classes();
+ AbstractMetaClass* classA = classes.findClass("A");
+ const AbstractMetaFunction* func = classA->findFunction("method");
+ Q_ASSERT(func);
+
+ FunctionModificationList modList = func->modifications(classA);
+ QVERIFY(modList.size() == 1);
+ FunctionModification mod = modList.at(0);
+ QVERIFY(mod.argument_mods.size() == 1);
+
+ QCOMPARE(mod.argument_mods.at(0).renamed_to, QString("otherArg"));
+}
+
void TestModifyFunction::testOwnershipTransfer()
{
const char* cppCode ="\
diff --git a/tests/testmodifyfunction.h b/tests/testmodifyfunction.h
index f92180c02..40adf127f 100644
--- a/tests/testmodifyfunction.h
+++ b/tests/testmodifyfunction.h
@@ -32,6 +32,7 @@ class TestModifyFunction : public QObject
private slots:
void testOwnershipTransfer();
void testWithApiVersion();
+ void testRenameArgument();
};
#endif