diff options
author | Renato Filho <renato.filho@openbossa.org> | 2010-06-09 10:45:17 -0300 |
---|---|---|
committer | Hugo Parente Lima <hugo.pl@gmail.com> | 2012-03-09 19:10:04 -0300 |
commit | 96316113bcd6e60bc602def066cb03ec5ece436b (patch) | |
tree | d446ccb07f2f46c1e8344485a525c49b2293e357 /tests/testmodifyfunction.cpp | |
parent | 2cf5be8e2354e81298ab0df8c328949845143604 (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/testmodifyfunction.cpp')
-rw-r--r-- | tests/testmodifyfunction.cpp | 32 |
1 files changed, 32 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 ="\ |