aboutsummaryrefslogtreecommitdiffstats
path: root/tests
diff options
context:
space:
mode:
authorHugo Lima <hugo.lima@openbossa.org>2009-10-30 18:29:19 -0200
committerHugo Lima <hugo.lima@openbossa.org>2009-10-30 19:48:22 -0200
commite0a5b65fd9213f77eabf95fcd25b591e3d7966c0 (patch)
tree86ab580e59ca8261dc313a4c45ce84495442193c /tests
parentfd82ee68418264b9b88f1c32411b8c6bbcc03c76 (diff)
Added convenience method AbstractMetaFunction::injectedCodeSnips.
It returns all code snips in a function.
Diffstat (limited to 'tests')
-rw-r--r--tests/testaddfunction.cpp25
1 files changed, 23 insertions, 2 deletions
diff --git a/tests/testaddfunction.cpp b/tests/testaddfunction.cpp
index d02fc67e1..456b9888c 100644
--- a/tests/testaddfunction.cpp
+++ b/tests/testaddfunction.cpp
@@ -112,7 +112,7 @@ void TestAddFunction::testAddFunctionTagDefaultValues()
<add-function signature='func()' />\
</value-type>\
</typesystem>";
- TestUtil t(cppCode, xmlCode, false);
+ TestUtil t(cppCode, xmlCode);
AbstractMetaClassList classes = t.builder()->classes();
AbstractMetaClass* classA = classes.findClass("A");
QVERIFY(classA);
@@ -136,7 +136,7 @@ void TestAddFunction::testAddFunctionCodeSnippets()
</value-type>\
</typesystem>";
- TestUtil t(cppCode, xmlCode, false);
+ TestUtil t(cppCode, xmlCode);
AbstractMetaClassList classes = t.builder()->classes();
AbstractMetaClass* classA = classes.findClass("A");
QVERIFY(classA);
@@ -148,9 +148,30 @@ void TestAddFunction::testFunctionWithoutParenteses()
{
const char sig1[] = "func";
AddedFunction f1(sig1, "void");
+
QCOMPARE(f1.name(), QString("func"));
QCOMPARE(f1.arguments().count(), 0);
QCOMPARE(f1.isConstant(), false);
+
+ const char cppCode[] = "struct A {};";
+ const char xmlCode[] = "\
+ <typesystem package=\"Foo\">\
+ <value-type name='A'>\
+ <add-function signature='func'>\
+ <inject-code class='target' position='end'>Hi!, I am the code.</inject-code>\
+ </add-function>\
+ </value-type>\
+ </typesystem>";
+
+ TestUtil t(cppCode, xmlCode, false);
+ AbstractMetaClassList classes = t.builder()->classes();
+ AbstractMetaClass* classA = classes.findClass("A");
+ QVERIFY(classA);
+ const AbstractMetaFunction* addedFunc = classA->findFunction("func");
+ QVERIFY(addedFunc);
+ QVERIFY(addedFunc->hasInjectedCode());
+ QCOMPARE(addedFunc->injectedCodeSnips(CodeSnip::Any, TypeSystem::TargetLangCode).count(), 1);
+
}
QTEST_APPLESS_MAIN(TestAddFunction)