aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--ApiExtractor/tests/testabstractmetaclass.cpp65
-rw-r--r--ApiExtractor/tests/testabstractmetatype.cpp43
-rw-r--r--ApiExtractor/tests/testaddfunction.cpp76
-rw-r--r--ApiExtractor/tests/testarrayargument.cpp17
-rw-r--r--ApiExtractor/tests/testcodeinjection.cpp16
-rw-r--r--ApiExtractor/tests/testcontainer.cpp10
-rw-r--r--ApiExtractor/tests/testconversionoperator.cpp25
-rw-r--r--ApiExtractor/tests/testconversionruletag.cpp16
-rw-r--r--ApiExtractor/tests/testctorinformation.cpp10
-rw-r--r--ApiExtractor/tests/testdroptypeentries.cpp25
-rw-r--r--ApiExtractor/tests/testdtorinformation.cpp20
-rw-r--r--ApiExtractor/tests/testenum.cpp46
-rw-r--r--ApiExtractor/tests/testextrainclude.cpp10
-rw-r--r--ApiExtractor/tests/testfunctiontag.cpp17
-rw-r--r--ApiExtractor/tests/testimplicitconversions.cpp20
-rw-r--r--ApiExtractor/tests/testinserttemplate.cpp20
-rw-r--r--ApiExtractor/tests/testmodifydocumentation.cpp6
-rw-r--r--ApiExtractor/tests/testmodifyfunction.cpp27
-rw-r--r--ApiExtractor/tests/testmultipleinheritance.cpp5
-rw-r--r--ApiExtractor/tests/testnamespace.cpp10
-rw-r--r--ApiExtractor/tests/testnestedtypes.cpp10
-rw-r--r--ApiExtractor/tests/testnumericaltypedef.cpp18
-rw-r--r--ApiExtractor/tests/testprimitivetypetag.cpp5
-rw-r--r--ApiExtractor/tests/testrefcounttag.cpp10
-rw-r--r--ApiExtractor/tests/testreferencetopointer.cpp5
-rw-r--r--ApiExtractor/tests/testremovefield.cpp5
-rw-r--r--ApiExtractor/tests/testremoveimplconv.cpp5
-rw-r--r--ApiExtractor/tests/testremoveoperatormethod.cpp5
-rw-r--r--ApiExtractor/tests/testresolvetype.cpp5
-rw-r--r--ApiExtractor/tests/testreverseoperators.cpp10
-rw-r--r--ApiExtractor/tests/testtemplates.cpp57
-rw-r--r--ApiExtractor/tests/testtyperevision.cpp5
-rw-r--r--ApiExtractor/tests/testutil.h37
-rw-r--r--ApiExtractor/tests/testvaluetypedefaultctortag.cpp6
-rw-r--r--ApiExtractor/tests/testvoidarg.cpp15
35 files changed, 395 insertions, 287 deletions
diff --git a/ApiExtractor/tests/testabstractmetaclass.cpp b/ApiExtractor/tests/testabstractmetaclass.cpp
index f9c7cfed5..7fc5c1f0f 100644
--- a/ApiExtractor/tests/testabstractmetaclass.cpp
+++ b/ApiExtractor/tests/testabstractmetaclass.cpp
@@ -37,8 +37,9 @@ void TestAbstractMetaClass::testClassName()
{
const char* cppCode ="class ClassName {};";
const char* xmlCode = "<typesystem package=\"Foo\"><value-type name=\"ClassName\"/></typesystem>";
- TestUtil t(cppCode, xmlCode);
- AbstractMetaClassList classes = t.builder()->classes();
+ QScopedPointer<AbstractMetaBuilder> builder(TestUtil::parse(cppCode, xmlCode));
+ QVERIFY(!builder.isNull());
+ AbstractMetaClassList classes = builder->classes();
QCOMPARE(classes.count(), 1);
QCOMPARE(classes[0]->name(), QLatin1String("ClassName"));
}
@@ -51,8 +52,9 @@ void TestAbstractMetaClass::testClassNameUnderNamespace()
<namespace-type name=\"Namespace\"/>\n\
<value-type name=\"Namespace::ClassName\"/>\n\
</typesystem>\n";
- TestUtil t(cppCode, xmlCode);
- AbstractMetaClassList classes = t.builder()->classes();
+ QScopedPointer<AbstractMetaBuilder> builder(TestUtil::parse(cppCode, xmlCode));
+ QVERIFY(!builder.isNull());
+ AbstractMetaClassList classes = builder->classes();
QCOMPARE(classes.count(), 2); // 1 namespace + 1 class
if (classes.first()->name() != QLatin1String("ClassName"))
classes.swap(0, 1);
@@ -103,8 +105,9 @@ void TestAbstractMetaClass::testVirtualMethods()
<object-type name='B'/>\n\
<object-type name='C'/>\n\
</typesystem>\n";
- TestUtil t(cppCode, xmlCode);
- AbstractMetaClassList classes = t.builder()->classes();
+ QScopedPointer<AbstractMetaBuilder> builder(TestUtil::parse(cppCode, xmlCode));
+ QVERIFY(!builder.isNull());
+ AbstractMetaClassList classes = builder->classes();
QCOMPARE(classes.count(), 3);
AbstractMetaClass* a = classes.findClass(QLatin1String("A"));
AbstractMetaClass* b = classes.findClass(QLatin1String("B"));
@@ -170,8 +173,9 @@ void TestAbstractMetaClass::testDefaultValues()
<value-type name='A'/>\n\
<value-type name='A::B'/>\n\
</typesystem>\n";
- TestUtil t(cppCode, xmlCode);
- AbstractMetaClassList classes = t.builder()->classes();
+ QScopedPointer<AbstractMetaBuilder> builder(TestUtil::parse(cppCode, xmlCode));
+ QVERIFY(!builder.isNull());
+ AbstractMetaClassList classes = builder->classes();
QCOMPARE(classes.count(), 2);
AbstractMetaClass* classA = classes.findClass(QLatin1String("A"));
QCOMPARE(classA->queryFunctionsByName(QLatin1String("method")).count(), 1);
@@ -198,8 +202,9 @@ void TestAbstractMetaClass::testModifiedDefaultValues()
</value-type>\n\
<value-type name='A::B'/>\n\
</typesystem>\n";
- TestUtil t(cppCode, xmlCode);
- AbstractMetaClassList classes = t.builder()->classes();
+ QScopedPointer<AbstractMetaBuilder> builder(TestUtil::parse(cppCode, xmlCode));
+ QVERIFY(!builder.isNull());
+ AbstractMetaClassList classes = builder->classes();
QCOMPARE(classes.count(), 2);
AbstractMetaClass* classA = classes.findClass(QLatin1String("A"));
QCOMPARE(classA->queryFunctionsByName(QLatin1String("method")).count(), 1);
@@ -221,8 +226,9 @@ void TestAbstractMetaClass::testInnerClassOfAPolymorphicOne()
<object-type name='A'/>\n\
<value-type name='A::B'/>\n\
</typesystem>\n";
- TestUtil t(cppCode, xmlCode);
- AbstractMetaClassList classes = t.builder()->classes();
+ QScopedPointer<AbstractMetaBuilder> builder(TestUtil::parse(cppCode, xmlCode));
+ QVERIFY(!builder.isNull());
+ AbstractMetaClassList classes = builder->classes();
QCOMPARE(classes.count(), 2);
AbstractMetaClass* classA = classes.findClass(QLatin1String("A"));
QVERIFY(classA);
@@ -247,8 +253,9 @@ void TestAbstractMetaClass::testForwardDeclaredInnerClass()
<value-type name='A'/>\n\
<value-type name='A::B'/>\n\
</typesystem>\n";
- TestUtil t(cppCode, xmlCode);
- AbstractMetaClassList classes = t.builder()->classes();
+ QScopedPointer<AbstractMetaBuilder> builder(TestUtil::parse(cppCode, xmlCode));
+ QVERIFY(!builder.isNull());
+ AbstractMetaClassList classes = builder->classes();
QCOMPARE(classes.count(), 2);
const AbstractMetaClass *classA = classes.findClass(QLatin1String("A"));
QVERIFY(classA);
@@ -277,8 +284,9 @@ void TestAbstractMetaClass::testSpecialFunctions()
<object-type name='B'/>\n\
</typesystem>\n";
- TestUtil t(cppCode, xmlCode);
- AbstractMetaClassList classes = t.builder()->classes();
+ QScopedPointer<AbstractMetaBuilder> builder(TestUtil::parse(cppCode, xmlCode));
+ QVERIFY(!builder.isNull());
+ AbstractMetaClassList classes = builder->classes();
QCOMPARE(classes.count(), 2);
const AbstractMetaClass *classA = classes.findClass(QLatin1String("A"));
@@ -341,8 +349,9 @@ void TestAbstractMetaClass::testClassDefaultConstructors()
<value-type name='F'/>\n\
</typesystem>\n";
- TestUtil t(cppCode, xmlCode);
- AbstractMetaClassList classes = t.builder()->classes();
+ QScopedPointer<AbstractMetaBuilder> builder(TestUtil::parse(cppCode, xmlCode));
+ QVERIFY(!builder.isNull());
+ AbstractMetaClassList classes = builder->classes();
QCOMPARE(classes.count(), 6);
AbstractMetaClass* classA = classes.findClass(QLatin1String("A"));
@@ -409,8 +418,9 @@ void TestAbstractMetaClass::testClassInheritedDefaultConstructors()
<object-type name='B'/>\n\
</typesystem>\n";
- TestUtil t(cppCode, xmlCode);
- AbstractMetaClassList classes = t.builder()->classes();
+ QScopedPointer<AbstractMetaBuilder> builder(TestUtil::parse(cppCode, xmlCode));
+ QVERIFY(!builder.isNull());
+ AbstractMetaClassList classes = builder->classes();
QCOMPARE(classes.count(), 2);
AbstractMetaClass* classA = classes.findClass(QLatin1String("A"));
QVERIFY(classA);
@@ -446,8 +456,9 @@ void TestAbstractMetaClass::testAbstractClassDefaultConstructors()
<object-type name='A'/>\n\
</typesystem>\n";
- TestUtil t(cppCode, xmlCode);
- AbstractMetaClassList classes = t.builder()->classes();
+ QScopedPointer<AbstractMetaBuilder> builder(TestUtil::parse(cppCode, xmlCode));
+ QVERIFY(!builder.isNull());
+ AbstractMetaClassList classes = builder->classes();
QCOMPARE(classes.count(), 1);
AbstractMetaClass* classA = classes.findClass(QLatin1String("A"));
QVERIFY(classA);
@@ -466,8 +477,9 @@ void TestAbstractMetaClass::testObjectTypesMustNotHaveCopyConstructors()
<object-type name='A'/>\n\
</typesystem>\n";
- TestUtil t(cppCode, xmlCode);
- AbstractMetaClassList classes = t.builder()->classes();
+ QScopedPointer<AbstractMetaBuilder> builder(TestUtil::parse(cppCode, xmlCode));
+ QVERIFY(!builder.isNull());
+ AbstractMetaClassList classes = builder->classes();
QCOMPARE(classes.count(), 1);
AbstractMetaClass* classA = classes.findClass(QLatin1String("A"));
QVERIFY(classA);
@@ -501,8 +513,9 @@ void TestAbstractMetaClass::testIsPolymorphic()
<value-type name='B'/>\n\
</typesystem>\n";
- TestUtil t(cppCode, xmlCode);
- AbstractMetaClassList classes = t.builder()->classes();
+ QScopedPointer<AbstractMetaBuilder> builder(TestUtil::parse(cppCode, xmlCode));
+ QVERIFY(!builder.isNull());
+ AbstractMetaClassList classes = builder->classes();
QCOMPARE(classes.count(), 2);
AbstractMetaClass* b = classes.findClass(QLatin1String("A"));
diff --git a/ApiExtractor/tests/testabstractmetatype.cpp b/ApiExtractor/tests/testabstractmetatype.cpp
index dfe13e037..735ccc2a1 100644
--- a/ApiExtractor/tests/testabstractmetatype.cpp
+++ b/ApiExtractor/tests/testabstractmetatype.cpp
@@ -39,9 +39,10 @@ void TestAbstractMetaType::testConstCharPtrType()
<primitive-type name='char'/>\n\
<function signature='justAtest()' />\n\
</typesystem>\n";
- TestUtil t(cppCode, xmlCode);
- QCOMPARE(t.builder()->globalFunctions().size(), 1);
- AbstractMetaFunction* func = t.builder()->globalFunctions().first();
+ QScopedPointer<AbstractMetaBuilder> builder(TestUtil::parse(cppCode, xmlCode));
+ QVERIFY(!builder.isNull());
+ QCOMPARE(builder->globalFunctions().size(), 1);
+ AbstractMetaFunction* func = builder->globalFunctions().first();
AbstractMetaType* rtype = func->type();
// Test properties of const char*
QVERIFY(rtype);
@@ -71,13 +72,14 @@ void TestAbstractMetaType::testApiVersionSupported()
<function signature='justAtest2()' since='1.1'/>\n\
<function signature='justAtest3()'/>\n\
</typesystem>\n";
- TestUtil t(cppCode, xmlCode, false, "1.0");
+ QScopedPointer<AbstractMetaBuilder> builder(TestUtil::parse(cppCode, xmlCode, false, "1.0"));
+ QVERIFY(!builder.isNull());
- AbstractMetaClassList classes = t.builder()->classes();
+ AbstractMetaClassList classes = builder->classes();
QCOMPARE(classes.size(), 2);
- AbstractMetaFunctionList functions = t.builder()->globalFunctions();
+ AbstractMetaFunctionList functions = builder->globalFunctions();
QCOMPARE(functions.size(), 2);
}
@@ -88,9 +90,10 @@ void TestAbstractMetaType::testApiVersionNotSupported()
const char* xmlCode = "<typesystem package='Foo'>\n\
<value-type name='object' since='0.1'/>\n\
</typesystem>\n";
- TestUtil t(cppCode, xmlCode, true, "0.1");
+ QScopedPointer<AbstractMetaBuilder> builder(TestUtil::parse(cppCode, xmlCode, true, "0.1"));
+ QVERIFY(!builder.isNull());
- AbstractMetaClassList classes = t.builder()->classes();
+ AbstractMetaClassList classes = builder->classes();
QCOMPARE(classes.size(), 1);
}
@@ -102,13 +105,14 @@ void TestAbstractMetaType::testCharType()
<value-type name='A'/>\n\
<function signature='justAtest()'/>\n\
</typesystem>\n";
- TestUtil t(cppCode, xmlCode);
+ QScopedPointer<AbstractMetaBuilder> builder(TestUtil::parse(cppCode, xmlCode));
+ QVERIFY(!builder.isNull());
- AbstractMetaClassList classes = t.builder()->classes();
+ AbstractMetaClassList classes = builder->classes();
QCOMPARE(classes.size(), 1);
QCOMPARE(classes.first()->package(), QLatin1String("Foo"));
- AbstractMetaFunctionList functions = t.builder()->globalFunctions();
+ AbstractMetaFunctionList functions = builder->globalFunctions();
QCOMPARE(functions.size(), 1);
AbstractMetaFunction* func = functions.first();
AbstractMetaType* rtype = func->type();
@@ -139,9 +143,10 @@ void TestAbstractMetaType::testTypedef()
const char* xmlCode = "<typesystem package=\"Foo\">\n\
<value-type name='C' />\n\
</typesystem>\n";
- TestUtil t(cppCode, xmlCode);
+ QScopedPointer<AbstractMetaBuilder> builder(TestUtil::parse(cppCode, xmlCode));
+ QVERIFY(!builder.isNull());
- AbstractMetaClassList classes = t.builder()->classes();
+ AbstractMetaClassList classes = builder->classes();
QCOMPARE(classes.size(), 1);
AbstractMetaClass* c = classes.findClass(QLatin1String("C"));
QVERIFY(c);
@@ -163,11 +168,12 @@ void TestAbstractMetaType::testTypedefWithTemplates()
<value-type name='B' />\n\
<function signature='func(A&lt;B&gt;)'/>\n\
</typesystem>\n";
- TestUtil t(cppCode, xmlCode);
+ QScopedPointer<AbstractMetaBuilder> builder(TestUtil::parse(cppCode, xmlCode));
+ QVERIFY(!builder.isNull());
- AbstractMetaClassList classes = t.builder()->classes();
+ AbstractMetaClassList classes = builder->classes();
QCOMPARE(classes.size(), 1);
- AbstractMetaFunctionList functions = t.builder()->globalFunctions();
+ AbstractMetaFunctionList functions = builder->globalFunctions();
QCOMPARE(functions.count(), 1);
AbstractMetaFunction* function = functions.first();
AbstractMetaArgumentList args = function->arguments();
@@ -187,9 +193,10 @@ void TestAbstractMetaType::testObjectTypeUsedAsValue()
const char* xmlCode = "<typesystem package='Foo'>\n\
<object-type name='A'/>\n\
</typesystem>\n";
- TestUtil t(cppCode, xmlCode);
+ QScopedPointer<AbstractMetaBuilder> builder(TestUtil::parse(cppCode, xmlCode));
+ QVERIFY(!builder.isNull());
- AbstractMetaClassList classes = t.builder()->classes();
+ AbstractMetaClassList classes = builder->classes();
QCOMPARE(classes.size(), 1);
AbstractMetaClass* classA = classes.findClass(QLatin1String("A"));
QVERIFY(classA);
diff --git a/ApiExtractor/tests/testaddfunction.cpp b/ApiExtractor/tests/testaddfunction.cpp
index 6130658da..66ae05502 100644
--- a/ApiExtractor/tests/testaddfunction.cpp
+++ b/ApiExtractor/tests/testaddfunction.cpp
@@ -82,9 +82,10 @@ void TestAddFunction::testAddFunction()
</add-function>\n\
</value-type>\n\
</typesystem>\n";
- TestUtil t(cppCode, xmlCode);
+ QScopedPointer<AbstractMetaBuilder> builder(TestUtil::parse(cppCode, xmlCode));
+ QVERIFY(!builder.isNull());
TypeDatabase* typeDb = TypeDatabase::instance();
- AbstractMetaClassList classes = t.builder()->classes();
+ AbstractMetaClassList classes = builder->classes();
AbstractMetaClass* classA = classes.findClass(QLatin1String("A"));
QVERIFY(classA);
QCOMPARE(classA->functions().count(), 4); // default ctor, default copy ctor, func a() and the added function
@@ -120,8 +121,9 @@ void TestAddFunction::testAddFunctionConstructor()
<add-function signature='A(int)'/>\n\
</value-type>\n\
</typesystem>\n";
- TestUtil t(cppCode, xmlCode);
- AbstractMetaClassList classes = t.builder()->classes();
+ QScopedPointer<AbstractMetaBuilder> builder(TestUtil::parse(cppCode, xmlCode));
+ QVERIFY(!builder.isNull());
+ AbstractMetaClassList classes = builder->classes();
AbstractMetaClass* classA = classes.findClass(QLatin1String("A"));
QVERIFY(classA);
QCOMPARE(classA->functions().count(), 3); // default and added ctors
@@ -142,8 +144,9 @@ void TestAddFunction::testAddFunctionTagDefaultValues()
<add-function signature='func()'/>\n\
</value-type>\n\
</typesystem>\n";
- TestUtil t(cppCode, xmlCode);
- AbstractMetaClassList classes = t.builder()->classes();
+ QScopedPointer<AbstractMetaBuilder> builder(TestUtil::parse(cppCode, xmlCode));
+ QVERIFY(!builder.isNull());
+ AbstractMetaClassList classes = builder->classes();
AbstractMetaClass* classA = classes.findClass(QLatin1String("A"));
QVERIFY(classA);
QCOMPARE(classA->functions().count(), 3); // default ctor, default copy ctor and the added function
@@ -166,8 +169,9 @@ void TestAddFunction::testAddFunctionCodeSnippets()
</value-type>\n\
</typesystem>\n";
- TestUtil t(cppCode, xmlCode);
- AbstractMetaClassList classes = t.builder()->classes();
+ QScopedPointer<AbstractMetaBuilder> builder(TestUtil::parse(cppCode, xmlCode));
+ QVERIFY(!builder.isNull());
+ AbstractMetaClassList classes = builder->classes();
AbstractMetaClass* classA = classes.findClass(QLatin1String("A"));
QVERIFY(classA);
AbstractMetaFunction* addedFunc = classA->functions().last();
@@ -193,8 +197,9 @@ void TestAddFunction::testAddFunctionWithoutParenteses()
</value-type>\n\
</typesystem>\n";
- TestUtil t(cppCode, xmlCode);
- AbstractMetaClassList classes = t.builder()->classes();
+ QScopedPointer<AbstractMetaBuilder> builder(TestUtil::parse(cppCode, xmlCode));
+ QVERIFY(!builder.isNull());
+ AbstractMetaClassList classes = builder->classes();
AbstractMetaClass* classA = classes.findClass(QLatin1String("A"));
QVERIFY(classA);
const AbstractMetaFunction* addedFunc = classA->findFunction(QLatin1String("func"));
@@ -225,8 +230,9 @@ void TestAddFunction::testAddFunctionWithDefaultArgs()
</value-type>\n\
</typesystem>\n";
- TestUtil t(cppCode, xmlCode);
- AbstractMetaClassList classes = t.builder()->classes();
+ QScopedPointer<AbstractMetaBuilder> builder(TestUtil::parse(cppCode, xmlCode));
+ QVERIFY(!builder.isNull());
+ AbstractMetaClassList classes = builder->classes();
AbstractMetaClass* classA = classes.findClass(QLatin1String("A"));
QVERIFY(classA);
const AbstractMetaFunction* addedFunc = classA->findFunction(QLatin1String("func"));
@@ -247,8 +253,9 @@ void TestAddFunction::testAddFunctionAtModuleLevel()
</add-function>\n\
</typesystem>\n";
- TestUtil t(cppCode, xmlCode);
- AbstractMetaClassList classes = t.builder()->classes();
+ QScopedPointer<AbstractMetaBuilder> builder(TestUtil::parse(cppCode, xmlCode));
+ QVERIFY(!builder.isNull());
+ AbstractMetaClassList classes = builder->classes();
AbstractMetaClass* classA = classes.findClass(QLatin1String("A"));
QVERIFY(classA);
@@ -285,8 +292,9 @@ void TestAddFunction::testAddFunctionWithVarargs()
</value-type>\n\
</typesystem>\n";
- TestUtil t(cppCode, xmlCode);
- AbstractMetaClassList classes = t.builder()->classes();
+ QScopedPointer<AbstractMetaBuilder> builder(TestUtil::parse(cppCode, xmlCode));
+ QVERIFY(!builder.isNull());
+ AbstractMetaClassList classes = builder->classes();
AbstractMetaClass* classA = classes.findClass(QLatin1String("A"));
QVERIFY(classA);
const AbstractMetaFunction* addedFunc = classA->findFunction(QLatin1String("func"));
@@ -308,8 +316,9 @@ void TestAddFunction::testAddStaticFunction()
</add-function>\n\
</value-type>\n\
</typesystem>\n";
- TestUtil t(cppCode, xmlCode);
- AbstractMetaClassList classes = t.builder()->classes();
+ QScopedPointer<AbstractMetaBuilder> builder(TestUtil::parse(cppCode, xmlCode));
+ QVERIFY(!builder.isNull());
+ AbstractMetaClassList classes = builder->classes();
AbstractMetaClass* classA = classes.findClass(QLatin1String("A"));
QVERIFY(classA);
const AbstractMetaFunction* addedFunc = classA->findFunction(QLatin1String("func"));
@@ -332,11 +341,12 @@ void TestAddFunction::testAddGlobalFunction()
</add-function>\n\
<value-type name='B'/>\n\
</typesystem>\n";
- TestUtil t(cppCode, xmlCode);
- AbstractMetaFunctionList globalFuncs = t.builder()->globalFunctions();
+ QScopedPointer<AbstractMetaBuilder> builder(TestUtil::parse(cppCode, xmlCode));
+ QVERIFY(!builder.isNull());
+ AbstractMetaFunctionList globalFuncs = builder->globalFunctions();
QCOMPARE(globalFuncs.count(), 2);
- QVERIFY(!t.builder()->classes().findClass(QLatin1String("B"))->findFunction(QLatin1String("globalFunc")));
- QVERIFY(!t.builder()->classes().findClass(QLatin1String("B"))->findFunction(QLatin1String("globalFunc2")));
+ QVERIFY(!builder->classes().findClass(QLatin1String("B"))->findFunction(QLatin1String("globalFunc")));
+ QVERIFY(!builder->classes().findClass(QLatin1String("B"))->findFunction(QLatin1String("globalFunc2")));
QVERIFY(!globalFuncs[0]->injectedCodeSnips().isEmpty());
QVERIFY(!globalFuncs[1]->injectedCodeSnips().isEmpty());
}
@@ -354,8 +364,9 @@ void TestAddFunction::testAddFunctionWithApiVersion()
<inject-code class='target' position='beginning'>custom_code();</inject-code>\n\
</add-function>\n\
</typesystem>\n";
- TestUtil t(cppCode, xmlCode, true, "0.1");
- AbstractMetaFunctionList globalFuncs = t.builder()->globalFunctions();
+ QScopedPointer<AbstractMetaBuilder> builder(TestUtil::parse(cppCode, xmlCode, true, "0.1"));
+ QVERIFY(!builder.isNull());
+ AbstractMetaFunctionList globalFuncs = builder->globalFunctions();
QCOMPARE(globalFuncs.count(), 1);
}
@@ -376,8 +387,9 @@ void TestAddFunction::testModifyAddedFunction()
</add-function>\n\
</value-type>\n\
</typesystem>\n";
- TestUtil t(cppCode, xmlCode);
- AbstractMetaClassList classes = t.builder()->classes();
+ QScopedPointer<AbstractMetaBuilder> builder(TestUtil::parse(cppCode, xmlCode));
+ QVERIFY(!builder.isNull());
+ AbstractMetaClassList classes = builder->classes();
AbstractMetaClass* foo = classes.findClass(QLatin1String("Foo"));
const AbstractMetaFunction* method = foo->findFunction(QLatin1String("method"));
QCOMPARE(method->arguments().size(), 2);
@@ -403,8 +415,9 @@ void TestAddFunction::testAddFunctionOnTypedef()
</add-function>\n\
</value-type>\n\
</typesystem>\n";
- TestUtil t(cppCode, xmlCode);
- AbstractMetaClassList classes = t.builder()->classes();
+ QScopedPointer<AbstractMetaBuilder> builder(TestUtil::parse(cppCode, xmlCode));
+ QVERIFY(!builder.isNull());
+ AbstractMetaClassList classes = builder->classes();
AbstractMetaClass* foo = classes.findClass(QLatin1String("FooInt"));
QVERIFY(foo);
QVERIFY(foo->hasNonPrivateConstructor());
@@ -426,9 +439,10 @@ void TestAddFunction::testAddFunctionWithTemplateArg()
<add-function signature='func(Foo&lt;int>)'/>\n\
</typesystem>\n";
- TestUtil t(cppCode, xmlCode);
- QCOMPARE(t.builder()->globalFunctions().size(), 1);
- AbstractMetaFunction* func = t.builder()->globalFunctions().first();
+ QScopedPointer<AbstractMetaBuilder> builder(TestUtil::parse(cppCode, xmlCode));
+ QVERIFY(!builder.isNull());
+ QCOMPARE(builder->globalFunctions().size(), 1);
+ AbstractMetaFunction* func = builder->globalFunctions().first();
AbstractMetaArgument* arg = func->arguments().first();
QCOMPARE(arg->type()->instantiations().count(), 1);
}
diff --git a/ApiExtractor/tests/testarrayargument.cpp b/ApiExtractor/tests/testarrayargument.cpp
index 4209da0f3..5a99dcf98 100644
--- a/ApiExtractor/tests/testarrayargument.cpp
+++ b/ApiExtractor/tests/testarrayargument.cpp
@@ -47,8 +47,9 @@ void TestArrayArgument::testArrayArgumentWithSizeDefinedByInteger()
</object-type>\n\
</typesystem>\n";
- TestUtil t(cppCode, xmlCode, false);
- AbstractMetaClass* classA = t.builder()->classes().findClass(QLatin1String("A"));
+ QScopedPointer<AbstractMetaBuilder> builder(TestUtil::parse(cppCode, xmlCode, false));
+ QVERIFY(!builder.isNull());
+ AbstractMetaClass* classA = builder->classes().findClass(QLatin1String("A"));
QVERIFY(classA);
const AbstractMetaArgument* arg = classA->functions().last()->arguments().first();
@@ -72,8 +73,9 @@ void TestArrayArgument::testArrayArgumentWithSizeDefinedByEnumValue()
</object-type>\n\
</typesystem>\n";
- TestUtil t(cppCode, xmlCode, false);
- AbstractMetaClass* classA = t.builder()->classes().findClass(QLatin1String("A"));
+ QScopedPointer<AbstractMetaBuilder> builder(TestUtil::parse(cppCode, xmlCode, false));
+ QVERIFY(!builder.isNull());
+ AbstractMetaClass* classA = builder->classes().findClass(QLatin1String("A"));
QVERIFY(classA);
AbstractMetaEnum* someEnum = classA->findEnum(QLatin1String("SomeEnum"));
@@ -102,11 +104,12 @@ void TestArrayArgument::testArrayArgumentWithSizeDefinedByEnumValueFromGlobalEnu
</object-type>\n\
</typesystem>\n";
- TestUtil t(cppCode, xmlCode, false);
- AbstractMetaClass* classA = t.builder()->classes().findClass(QLatin1String("A"));
+ QScopedPointer<AbstractMetaBuilder> builder(TestUtil::parse(cppCode, xmlCode, false));
+ QVERIFY(!builder.isNull());
+ AbstractMetaClass* classA = builder->classes().findClass(QLatin1String("A"));
QVERIFY(classA);
- AbstractMetaEnum* someEnum = t.builder()->globalEnums().first();
+ AbstractMetaEnum* someEnum = builder->globalEnums().first();
QVERIFY(someEnum);
AbstractMetaEnumValue* nvalues = 0;
foreach (AbstractMetaEnumValue* enumValue, someEnum->values()) {
diff --git a/ApiExtractor/tests/testcodeinjection.cpp b/ApiExtractor/tests/testcodeinjection.cpp
index d000dbfa9..3ed8872bb 100644
--- a/ApiExtractor/tests/testcodeinjection.cpp
+++ b/ApiExtractor/tests/testcodeinjection.cpp
@@ -50,8 +50,9 @@ void TestCodeInjections::testReadFileUtf8()
</value-type>\n\
<value-type name='A::B'/>\n\
</typesystem>\n");
- TestUtil t(cppCode, xmlCode.toLocal8Bit().constData());
- AbstractMetaClassList classes = t.builder()->classes();
+ QScopedPointer<AbstractMetaBuilder> builder(TestUtil::parse(cppCode, xmlCode.toLocal8Bit().constData()));
+ QVERIFY(!builder.isNull());
+ AbstractMetaClassList classes = builder->classes();
AbstractMetaClass* classA = classes.findClass(QLatin1String("A"));
QCOMPARE(classA->typeEntry()->codeSnips().count(), 1);
QString code = classA->typeEntry()->codeSnips().first().code();
@@ -73,9 +74,9 @@ void TestCodeInjections::testInjectWithValidApiVersion()
</value-type>\n\
</typesystem>\n";
- TestUtil t(cppCode, xmlCode, true, "1.0");
-
- AbstractMetaClassList classes = t.builder()->classes();
+ QScopedPointer<AbstractMetaBuilder> builder(TestUtil::parse(cppCode, xmlCode, true, "1.0"));
+ QVERIFY(!builder.isNull());
+ AbstractMetaClassList classes = builder->classes();
AbstractMetaClass* classA = classes.findClass(QLatin1String("A"));
QCOMPARE(classA->typeEntry()->codeSnips().count(), 1);
}
@@ -92,9 +93,10 @@ void TestCodeInjections::testInjectWithInvalidApiVersion()
</value-type>\n\
</typesystem>\n";
- TestUtil t(cppCode, xmlCode, true, "0.1");
+ QScopedPointer<AbstractMetaBuilder> builder(TestUtil::parse(cppCode, xmlCode, true, "0.1"));
+ QVERIFY(!builder.isNull());
- AbstractMetaClassList classes = t.builder()->classes();
+ AbstractMetaClassList classes = builder->classes();
AbstractMetaClass* classA = classes.findClass(QLatin1String("A"));
QCOMPARE(classA->typeEntry()->codeSnips().count(), 0);
}
diff --git a/ApiExtractor/tests/testcontainer.cpp b/ApiExtractor/tests/testcontainer.cpp
index 47a298385..ccc6d6bfb 100644
--- a/ApiExtractor/tests/testcontainer.cpp
+++ b/ApiExtractor/tests/testcontainer.cpp
@@ -50,8 +50,9 @@ void TestContainer::testContainerType()
<object-type name='A'/>\n\
</typesystem>\n";
- TestUtil t(cppCode, xmlCode, true);
- AbstractMetaClassList classes = t.builder()->classes();
+ QScopedPointer<AbstractMetaBuilder> builder(TestUtil::parse(cppCode, xmlCode, true));
+ QVERIFY(!builder.isNull());
+ AbstractMetaClassList classes = builder->classes();
QCOMPARE(classes.count(), 2);
//search for class A
AbstractMetaClass* classA = classes.findClass(QLatin1String("A"));
@@ -80,8 +81,9 @@ void TestContainer::testListOfValueType()
<value-type name='A'/>\n\
</typesystem>\n";
- TestUtil t(cppCode, xmlCode, true);
- AbstractMetaClassList classes = t.builder()->classes();
+ QScopedPointer<AbstractMetaBuilder> builder(TestUtil::parse(cppCode, xmlCode, true));
+ QVERIFY(!builder.isNull());
+ AbstractMetaClassList classes = builder->classes();
QCOMPARE(classes.count(), 3);
AbstractMetaClass* classA = classes.findClass(QLatin1String("A"));
diff --git a/ApiExtractor/tests/testconversionoperator.cpp b/ApiExtractor/tests/testconversionoperator.cpp
index 6d0b45195..da8d74792 100644
--- a/ApiExtractor/tests/testconversionoperator.cpp
+++ b/ApiExtractor/tests/testconversionoperator.cpp
@@ -50,8 +50,9 @@ void TestConversionOperator::testConversionOperator()
<value-type name='C'/>\n\
</typesystem>\n";
- TestUtil t(cppCode, xmlCode);
- AbstractMetaClassList classes = t.builder()->classes();
+ QScopedPointer<AbstractMetaBuilder> builder(TestUtil::parse(cppCode, xmlCode));
+ QVERIFY(!builder.isNull());
+ AbstractMetaClassList classes = builder->classes();
AbstractMetaClass* classA = classes.findClass(QLatin1String("A"));
AbstractMetaClass* classB = classes.findClass(QLatin1String("B"));
AbstractMetaClass* classC = classes.findClass(QLatin1String("C"));
@@ -87,8 +88,9 @@ void TestConversionOperator::testConversionOperatorOfDiscardedClass()
<value-type name='A' />\n\
</typesystem>\n";
- TestUtil t(cppCode, xmlCode);
- AbstractMetaClassList classes = t.builder()->classes();
+ QScopedPointer<AbstractMetaBuilder> builder(TestUtil::parse(cppCode, xmlCode));
+ QVERIFY(!builder.isNull());
+ AbstractMetaClassList classes = builder->classes();
AbstractMetaClass* classA = classes.findClass(QLatin1String("A"));
QVERIFY(classA);
QCOMPARE(classA->externalConversionOperators().count(), 0);
@@ -110,8 +112,9 @@ void TestConversionOperator::testRemovedConversionOperator()
</value-type>\n\
</typesystem>\n";
- TestUtil t(cppCode, xmlCode);
- AbstractMetaClassList classes = t.builder()->classes();
+ QScopedPointer<AbstractMetaBuilder> builder(TestUtil::parse(cppCode, xmlCode));
+ QVERIFY(!builder.isNull());
+ AbstractMetaClassList classes = builder->classes();
AbstractMetaClass* classA = classes.findClass(QLatin1String("A"));
AbstractMetaClass* classB = classes.findClass(QLatin1String("B"));
QVERIFY(classA);
@@ -135,8 +138,9 @@ void TestConversionOperator::testConversionOperatorReturningReference()
<value-type name='B'/>\n\
</typesystem>\n";
- TestUtil t(cppCode, xmlCode);
- AbstractMetaClassList classes = t.builder()->classes();
+ QScopedPointer<AbstractMetaBuilder> builder(TestUtil::parse(cppCode, xmlCode));
+ QVERIFY(!builder.isNull());
+ AbstractMetaClassList classes = builder->classes();
AbstractMetaClass* classA = classes.findClass(QLatin1String("A"));
AbstractMetaClass* classB = classes.findClass(QLatin1String("B"));
QVERIFY(classA);
@@ -164,8 +168,9 @@ void TestConversionOperator::testConversionOperatorReturningConstReference()
<value-type name='B'/>\n\
</typesystem>\n";
- TestUtil t(cppCode, xmlCode);
- AbstractMetaClassList classes = t.builder()->classes();
+ QScopedPointer<AbstractMetaBuilder> builder(TestUtil::parse(cppCode, xmlCode));
+ QVERIFY(!builder.isNull());
+ AbstractMetaClassList classes = builder->classes();
AbstractMetaClass* classA = classes.findClass(QLatin1String("A"));
AbstractMetaClass* classB = classes.findClass(QLatin1String("B"));
QVERIFY(classA);
diff --git a/ApiExtractor/tests/testconversionruletag.cpp b/ApiExtractor/tests/testconversionruletag.cpp
index c78d230ac..5a815b277 100644
--- a/ApiExtractor/tests/testconversionruletag.cpp
+++ b/ApiExtractor/tests/testconversionruletag.cpp
@@ -50,8 +50,9 @@ void TestConversionRuleTag::testConversionRuleTagWithFile()
<conversion-rule file='") + file.fileName() + QLatin1String("'/>\n\
</value-type>\n\
</typesystem>\n");
- TestUtil t(cppCode, xmlCode.toLocal8Bit().data());
- AbstractMetaClassList classes = t.builder()->classes();
+ QScopedPointer<AbstractMetaBuilder> builder(TestUtil::parse(cppCode, xmlCode.toLocal8Bit().data()));
+ QVERIFY(!builder.isNull());
+ AbstractMetaClassList classes = builder->classes();
AbstractMetaClass* classA = classes.findClass(QLatin1String("A"));
QVERIFY(classA);
const ComplexTypeEntry* typeEntry = classA->typeEntry();
@@ -97,7 +98,8 @@ void TestConversionRuleTag::testConversionRuleTagReplace()
<value-type name='B'/>\n\
</typesystem>\n";
- TestUtil t(cppCode, xmlCode);
+ QScopedPointer<AbstractMetaBuilder> builder(TestUtil::parse(cppCode, xmlCode));
+ QVERIFY(!builder.isNull());
TypeDatabase* typeDb = TypeDatabase::instance();
PrimitiveTypeEntry* typeA = typeDb->findPrimitiveType(QLatin1String("A"));
QVERIFY(typeA);
@@ -163,8 +165,9 @@ if (!TargetDateTimeAPI) TargetDateTime_IMPORT;\n\
</value-type>\n\
</typesystem>\n";
- TestUtil t(cppCode, xmlCode);
- AbstractMetaClass* classA = t.builder()->classes().findClass(QLatin1String("Date"));
+ QScopedPointer<AbstractMetaBuilder> builder(TestUtil::parse(cppCode, xmlCode));
+ QVERIFY(!builder.isNull());
+ AbstractMetaClass* classA = builder->classes().findClass(QLatin1String("Date"));
QVERIFY(classA);
CustomConversion* conversion = classA->typeEntry()->customConversion();
@@ -222,7 +225,8 @@ void TestConversionRuleTag::testConversionRuleTagWithInsertTemplate()
"%OUT = %IN.createA();\n"
"// TEMPLATE - target_to_native - END";
- TestUtil t(cppCode, xmlCode);
+ QScopedPointer<AbstractMetaBuilder> builder(TestUtil::parse(cppCode, xmlCode));
+ QVERIFY(!builder.isNull());
TypeDatabase* typeDb = TypeDatabase::instance();
PrimitiveTypeEntry* typeA = typeDb->findPrimitiveType(QLatin1String("A"));
QVERIFY(typeA);
diff --git a/ApiExtractor/tests/testctorinformation.cpp b/ApiExtractor/tests/testctorinformation.cpp
index 5ec295b01..582ec2794 100644
--- a/ApiExtractor/tests/testctorinformation.cpp
+++ b/ApiExtractor/tests/testctorinformation.cpp
@@ -43,8 +43,9 @@ void TestCtorInformation::testCtorIsPrivate()
<object-type name='Subject'/>\n\
<value-type name='CtorLess'/>\n\
</typesystem>\n";
- TestUtil t(cppCode, xmlCode);
- AbstractMetaClassList classes = t.builder()->classes();
+ QScopedPointer<AbstractMetaBuilder> builder(TestUtil::parse(cppCode, xmlCode));
+ QVERIFY(!builder.isNull());
+ AbstractMetaClassList classes = builder->classes();
QCOMPARE(classes.count(), 3);
QCOMPARE(classes.findClass(QLatin1String("Control"))->hasNonPrivateConstructor(), true);
QCOMPARE(classes.findClass(QLatin1String("Subject"))->hasNonPrivateConstructor(), false);
@@ -62,8 +63,9 @@ void TestCtorInformation::testHasNonPrivateCtor()
<object-type name='Base' generate='no'/>\n\
<object-type name='Derived'/>\n\
</typesystem>\n";
- TestUtil t(cppCode, xmlCode);
- AbstractMetaClassList classes = t.builder()->classes();
+ QScopedPointer<AbstractMetaBuilder> builder(TestUtil::parse(cppCode, xmlCode));
+ QVERIFY(!builder.isNull());
+ AbstractMetaClassList classes = builder->classes();
QCOMPARE(classes.count(), 2);
AbstractMetaClass* base = classes.findClass(QLatin1String("Base"));
QCOMPARE(base->hasNonPrivateConstructor(), true);
diff --git a/ApiExtractor/tests/testdroptypeentries.cpp b/ApiExtractor/tests/testdroptypeentries.cpp
index 53b12690b..a64e95409 100644
--- a/ApiExtractor/tests/testdroptypeentries.cpp
+++ b/ApiExtractor/tests/testdroptypeentries.cpp
@@ -70,9 +70,10 @@ void TestDropTypeEntries::testDropEntries()
droppedEntries << QLatin1String("Foo.ObjectB") << QLatin1String("Foo.NamespaceA.InnerClassA");
droppedEntries << QLatin1String("Foo.NamespaceB") << QLatin1String("Foo.EnumB") << QLatin1String("Foo.funcB()");
droppedEntries << QLatin1String("Foo.NamespaceA.InnerNamespaceA");
- TestUtil t(cppCode, xmlCode, false, 0, droppedEntries);
+ QScopedPointer<AbstractMetaBuilder> builder(TestUtil::parse(cppCode, xmlCode, false, Q_NULLPTR, droppedEntries));
+ QVERIFY(!builder.isNull());
- AbstractMetaClassList classes = t.builder()->classes();
+ AbstractMetaClassList classes = builder->classes();
QVERIFY(classes.findClass(QLatin1String("ValueA")));
QVERIFY(!classes.findClass(QLatin1String("ValueB")));
QVERIFY(classes.findClass(QLatin1String("ObjectA")));
@@ -81,7 +82,7 @@ void TestDropTypeEntries::testDropEntries()
QVERIFY(!classes.findClass(QLatin1String("NamespaceA::InnerClassA")));
QVERIFY(!classes.findClass(QLatin1String("NamespaceB")));
- AbstractMetaEnumList globalEnums = t.builder()->globalEnums();
+ AbstractMetaEnumList globalEnums = builder->globalEnums();
QCOMPARE(globalEnums.count(), 1);
QCOMPARE(globalEnums.first()->name(), QLatin1String("EnumA"));
@@ -92,9 +93,10 @@ void TestDropTypeEntries::testDropEntries()
void TestDropTypeEntries::testDontDropEntries()
{
- TestUtil t(cppCode, xmlCode, false);
+ QScopedPointer<AbstractMetaBuilder> builder(TestUtil::parse(cppCode, xmlCode, false));
+ QVERIFY(!builder.isNull());
- AbstractMetaClassList classes = t.builder()->classes();
+ AbstractMetaClassList classes = builder->classes();
QVERIFY(classes.findClass(QLatin1String("ValueA")));
QVERIFY(classes.findClass(QLatin1String("ValueB")));
QVERIFY(classes.findClass(QLatin1String("ObjectA")));
@@ -103,7 +105,7 @@ void TestDropTypeEntries::testDontDropEntries()
QVERIFY(classes.findClass(QLatin1String("NamespaceA::InnerClassA")));
QVERIFY(classes.findClass(QLatin1String("NamespaceB")));
- QCOMPARE(t.builder()->globalEnums().size(), 2);
+ QCOMPARE(builder->globalEnums().size(), 2);
TypeDatabase* td = TypeDatabase::instance();
QVERIFY(td->findType(QLatin1String("funcA")));
@@ -127,14 +129,17 @@ static const char* xmlCode2 = "\
void TestDropTypeEntries::testDropEntryWithChildTags()
{
QStringList droppedEntries(QLatin1String("Foo.ValueA"));
- TestUtil t(cppCode2, xmlCode2, false, 0, droppedEntries);
- QVERIFY(!t.builder()->classes().findClass(QLatin1String("ValueA")));
+ QScopedPointer<AbstractMetaBuilder> builder(TestUtil::parse(cppCode2, xmlCode2, false, Q_NULLPTR, droppedEntries));
+ QVERIFY(!builder.isNull());
+ QVERIFY(!builder->classes().findClass(QLatin1String("ValueA")));
}
+
void TestDropTypeEntries::testDontDropEntryWithChildTags()
{
- TestUtil t(cppCode2, xmlCode2, false);
- QVERIFY(t.builder()->classes().findClass(QLatin1String("ValueA")));
+ QScopedPointer<AbstractMetaBuilder> builder(TestUtil::parse(cppCode2, xmlCode2, false));
+ QVERIFY(!builder.isNull());
+ QVERIFY(builder->classes().findClass(QLatin1String("ValueA")));
}
QTEST_APPLESS_MAIN(TestDropTypeEntries)
diff --git a/ApiExtractor/tests/testdtorinformation.cpp b/ApiExtractor/tests/testdtorinformation.cpp
index 0425a4dd7..c20cf24fb 100644
--- a/ApiExtractor/tests/testdtorinformation.cpp
+++ b/ApiExtractor/tests/testdtorinformation.cpp
@@ -37,8 +37,9 @@ void TestDtorInformation::testDtorIsPrivate()
{
const char* cppCode ="class Control { public: ~Control() {} }; class Subject { private: ~Subject() {} };";
const char* xmlCode = "<typesystem package=\"Foo\"><value-type name=\"Control\"/><value-type name=\"Subject\"/></typesystem>";
- TestUtil t(cppCode, xmlCode);
- AbstractMetaClassList classes = t.builder()->classes();
+ QScopedPointer<AbstractMetaBuilder> builder(TestUtil::parse(cppCode, xmlCode));
+ QVERIFY(!builder.isNull());
+ AbstractMetaClassList classes = builder->classes();
QCOMPARE(classes.count(), 2);
QCOMPARE(classes.findClass(QLatin1String("Control"))->hasPrivateDestructor(), false);
QCOMPARE(classes.findClass(QLatin1String("Subject"))->hasPrivateDestructor(), true);
@@ -48,8 +49,9 @@ void TestDtorInformation::testDtorIsProtected()
{
const char* cppCode ="class Control { public: ~Control() {} }; class Subject { protected: ~Subject() {} };";
const char* xmlCode = "<typesystem package=\"Foo\"><value-type name=\"Control\"/><value-type name=\"Subject\"/></typesystem>";
- TestUtil t(cppCode, xmlCode);
- AbstractMetaClassList classes = t.builder()->classes();
+ QScopedPointer<AbstractMetaBuilder> builder(TestUtil::parse(cppCode, xmlCode));
+ QVERIFY(!builder.isNull());
+ AbstractMetaClassList classes = builder->classes();
QCOMPARE(classes.count(), 2);
QCOMPARE(classes.findClass(QLatin1String("Control"))->hasProtectedDestructor(), false);
QCOMPARE(classes.findClass(QLatin1String("Subject"))->hasProtectedDestructor(), true);
@@ -59,8 +61,9 @@ void TestDtorInformation::testDtorIsVirtual()
{
const char* cppCode ="class Control { public: ~Control() {} }; class Subject { protected: virtual ~Subject() {} };";
const char* xmlCode = "<typesystem package=\"Foo\"><value-type name=\"Control\"/><value-type name=\"Subject\"/></typesystem>";
- TestUtil t(cppCode, xmlCode);
- AbstractMetaClassList classes = t.builder()->classes();
+ QScopedPointer<AbstractMetaBuilder> builder(TestUtil::parse(cppCode, xmlCode));
+ QVERIFY(!builder.isNull());
+ AbstractMetaClassList classes = builder->classes();
QCOMPARE(classes.count(), 2);
QCOMPARE(classes.findClass(QLatin1String("Control"))->hasVirtualDestructor(), false);
QCOMPARE(classes.findClass(QLatin1String("Subject"))->hasVirtualDestructor(), true);
@@ -70,8 +73,9 @@ void TestDtorInformation::testClassWithVirtualDtorIsPolymorphic()
{
const char* cppCode ="class Control { public: virtual ~Control() {} }; class Subject { protected: virtual ~Subject() {} };";
const char* xmlCode = "<typesystem package=\"Foo\"><value-type name=\"Control\"/><value-type name=\"Subject\"/></typesystem>";
- TestUtil t(cppCode, xmlCode);
- AbstractMetaClassList classes = t.builder()->classes();
+ QScopedPointer<AbstractMetaBuilder> builder(TestUtil::parse(cppCode, xmlCode));
+ QVERIFY(!builder.isNull());
+ AbstractMetaClassList classes = builder->classes();
QCOMPARE(classes.count(), 2);
QCOMPARE(classes.findClass(QLatin1String("Control"))->isPolymorphic(), true);
QCOMPARE(classes.findClass(QLatin1String("Subject"))->isPolymorphic(), true);
diff --git a/ApiExtractor/tests/testenum.cpp b/ApiExtractor/tests/testenum.cpp
index c5b3fa322..3a90f8eff 100644
--- a/ApiExtractor/tests/testenum.cpp
+++ b/ApiExtractor/tests/testenum.cpp
@@ -51,16 +51,17 @@ void TestEnum::testEnumCppSignature()
<function signature='func(A::ClassEnum)'/>\n\
</typesystem>\n";
- TestUtil t(cppCode, xmlCode);
- AbstractMetaClassList classes = t.builder()->classes();
+ QScopedPointer<AbstractMetaBuilder> builder(TestUtil::parse(cppCode, xmlCode));
+ QVERIFY(!builder.isNull());
+ AbstractMetaClassList classes = builder->classes();
QCOMPARE(classes.count(), 1);
- AbstractMetaEnumList globalEnums = t.builder()->globalEnums();
+ AbstractMetaEnumList globalEnums = builder->globalEnums();
QCOMPARE(globalEnums.count(), 1);
QCOMPARE(globalEnums.first()->name(), QLatin1String("GlobalEnum"));
// enum as parameter of a function
- AbstractMetaFunctionList functions = t.builder()->globalFunctions();
+ AbstractMetaFunctionList functions = builder->globalFunctions();
QCOMPARE(functions.count(), 1);
QCOMPARE(functions.first()->arguments().count(), 1);
QCOMPARE(functions.first()->arguments().first()->type()->cppSignature(), QLatin1String("A::ClassEnum"));
@@ -99,8 +100,9 @@ void TestEnum::testEnumWithApiVersion()
</value-type>\n\
</typesystem>\n";
- TestUtil t(cppCode, xmlCode, true, "0.1");
- AbstractMetaClassList classes = t.builder()->classes();
+ QScopedPointer<AbstractMetaBuilder> builder(TestUtil::parse(cppCode, xmlCode, true, "0.1"));
+ QVERIFY(!builder.isNull());
+ AbstractMetaClassList classes = builder->classes();
QCOMPARE(classes.count(), 1);
QCOMPARE(classes[0]->enums().count(), 1);
}
@@ -124,14 +126,15 @@ void TestEnum::testAnonymousEnum()
</value-type>\n\
</typesystem>\n";
- TestUtil t(cppCode, xmlCode, false);
+ QScopedPointer<AbstractMetaBuilder> builder(TestUtil::parse(cppCode, xmlCode, false));
+ QVERIFY(!builder.isNull());
- AbstractMetaEnumList globalEnums = t.builder()->globalEnums();
+ AbstractMetaEnumList globalEnums = builder->globalEnums();
QCOMPARE(globalEnums.count(), 1);
QCOMPARE(globalEnums.first()->typeEntry()->qualifiedCppName(), QLatin1String("Global0"));
QVERIFY(globalEnums.first()->isAnonymous());
- AbstractMetaClassList classes = t.builder()->classes();
+ AbstractMetaClassList classes = builder->classes();
QCOMPARE(classes.count(), 1);
QCOMPARE(classes[0]->enums().count(), 2);
@@ -177,9 +180,10 @@ void TestEnum::testGlobalEnums()
<enum-type name='EnumB'/>\n\
</typesystem>\n";
- TestUtil t(cppCode, xmlCode, false);
+ QScopedPointer<AbstractMetaBuilder> builder(TestUtil::parse(cppCode, xmlCode, false));
+ QVERIFY(!builder.isNull());
- AbstractMetaEnumList globalEnums = t.builder()->globalEnums();
+ AbstractMetaEnumList globalEnums = builder->globalEnums();
QCOMPARE(globalEnums.count(), 2);
AbstractMetaEnum* enumA = globalEnums.first();
@@ -224,9 +228,10 @@ void TestEnum::testEnumValueFromNeighbourEnum()
</namespace-type>\n\
</typesystem>\n";
- TestUtil t(cppCode, xmlCode, false);
+ QScopedPointer<AbstractMetaBuilder> builder(TestUtil::parse(cppCode, xmlCode, false));
+ QVERIFY(!builder.isNull());
- AbstractMetaClassList classes = t.builder()->classes();
+ AbstractMetaClassList classes = builder->classes();
QCOMPARE(classes.count(), 1);
QCOMPARE(classes[0]->enums().count(), 2);
@@ -281,9 +286,10 @@ void TestEnum::testEnumValueFromExpression()
</value-type>\n\
</typesystem>\n";
- TestUtil t(cppCode, xmlCode, false);
+ QScopedPointer<AbstractMetaBuilder> builder(TestUtil::parse(cppCode, xmlCode, false));
+ QVERIFY(!builder.isNull());
- AbstractMetaClass* classA = t.builder()->classes().findClass(QLatin1String("A"));
+ AbstractMetaClass* classA = builder->classes().findClass(QLatin1String("A"));
QVERIFY(classA);
AbstractMetaEnum* enumA = classA->findEnum(QLatin1String("EnumA"));
@@ -347,9 +353,10 @@ void TestEnum::testPrivateEnum()
</value-type>\n\
</typesystem>\n";
- TestUtil t(cppCode, xmlCode, false);
+ QScopedPointer<AbstractMetaBuilder> builder(TestUtil::parse(cppCode, xmlCode, false));
+ QVERIFY(!builder.isNull());
- AbstractMetaClass* classA = t.builder()->classes().findClass(QLatin1String("A"));
+ AbstractMetaClass* classA = builder->classes().findClass(QLatin1String("A"));
QVERIFY(classA);
QCOMPARE(classA->enums().count(), 2);
@@ -385,9 +392,10 @@ void TestEnum::testTypedefEnum()
<enum-type name='EnumA'/>\n\
</typesystem>\n";
- TestUtil t(cppCode, xmlCode, false);
+ QScopedPointer<AbstractMetaBuilder> builder(TestUtil::parse(cppCode, xmlCode, false));
+ QVERIFY(!builder.isNull());
- AbstractMetaEnumList globalEnums = t.builder()->globalEnums();
+ AbstractMetaEnumList globalEnums = builder->globalEnums();
QEXPECT_FAIL("", "APIExtractor does not handle typedef enum correctly yet", Abort);
QCOMPARE(globalEnums.count(), 1);
diff --git a/ApiExtractor/tests/testextrainclude.cpp b/ApiExtractor/tests/testextrainclude.cpp
index 0a84d18d5..e208a37c0 100644
--- a/ApiExtractor/tests/testextrainclude.cpp
+++ b/ApiExtractor/tests/testextrainclude.cpp
@@ -44,8 +44,9 @@ void TestExtraInclude::testClassExtraInclude()
</value-type>\n\
</typesystem>\n";
- TestUtil t(cppCode, xmlCode, false);
- AbstractMetaClassList classes = t.builder()->classes();
+ QScopedPointer<AbstractMetaBuilder> builder(TestUtil::parse(cppCode, xmlCode, false));
+ QVERIFY(!builder.isNull());
+ AbstractMetaClassList classes = builder->classes();
const AbstractMetaClass* classA = classes.findClass(QLatin1String("A"));
QVERIFY(classA);
@@ -66,8 +67,9 @@ void TestExtraInclude::testGlobalExtraIncludes()
<value-type name='A'/>\n\
</typesystem>\n";
- TestUtil t(cppCode, xmlCode, false);
- AbstractMetaClassList classes = t.builder()->classes();
+ QScopedPointer<AbstractMetaBuilder> builder(TestUtil::parse(cppCode, xmlCode, false));
+ QVERIFY(!builder.isNull());
+ AbstractMetaClassList classes = builder->classes();
QVERIFY(classes.findClass(QLatin1String("A")));
TypeDatabase* td = TypeDatabase::instance();
diff --git a/ApiExtractor/tests/testfunctiontag.cpp b/ApiExtractor/tests/testfunctiontag.cpp
index 9d2e4c454..a29d740bf 100644
--- a/ApiExtractor/tests/testfunctiontag.cpp
+++ b/ApiExtractor/tests/testfunctiontag.cpp
@@ -41,11 +41,12 @@ void TestFunctionTag::testFunctionTagForSpecificSignature()
<primitive-type name='float'/>\n\
<function signature='globalFunction(int)'/>\n\
</typesystem>\n";
- TestUtil t(cppCode, xmlCode, false);
+ QScopedPointer<AbstractMetaBuilder> builder(TestUtil::parse(cppCode, xmlCode, false));
+ QVERIFY(!builder.isNull());
const TypeEntry *func = TypeDatabase::instance()->findType(QLatin1String("globalFunction"));
QVERIFY(func);
- QCOMPARE(t.builder()->globalFunctions().size(), 1);
+ QCOMPARE(builder->globalFunctions().size(), 1);
}
void TestFunctionTag::testFunctionTagForAllSignatures()
@@ -58,11 +59,12 @@ void TestFunctionTag::testFunctionTagForAllSignatures()
<function signature='globalFunction(int)'/>\n\
<function signature='globalFunction(float)'/>\n\
</typesystem>\n";
- TestUtil t(cppCode, xmlCode, false);
+ QScopedPointer<AbstractMetaBuilder> builder(TestUtil::parse(cppCode, xmlCode, false));
+ QVERIFY(!builder.isNull());
const TypeEntry *func = TypeDatabase::instance()->findType(QLatin1String("globalFunction"));
QVERIFY(func);
- QCOMPARE(t.builder()->globalFunctions().size(), 2);
+ QCOMPARE(builder->globalFunctions().size(), 2);
}
void TestFunctionTag::testRenameGlobalFunction()
@@ -72,13 +74,14 @@ void TestFunctionTag::testRenameGlobalFunction()
<typesystem package='Foo'>\n\
<function signature='global_function_with_ugly_name()' rename='smooth'/>\n\
</typesystem>\n";
- TestUtil t(cppCode, xmlCode, false);
+ QScopedPointer<AbstractMetaBuilder> builder(TestUtil::parse(cppCode, xmlCode, false));
+ QVERIFY(!builder.isNull());
const TypeEntry *func = TypeDatabase::instance()->findType(QLatin1String("global_function_with_ugly_name"));
QVERIFY(func);
- QCOMPARE(t.builder()->globalFunctions().size(), 1);
- const AbstractMetaFunction* metaFunc = t.builder()->globalFunctions().first();
+ QCOMPARE(builder->globalFunctions().size(), 1);
+ const AbstractMetaFunction* metaFunc = builder->globalFunctions().first();
QVERIFY(metaFunc);
QCOMPARE(metaFunc->modifications().size(), 1);
diff --git a/ApiExtractor/tests/testimplicitconversions.cpp b/ApiExtractor/tests/testimplicitconversions.cpp
index fa65f215a..fc97a6038 100644
--- a/ApiExtractor/tests/testimplicitconversions.cpp
+++ b/ApiExtractor/tests/testimplicitconversions.cpp
@@ -50,8 +50,9 @@ void TestImplicitConversions::testWithPrivateCtors()
<value-type name='B'/>\n\
<value-type name='C'/>\n\
</typesystem>\n";
- TestUtil t(cppCode, xmlCode);
- AbstractMetaClassList classes = t.builder()->classes();
+ QScopedPointer<AbstractMetaBuilder> builder(TestUtil::parse(cppCode, xmlCode));
+ QVERIFY(!builder.isNull());
+ AbstractMetaClassList classes = builder->classes();
QCOMPARE(classes.count(), 3);
AbstractMetaClass* classA = classes.findClass(QLatin1String("A"));
@@ -79,8 +80,9 @@ void TestImplicitConversions::testWithModifiedVisibility()
</value-type>\n\
<value-type name='B'/>\n\
</typesystem>\n";
- TestUtil t(cppCode, xmlCode);
- AbstractMetaClassList classes = t.builder()->classes();
+ QScopedPointer<AbstractMetaBuilder> builder(TestUtil::parse(cppCode, xmlCode));
+ QVERIFY(!builder.isNull());
+ AbstractMetaClassList classes = builder->classes();
QCOMPARE(classes.count(), 2);
AbstractMetaClass* classA = classes.findClass(QLatin1String("A"));
AbstractMetaClass* classB = classes.findClass(QLatin1String("B"));
@@ -111,8 +113,9 @@ void TestImplicitConversions::testWithAddedCtor()
</value-type>\n\
<value-type name='C'/>\n\
</typesystem>\n";
- TestUtil t(cppCode, xmlCode);
- AbstractMetaClassList classes = t.builder()->classes();
+ QScopedPointer<AbstractMetaBuilder> builder(TestUtil::parse(cppCode, xmlCode));
+ QVERIFY(!builder.isNull());
+ AbstractMetaClassList classes = builder->classes();
QCOMPARE(classes.count(), 3);
AbstractMetaClass* classA = classes.findClass(QLatin1String("A"));
@@ -137,8 +140,9 @@ void TestImplicitConversions::testWithExternalConversionOperator()
<value-type name='A'/>\n\
<value-type name='B'/>\n\
</typesystem>\n";
- TestUtil t(cppCode, xmlCode);
- AbstractMetaClassList classes = t.builder()->classes();
+ QScopedPointer<AbstractMetaBuilder> builder(TestUtil::parse(cppCode, xmlCode));
+ QVERIFY(!builder.isNull());
+ AbstractMetaClassList classes = builder->classes();
QCOMPARE(classes.count(), 2);
AbstractMetaClass* classA = classes.findClass(QLatin1String("A"));
AbstractMetaClass* classB = classes.findClass(QLatin1String("B"));
diff --git a/ApiExtractor/tests/testinserttemplate.cpp b/ApiExtractor/tests/testinserttemplate.cpp
index ab849fa02..3205ceb47 100644
--- a/ApiExtractor/tests/testinserttemplate.cpp
+++ b/ApiExtractor/tests/testinserttemplate.cpp
@@ -46,8 +46,9 @@ void TestInsertTemplate::testInsertTemplateOnClassInjectCode()
</inject-code>\n\
</value-type>\n\
</typesystem>\n";
- TestUtil t(cppCode, xmlCode, false);
- AbstractMetaClassList classes = t.builder()->classes();
+ QScopedPointer<AbstractMetaBuilder> builder(TestUtil::parse(cppCode, xmlCode, false));
+ QVERIFY(!builder.isNull());
+ AbstractMetaClassList classes = builder->classes();
QCOMPARE(classes.count(), 1);
AbstractMetaClass* classA = classes.findClass(QLatin1String("A"));
QVERIFY(classA);
@@ -68,8 +69,9 @@ void TestInsertTemplate::testInsertTemplateOnModuleInjectCode()
<insert-template name='code_template'/>\n\
</inject-code>\n\
</typesystem>\n";
- TestUtil t(cppCode, xmlCode, false);
- AbstractMetaClassList classes = t.builder()->classes();
+ QScopedPointer<AbstractMetaBuilder> builder(TestUtil::parse(cppCode, xmlCode, false));
+ QVERIFY(!builder.isNull());
+ AbstractMetaClassList classes = builder->classes();
QVERIFY(classes.isEmpty());
TypeEntry* module = TypeDatabase::instance()->findType(QLatin1String("Foo"));
@@ -88,8 +90,9 @@ void TestInsertTemplate::testInvalidTypeSystemTemplate()
<insert-template name='this_code_template_does_not_exists'/>\n\
</inject-code>\n\
</typesystem>\n";
- TestUtil t(cppCode, xmlCode, false);
- AbstractMetaClassList classes = t.builder()->classes();
+ QScopedPointer<AbstractMetaBuilder> builder(TestUtil::parse(cppCode, xmlCode, false));
+ QVERIFY(!builder.isNull());
+ AbstractMetaClassList classes = builder->classes();
QVERIFY(classes.isEmpty());
TypeEntry* module = TypeDatabase::instance()->findType(QLatin1String("Foo"));
@@ -112,8 +115,9 @@ void TestInsertTemplate::testValidAndInvalidTypeSystemTemplate()
<insert-template name='code_template'/>\n\
</inject-code>\n\
</typesystem>\n";
- TestUtil t(cppCode, xmlCode, false);
- AbstractMetaClassList classes = t.builder()->classes();
+ QScopedPointer<AbstractMetaBuilder> builder(TestUtil::parse(cppCode, xmlCode, false));
+ QVERIFY(!builder.isNull());
+ AbstractMetaClassList classes = builder->classes();
QVERIFY(classes.isEmpty());
TypeEntry* module = TypeDatabase::instance()->findType(QLatin1String("Foo"));
diff --git a/ApiExtractor/tests/testmodifydocumentation.cpp b/ApiExtractor/tests/testmodifydocumentation.cpp
index 9ca63e2d4..ab68082e0 100644
--- a/ApiExtractor/tests/testmodifydocumentation.cpp
+++ b/ApiExtractor/tests/testmodifydocumentation.cpp
@@ -48,9 +48,9 @@ void TestModifyDocumentation::testModifyDocumentation()
</modify-documentation>\n\
</value-type>\n\
</typesystem>\n";
- TestUtil t(cppCode, xmlCode);
-
- AbstractMetaClass* classA = t.builder()->classes().findClass(QLatin1String("A"));
+ QScopedPointer<AbstractMetaBuilder> builder(TestUtil::parse(cppCode, xmlCode));
+ QVERIFY(!builder.isNull());
+ AbstractMetaClass *classA = builder->classes().findClass(QLatin1String("A"));
QVERIFY(classA);
DocModificationList docMods = classA->typeEntry()->docModifications();
QCOMPARE(docMods.count(), 1);
diff --git a/ApiExtractor/tests/testmodifyfunction.cpp b/ApiExtractor/tests/testmodifyfunction.cpp
index 8f1dc0208..7e61e56e7 100644
--- a/ApiExtractor/tests/testmodifyfunction.cpp
+++ b/ApiExtractor/tests/testmodifyfunction.cpp
@@ -49,8 +49,9 @@ void TestModifyFunction::testRenameArgument()
</modify-function>\n\
</object-type>\n\
</typesystem>\n";
- TestUtil t(cppCode, xmlCode, false);
- AbstractMetaClassList classes = t.builder()->classes();
+ QScopedPointer<AbstractMetaBuilder> builder(TestUtil::parse(cppCode, xmlCode, false));
+ QVERIFY(!builder.isNull());
+ AbstractMetaClassList classes = builder->classes();
AbstractMetaClass* classA = classes.findClass(QLatin1String("A"));
const AbstractMetaFunction* func = classA->findFunction(QLatin1String("method"));
Q_ASSERT(func);
@@ -76,8 +77,9 @@ void TestModifyFunction::testOwnershipTransfer()
</modify-function>\n\
</object-type>\n\
</typesystem>\n";
- TestUtil t(cppCode, xmlCode, false);
- AbstractMetaClassList classes = t.builder()->classes();
+ QScopedPointer<AbstractMetaBuilder> builder(TestUtil::parse(cppCode, xmlCode, false));
+ QVERIFY(!builder.isNull());
+ AbstractMetaClassList classes = builder->classes();
AbstractMetaClass* classB = classes.findClass(QLatin1String("B"));
const AbstractMetaFunction* func = classB->findFunction(QLatin1String("method"));
@@ -122,8 +124,9 @@ void TestModifyFunction::invalidateAfterUse()
</object-type>\n\
<object-type name='E' />\n\
</typesystem>\n";
- TestUtil t(cppCode, xmlCode, false, "0.1");
- AbstractMetaClassList classes = t.builder()->classes();
+ QScopedPointer<AbstractMetaBuilder> builder(TestUtil::parse(cppCode, xmlCode, false, "0.1"));
+ QVERIFY(!builder.isNull());
+ AbstractMetaClassList classes = builder->classes();
AbstractMetaClass* classB = classes.findClass(QLatin1String("B"));
const AbstractMetaFunction* func = classB->findFunction(QLatin1String("call"));
QCOMPARE(func->modifications().size(), 1);
@@ -193,8 +196,9 @@ void TestModifyFunction::testWithApiVersion()
</modify-function>\n\
</object-type>\n\
</typesystem>\n";
- TestUtil t(cppCode, xmlCode, false, "0.1");
- AbstractMetaClassList classes = t.builder()->classes();
+ QScopedPointer<AbstractMetaBuilder> builder(TestUtil::parse(cppCode, xmlCode, false, "0.1"));
+ QVERIFY(!builder.isNull());
+ AbstractMetaClassList classes = builder->classes();
AbstractMetaClass* classB = classes.findClass(QLatin1String("B"));
const AbstractMetaFunction* func = classB->findFunction(QLatin1String("method"));
@@ -222,8 +226,9 @@ void TestModifyFunction::testGlobalFunctionModification()
</function>\n\
</typesystem>\n";
- TestUtil t(cppCode, xmlCode, false);
- QCOMPARE(t.builder()->globalFunctions().size(), 1);
+ QScopedPointer<AbstractMetaBuilder> builder(TestUtil::parse(cppCode, xmlCode, false));
+ QVERIFY(!builder.isNull());
+ QCOMPARE(builder->globalFunctions().size(), 1);
FunctionModificationList mods = TypeDatabase::instance()->functionModifications(QLatin1String("function(A*)"));
QCOMPARE(mods.count(), 1);
@@ -232,7 +237,7 @@ void TestModifyFunction::testGlobalFunctionModification()
ArgumentModification argMod = argMods.first();
QCOMPARE(argMod.replacedDefaultExpression, QLatin1String("A()"));
- const AbstractMetaFunction* func = t.builder()->globalFunctions().first();
+ const AbstractMetaFunction* func = builder->globalFunctions().first();
QVERIFY(func);
QCOMPARE(func->arguments().count(), 1);
const AbstractMetaArgument* arg = func->arguments().first();
diff --git a/ApiExtractor/tests/testmultipleinheritance.cpp b/ApiExtractor/tests/testmultipleinheritance.cpp
index 30c8d9795..01c05348d 100644
--- a/ApiExtractor/tests/testmultipleinheritance.cpp
+++ b/ApiExtractor/tests/testmultipleinheritance.cpp
@@ -54,8 +54,9 @@ void TestMultipleInheritance::testVirtualClass()
<object-type name='D' />\n\
</typesystem>\n";
- TestUtil t(cppCode, xmlCode);
- AbstractMetaClassList classes = t.builder()->classes();
+ QScopedPointer<AbstractMetaBuilder> builder(TestUtil::parse(cppCode, xmlCode));
+ QVERIFY(!builder.isNull());
+ AbstractMetaClassList classes = builder->classes();
QCOMPARE(classes.count(), 4);
AbstractMetaClass* classD = classes.findClass(QLatin1String("D"));
diff --git a/ApiExtractor/tests/testnamespace.cpp b/ApiExtractor/tests/testnamespace.cpp
index ec35c3553..1a691e632 100644
--- a/ApiExtractor/tests/testnamespace.cpp
+++ b/ApiExtractor/tests/testnamespace.cpp
@@ -49,8 +49,9 @@ void NamespaceTest::testNamespaceMembers()
<enum-type name='Option' />\n\
</namespace-type>\n\
</typesystem>\n";
- TestUtil t(cppCode, xmlCode, false);
- AbstractMetaClassList classes = t.builder()->classes();
+ QScopedPointer<AbstractMetaBuilder> builder(TestUtil::parse(cppCode, xmlCode, false));
+ QVERIFY(!builder.isNull());
+ AbstractMetaClassList classes = builder->classes();
AbstractMetaClass* ns = classes.findClass(QLatin1String("Namespace"));
QVERIFY(ns);
const AbstractMetaEnum* metaEnum = ns->findEnum(QLatin1String("Option"));
@@ -78,8 +79,9 @@ void NamespaceTest::testNamespaceInnerClassMembers()
</namespace-type>\n\
</namespace-type>\n\
</typesystem>\n";
- TestUtil t(cppCode, xmlCode, false);
- AbstractMetaClassList classes = t.builder()->classes();
+ QScopedPointer<AbstractMetaBuilder> builder(TestUtil::parse(cppCode, xmlCode, false));
+ QVERIFY(!builder.isNull());
+ AbstractMetaClassList classes = builder->classes();
AbstractMetaClass* ons = classes.findClass(QLatin1String("OuterNamespace"));
QVERIFY(ons);
AbstractMetaClass* ins = classes.findClass(QLatin1String("OuterNamespace::InnerNamespace"));
diff --git a/ApiExtractor/tests/testnestedtypes.cpp b/ApiExtractor/tests/testnestedtypes.cpp
index 830a759b7..6dbdb3a71 100644
--- a/ApiExtractor/tests/testnestedtypes.cpp
+++ b/ApiExtractor/tests/testnestedtypes.cpp
@@ -57,8 +57,9 @@ void TestNestedTypes::testNestedTypesModifications()
</namespace-type>\n\
</typesystem>\n";
- TestUtil t(cppCode, xmlCode, false);
- AbstractMetaClassList classes = t.builder()->classes();
+ QScopedPointer<AbstractMetaBuilder> builder(TestUtil::parse(cppCode, xmlCode, false));
+ QVERIFY(!builder.isNull());
+ AbstractMetaClassList classes = builder->classes();
AbstractMetaClass* ons = classes.findClass(QLatin1String("OuterNamespace"));
QVERIFY(ons);
@@ -104,8 +105,9 @@ void TestNestedTypes::testDuplicationOfNestedTypes()
</namespace-type>\n\
</typesystem>\n";
- TestUtil t(cppCode, xmlCode, false);
- AbstractMetaClassList classes = t.builder()->classes();
+ QScopedPointer<AbstractMetaBuilder> builder(TestUtil::parse(cppCode, xmlCode, false));
+ QVERIFY(!builder.isNull());
+ AbstractMetaClassList classes = builder->classes();
QCOMPARE(classes.count(), 2);
AbstractMetaClass* nspace = classes.findClass(QLatin1String("Namespace"));
QVERIFY(nspace);
diff --git a/ApiExtractor/tests/testnumericaltypedef.cpp b/ApiExtractor/tests/testnumericaltypedef.cpp
index c37820628..3491d5cb4 100644
--- a/ApiExtractor/tests/testnumericaltypedef.cpp
+++ b/ApiExtractor/tests/testnumericaltypedef.cpp
@@ -45,12 +45,13 @@ void TestNumericalTypedef::testNumericalTypedef()
<function signature='funcDouble(double)'/>\n\
<function signature='funcReal(real)'/>\n\
</typesystem>\n";
- TestUtil t(cppCode, xmlCode, false);
+ QScopedPointer<AbstractMetaBuilder> builder(TestUtil::parse(cppCode, xmlCode, false));
+ QVERIFY(!builder.isNull());
- QCOMPARE(t.builder()->globalFunctions().size(), 2);
- const AbstractMetaFunction* funcDouble = t.builder()->globalFunctions().first();
+ QCOMPARE(builder->globalFunctions().size(), 2);
+ const AbstractMetaFunction* funcDouble = builder->globalFunctions().first();
QVERIFY(funcDouble);
- const AbstractMetaFunction* funcReal = t.builder()->globalFunctions().last();
+ const AbstractMetaFunction* funcReal = builder->globalFunctions().last();
QVERIFY(funcReal);
if (funcDouble->name() == QLatin1String("funcReal"))
@@ -86,12 +87,13 @@ void TestNumericalTypedef::testUnsignedNumericalTypedef()
<function signature='funcUnsignedShort(unsigned short)'/>\n\
<function signature='funcUShort(ushort)'/>\n\
</typesystem>\n";
- TestUtil t(cppCode, xmlCode, false);
+ QScopedPointer<AbstractMetaBuilder> builder(TestUtil::parse(cppCode, xmlCode, false));
+ QVERIFY(!builder.isNull());
- QCOMPARE(t.builder()->globalFunctions().size(), 2);
- const AbstractMetaFunction* funcUnsignedShort = t.builder()->globalFunctions().first();
+ QCOMPARE(builder->globalFunctions().size(), 2);
+ const AbstractMetaFunction* funcUnsignedShort = builder->globalFunctions().first();
QVERIFY(funcUnsignedShort);
- const AbstractMetaFunction* funcUShort = t.builder()->globalFunctions().last();
+ const AbstractMetaFunction* funcUShort = builder->globalFunctions().last();
QVERIFY(funcUShort);
if (funcUnsignedShort->name() == QLatin1String("funcUShort"))
diff --git a/ApiExtractor/tests/testprimitivetypetag.cpp b/ApiExtractor/tests/testprimitivetypetag.cpp
index 099cd7684..c2e176740 100644
--- a/ApiExtractor/tests/testprimitivetypetag.cpp
+++ b/ApiExtractor/tests/testprimitivetypetag.cpp
@@ -42,9 +42,10 @@ void TestPrimitiveTypeTag::testPrimitiveTypeDefaultConstructor()
<primitive-type name='A' default-constructor='A()'/>\n\
<object-type name='B'/>\n\
</typesystem>\n";
- TestUtil t(cppCode, xmlCode, false);
+ QScopedPointer<AbstractMetaBuilder> builder(TestUtil::parse(cppCode, xmlCode, false));
+ QVERIFY(!builder.isNull());
- AbstractMetaClassList classes = t.builder()->classes();
+ AbstractMetaClassList classes = builder->classes();
QCOMPARE(classes.count(), 1);
AbstractMetaClass* classB = classes.findClass(QLatin1String("B"));
QVERIFY(classB);
diff --git a/ApiExtractor/tests/testrefcounttag.cpp b/ApiExtractor/tests/testrefcounttag.cpp
index 0d7cce7d8..15f8dde98 100644
--- a/ApiExtractor/tests/testrefcounttag.cpp
+++ b/ApiExtractor/tests/testrefcounttag.cpp
@@ -50,8 +50,9 @@ void TestRefCountTag::testReferenceCountTag()
</modify-function>\n\
</object-type>\n\
</typesystem>\n";
- TestUtil t(cppCode, xmlCode, false);
- AbstractMetaClassList classes = t.builder()->classes();
+ QScopedPointer<AbstractMetaBuilder> builder(TestUtil::parse(cppCode, xmlCode, false));
+ QVERIFY(!builder.isNull());
+ AbstractMetaClassList classes = builder->classes();
AbstractMetaClass* classB = classes.findClass(QLatin1String("B"));
const AbstractMetaFunction* func = classB->findFunction(QLatin1String("keepObject"));
QVERIFY(func);
@@ -81,8 +82,9 @@ void TestRefCountTag::testWithApiVersion()
</object-type>\n\
</typesystem>\n";
- TestUtil t(cppCode, xmlCode, false, "0.1");
- AbstractMetaClassList classes = t.builder()->classes();
+ QScopedPointer<AbstractMetaBuilder> builder(TestUtil::parse(cppCode, xmlCode, false, "0.1"));
+ QVERIFY(!builder.isNull());
+ AbstractMetaClassList classes = builder->classes();
AbstractMetaClass* classB = classes.findClass(QLatin1String("B"));
const AbstractMetaFunction* func = classB->findFunction(QLatin1String("keepObject"));
QVERIFY(func);
diff --git a/ApiExtractor/tests/testreferencetopointer.cpp b/ApiExtractor/tests/testreferencetopointer.cpp
index 549643b29..1f47f0463 100644
--- a/ApiExtractor/tests/testreferencetopointer.cpp
+++ b/ApiExtractor/tests/testreferencetopointer.cpp
@@ -44,8 +44,9 @@ void TestReferenceToPointer::testReferenceToPointerArgument()
<object-type name='A'/>\n\
<object-type name='B'/>\n\
</typesystem>\n";
- TestUtil t(cppCode, xmlCode, false);
- AbstractMetaClassList classes = t.builder()->classes();
+ QScopedPointer<AbstractMetaBuilder> builder(TestUtil::parse(cppCode, xmlCode, false));
+ QVERIFY(!builder.isNull());
+ AbstractMetaClassList classes = builder->classes();
AbstractMetaClass* classB = classes.findClass(QLatin1String("B"));
QVERIFY(classB);
const AbstractMetaFunction* func = classB->findFunction(QLatin1String("dummy"));
diff --git a/ApiExtractor/tests/testremovefield.cpp b/ApiExtractor/tests/testremovefield.cpp
index c59959f0a..f5cc4611e 100644
--- a/ApiExtractor/tests/testremovefield.cpp
+++ b/ApiExtractor/tests/testremovefield.cpp
@@ -46,8 +46,9 @@ void TestRemoveField::testRemoveField()
<modify-field name='fieldB' remove='all'/>\n\
</value-type>\n\
</typesystem>\n";
- TestUtil t(cppCode, xmlCode, false);
- AbstractMetaClassList classes = t.builder()->classes();
+ QScopedPointer<AbstractMetaBuilder> builder(TestUtil::parse(cppCode, xmlCode, false));
+ QVERIFY(!builder.isNull());
+ AbstractMetaClassList classes = builder->classes();
AbstractMetaClass* classA = classes.findClass(QLatin1String("A"));
QVERIFY(classA);
QCOMPARE(classA->fields().size(), 1);
diff --git a/ApiExtractor/tests/testremoveimplconv.cpp b/ApiExtractor/tests/testremoveimplconv.cpp
index 8cd9aa05c..83804c6f3 100644
--- a/ApiExtractor/tests/testremoveimplconv.cpp
+++ b/ApiExtractor/tests/testremoveimplconv.cpp
@@ -51,8 +51,9 @@ void TestRemoveImplConv::testRemoveImplConv()
<modify-function signature='C(const A&amp;)' remove='all'/>\n\
</value-type>\n\
</typesystem>\n";
- TestUtil t(cppCode, xmlCode);
- AbstractMetaClassList classes = t.builder()->classes();
+ QScopedPointer<AbstractMetaBuilder> builder(TestUtil::parse(cppCode, xmlCode));
+ QVERIFY(!builder.isNull());
+ AbstractMetaClassList classes = builder->classes();
QCOMPARE(classes.count(), 3);
AbstractMetaClass* classA = classes.findClass(QLatin1String("A"));
QVERIFY(classA);
diff --git a/ApiExtractor/tests/testremoveoperatormethod.cpp b/ApiExtractor/tests/testremoveoperatormethod.cpp
index e579dc8b3..6fcc80278 100644
--- a/ApiExtractor/tests/testremoveoperatormethod.cpp
+++ b/ApiExtractor/tests/testremoveoperatormethod.cpp
@@ -85,8 +85,9 @@ void TestRemoveOperatorMethod::testRemoveOperatorMethod()
<modify-function signature='operator&gt;&gt;(String&amp;)' remove='all'/>\n\
</object-type>\n\
</typesystem>\n";
- TestUtil t(cppCode, xmlCode, false);
- AbstractMetaClassList classes = t.builder()->classes();
+ QScopedPointer<AbstractMetaBuilder> builder(TestUtil::parse(cppCode, xmlCode, false));
+ QVERIFY(!builder.isNull());
+ AbstractMetaClassList classes = builder->classes();
AbstractMetaClass* classA = classes.findClass(QLatin1String("A"));
QVERIFY(classA);
QCOMPARE(classA->functions().size(), 14);
diff --git a/ApiExtractor/tests/testresolvetype.cpp b/ApiExtractor/tests/testresolvetype.cpp
index 13c5d4c8d..ea1db9ffd 100644
--- a/ApiExtractor/tests/testresolvetype.cpp
+++ b/ApiExtractor/tests/testresolvetype.cpp
@@ -51,8 +51,9 @@ void TestResolveType::testResolveReturnTypeFromParentScope()
<value-type name='A::B::C'/>\n\
<value-type name='A::D'/>\n\
</typesystem>";
- TestUtil t(cppCode, xmlCode, false);
- AbstractMetaClassList classes = t.builder()->classes();
+ QScopedPointer<AbstractMetaBuilder> builder(TestUtil::parse(cppCode, xmlCode, false));
+ QVERIFY(!builder.isNull());
+ AbstractMetaClassList classes = builder->classes();
AbstractMetaClass* classD = classes.findClass(QLatin1String("A::D"));
QVERIFY(classD);
const AbstractMetaFunction* meth = classD->findFunction(QLatin1String("method"));
diff --git a/ApiExtractor/tests/testreverseoperators.cpp b/ApiExtractor/tests/testreverseoperators.cpp
index 6cdcfe754..fc7b408a4 100644
--- a/ApiExtractor/tests/testreverseoperators.cpp
+++ b/ApiExtractor/tests/testreverseoperators.cpp
@@ -44,8 +44,9 @@ void TestReverseOperators::testReverseSum()
<value-type name='A' />\n\
</typesystem>";
- TestUtil t(cppCode, xmlCode, false);
- AbstractMetaClassList classes = t.builder()->classes();
+ QScopedPointer<AbstractMetaBuilder> builder(TestUtil::parse(cppCode, xmlCode, false));
+ QVERIFY(!builder.isNull());
+ AbstractMetaClassList classes = builder->classes();
AbstractMetaClass* classA = classes.findClass(QLatin1String("A"));
QVERIFY(classA);
QCOMPARE(classA->functions().count(), 4);
@@ -87,8 +88,9 @@ void TestReverseOperators::testReverseSumWithAmbiguity()
<value-type name='B' />\n\
</typesystem>";
- TestUtil t(cppCode, xmlCode, false);
- AbstractMetaClassList classes = t.builder()->classes();
+ QScopedPointer<AbstractMetaBuilder> builder(TestUtil::parse(cppCode, xmlCode, false));
+ QVERIFY(!builder.isNull());
+ AbstractMetaClassList classes = builder->classes();
AbstractMetaClass* classA = classes.findClass(QLatin1String("A"));
QVERIFY(classA);
QCOMPARE(classA->functions().count(), 6);
diff --git a/ApiExtractor/tests/testtemplates.cpp b/ApiExtractor/tests/testtemplates.cpp
index 73bf6407c..715d3647b 100644
--- a/ApiExtractor/tests/testtemplates.cpp
+++ b/ApiExtractor/tests/testtemplates.cpp
@@ -65,8 +65,9 @@ void TestTemplates::testTemplateWithNamespace()
<value-type name='Internet::Bookmarks'/>\n\
</typesystem>").arg(file.fileName());
- TestUtil t(cppCode, qPrintable(xmlCode1), false);
- AbstractMetaClassList classes = t.builder()->classes();
+ QScopedPointer<AbstractMetaBuilder> builder(TestUtil::parse(cppCode, qPrintable(xmlCode1), false));
+ QVERIFY(!builder.isNull());
+ AbstractMetaClassList classes = builder->classes();
AbstractMetaClass* classB = classes.findClass(QLatin1String("Bookmarks"));
QVERIFY(classB);
@@ -99,8 +100,9 @@ void TestTemplates::testTemplateOnContainers()
<object-type name='Namespace::B'/>\n\
</typesystem>";
- TestUtil t(cppCode, xmlCode, false);
- AbstractMetaClassList classes = t.builder()->classes();
+ QScopedPointer<AbstractMetaBuilder> builder(TestUtil::parse(cppCode, xmlCode, false));
+ QVERIFY(!builder.isNull());
+ AbstractMetaClassList classes = builder->classes();
AbstractMetaClass* classB = classes.findClass(QLatin1String("B"));
QVERIFY(classB);
@@ -135,8 +137,9 @@ void TestTemplates::testTemplateValueAsArgument()
</typesystem>\n\
";
- TestUtil t(cppCode, xmlCode, false);
- AbstractMetaFunctionList globalFuncs = t.builder()->globalFunctions();
+ QScopedPointer<AbstractMetaBuilder> builder(TestUtil::parse(cppCode, xmlCode, false));
+ QVERIFY(!builder.isNull());
+ AbstractMetaFunctionList globalFuncs = builder->globalFunctions();
QCOMPARE(globalFuncs.count(), 1);
AbstractMetaFunction* func = globalFuncs.first();
@@ -159,8 +162,9 @@ void TestTemplates::testTemplatePointerAsArgument()
</typesystem>\n\
";
- TestUtil t(cppCode, xmlCode, false);
- AbstractMetaFunctionList globalFuncs = t.builder()->globalFunctions();
+ QScopedPointer<AbstractMetaBuilder> builder(TestUtil::parse(cppCode, xmlCode, false));
+ QVERIFY(!builder.isNull());
+ AbstractMetaFunctionList globalFuncs = builder->globalFunctions();
QCOMPARE(globalFuncs.count(), 1);
AbstractMetaFunction* func = globalFuncs.first();
@@ -183,8 +187,9 @@ void TestTemplates::testTemplateReferenceAsArgument()
</typesystem>\n\
";
- TestUtil t(cppCode, xmlCode, false);
- AbstractMetaFunctionList globalFuncs = t.builder()->globalFunctions();
+ QScopedPointer<AbstractMetaBuilder> builder(TestUtil::parse(cppCode, xmlCode, false));
+ QVERIFY(!builder.isNull());
+ AbstractMetaFunctionList globalFuncs = builder->globalFunctions();
QCOMPARE(globalFuncs.count(), 1);
AbstractMetaFunction* func = globalFuncs.first();
@@ -208,8 +213,9 @@ void TestTemplates::testTemplateParameterFixup()
<value-type name='List::Iterator'/>\n\
</typesystem>\n";
- TestUtil t(cppCode, xmlCode, false);
- const AbstractMetaClassList templates = t.builder()->templates();
+ QScopedPointer<AbstractMetaBuilder> builder(TestUtil::parse(cppCode, xmlCode, false));
+ QVERIFY(!builder.isNull());
+ const AbstractMetaClassList templates = builder->templates();
QCOMPARE(templates.count(), 1);
const AbstractMetaClass *list = templates.first();
@@ -248,9 +254,10 @@ void TestTemplates::testInheritanceFromContainterTemplate()
</typesystem>\n\
";
- TestUtil t(cppCode, xmlCode, false);
- AbstractMetaClassList classes = t.builder()->classes();
- AbstractMetaClassList templates = t.builder()->templates();
+ QScopedPointer<AbstractMetaBuilder> builder(TestUtil::parse(cppCode, xmlCode, false));
+ QVERIFY(!builder.isNull());
+ AbstractMetaClassList classes = builder->classes();
+ AbstractMetaClassList templates = builder->templates();
QCOMPARE(classes.count(), 2);
QCOMPARE(templates.count(), 1);
@@ -283,8 +290,9 @@ void TestTemplates::testTemplateInheritanceMixedWithForwardDeclaration()
<value-type name='Future' generate='no'/>\n\
</typesystem>";
- TestUtil t(cppCode, xmlCode, false);
- AbstractMetaClassList classes = t.builder()->classes();
+ QScopedPointer<AbstractMetaBuilder> builder(TestUtil::parse(cppCode, xmlCode, false));
+ QVERIFY(!builder.isNull());
+ AbstractMetaClassList classes = builder->classes();
AbstractMetaClass* classB = classes.findClass(QLatin1String("B"));
QVERIFY(classB);
@@ -319,8 +327,9 @@ void TestTemplates::testTemplateInheritanceMixedWithNamespaceAndForwardDeclarati
<value-type name='Namespace::Future' generate='no'/>\n\
</typesystem>";
- TestUtil t(cppCode, xmlCode, false);
- AbstractMetaClassList classes = t.builder()->classes();
+ QScopedPointer<AbstractMetaBuilder> builder(TestUtil::parse(cppCode, xmlCode, false));
+ QVERIFY(!builder.isNull());
+ AbstractMetaClassList classes = builder->classes();
AbstractMetaClass* classB = classes.findClass(QLatin1String("Namespace::B"));
QVERIFY(classB);
@@ -355,8 +364,9 @@ void TestTemplates::testTypedefOfInstantiationOfTemplateClass()
</typesystem>\n\
";
- TestUtil t(cppCode, xmlCode, false);
- AbstractMetaClassList classes = t.builder()->classes();
+ QScopedPointer<AbstractMetaBuilder> builder(TestUtil::parse(cppCode, xmlCode, false));
+ QVERIFY(!builder.isNull());
+ AbstractMetaClassList classes = builder->classes();
QCOMPARE(classes.count(), 3);
const AbstractMetaClass* base = classes.findClass(QLatin1String("BaseTemplateClass"));
@@ -403,8 +413,9 @@ void TestTemplates::testContainerTypeIncompleteArgument()
<value-type name='IntVector'/>\n\
</typesystem>";
- TestUtil t(cppCode, xmlCode, true);
- AbstractMetaClassList classes = t.builder()->classes();
+ QScopedPointer<AbstractMetaBuilder> builder(TestUtil::parse(cppCode, xmlCode, true));
+ QVERIFY(!builder.isNull());
+ AbstractMetaClassList classes = builder->classes();
QCOMPARE(classes.count(), 1);
AbstractMetaClass* vector = classes.findClass(QLatin1String("IntVector"));
diff --git a/ApiExtractor/tests/testtyperevision.cpp b/ApiExtractor/tests/testtyperevision.cpp
index 4c4097ac8..fc67917be 100644
--- a/ApiExtractor/tests/testtyperevision.cpp
+++ b/ApiExtractor/tests/testtyperevision.cpp
@@ -45,8 +45,9 @@ void TestTypeRevision::testRevisionAttr()
" <enum-type name=\"Rev_5\" revision=\"5\" flags=\"Flag_5\" />"
"</object-type>"
"</typesystem>";
- TestUtil t(cppCode, xmlCode);
- AbstractMetaClassList classes = t.builder()->classes();
+ QScopedPointer<AbstractMetaBuilder> builder(TestUtil::parse(cppCode, xmlCode));
+ QVERIFY(!builder.isNull());
+ AbstractMetaClassList classes = builder->classes();
AbstractMetaClass* rev0 = classes.findClass(QLatin1String("Rev_0"));
QCOMPARE(getTypeRevision(rev0->typeEntry()), 0);
diff --git a/ApiExtractor/tests/testutil.h b/ApiExtractor/tests/testutil.h
index ef712e9dc..81c35bdf6 100644
--- a/ApiExtractor/tests/testutil.h
+++ b/ApiExtractor/tests/testutil.h
@@ -33,16 +33,14 @@
#include "reporthandler.h"
#include "typedatabase.h"
-class TestUtil
+namespace TestUtil
{
-public:
- TestUtil(const char* cppCode, const char* xmlCode,
- bool silent = true, const char* apiVersion = 0,
- QStringList dropTypeEntries = QStringList())
- : m_builder(0)
+ static AbstractMetaBuilder *parse(const char *cppCode, const char *xmlCode,
+ bool silent = true,
+ const char *apiVersion = Q_NULLPTR,
+ const QStringList &dropTypeEntries = QStringList())
{
ReportHandler::setSilent(silent);
- m_builder = new AbstractMetaBuilder;
TypeDatabase* td = TypeDatabase::instance(true);
if (apiVersion)
td->setApiVersion(QLatin1String("*"), apiVersion);
@@ -54,24 +52,13 @@ public:
buffer.close();
// parse C++ code
buffer.setData(cppCode);
- bool res = m_builder->build(&buffer);
- Q_UNUSED(res);
- Q_ASSERT(res);
+ AbstractMetaBuilder *builder = new AbstractMetaBuilder;
+ if (!builder->build(&buffer)) {
+ delete builder;
+ return Q_NULLPTR;
+ }
+ return builder;
}
-
- ~TestUtil()
- {
- delete m_builder;
- m_builder = 0;
- }
-
- AbstractMetaBuilder* builder()
- {
- return m_builder;
- }
-
-private:
- AbstractMetaBuilder* m_builder;
-};
+} // namespace TestUtil
#endif
diff --git a/ApiExtractor/tests/testvaluetypedefaultctortag.cpp b/ApiExtractor/tests/testvaluetypedefaultctortag.cpp
index 728aed2de..deadd1435 100644
--- a/ApiExtractor/tests/testvaluetypedefaultctortag.cpp
+++ b/ApiExtractor/tests/testvaluetypedefaultctortag.cpp
@@ -46,8 +46,10 @@ void TestValueTypeDefaultCtorTag::testValueTypeDefaultCtorTagArgument()
<value-type name='A' default-constructor='A(0, 0)' />\n\
<value-type name='B' />\n\
</typesystem>";
- TestUtil t(cppCode, xmlCode, false);
- AbstractMetaClassList classes = t.builder()->classes();
+ QScopedPointer<AbstractMetaBuilder> builder(TestUtil::parse(cppCode, xmlCode, false));
+ QVERIFY(!builder.isNull());
+
+ AbstractMetaClassList classes = builder->classes();
AbstractMetaClass* classA = classes.findClass(QLatin1String("A"));
QVERIFY(classA);
diff --git a/ApiExtractor/tests/testvoidarg.cpp b/ApiExtractor/tests/testvoidarg.cpp
index 5b5de5c23..a13cab7bd 100644
--- a/ApiExtractor/tests/testvoidarg.cpp
+++ b/ApiExtractor/tests/testvoidarg.cpp
@@ -39,8 +39,9 @@ void TestVoidArg::testVoidParsedFunction()
<typesystem package=\"Foo\">\n\
<value-type name='A'/>\n\
</typesystem>";
- TestUtil t(cppCode, xmlCode);
- AbstractMetaClassList classes = t.builder()->classes();
+ QScopedPointer<AbstractMetaBuilder> builder(TestUtil::parse(cppCode, xmlCode));
+ QVERIFY(!builder.isNull());
+ AbstractMetaClassList classes = builder->classes();
AbstractMetaClass* classA = classes.findClass(QLatin1String("A"));
QVERIFY(classA);
const AbstractMetaFunction* addedFunc = classA->findFunction(QLatin1String("a"));
@@ -56,8 +57,9 @@ void TestVoidArg::testVoidAddedFunction()
<add-function signature=\"a(void)\"/>\n\
</value-type>\n\
</typesystem>";
- TestUtil t(cppCode, xmlCode);
- AbstractMetaClassList classes = t.builder()->classes();
+ QScopedPointer<AbstractMetaBuilder> builder(TestUtil::parse(cppCode, xmlCode));
+ QVERIFY(!builder.isNull());
+ AbstractMetaClassList classes = builder->classes();
AbstractMetaClass* classA = classes.findClass(QLatin1String("A"));
QVERIFY(classA);
const AbstractMetaFunction* addedFunc = classA->findFunction(QLatin1String("a"));
@@ -72,8 +74,9 @@ void TestVoidArg::testVoidPointerParsedFunction()
<typesystem package=\"Foo\">\n\
<value-type name='A' />\n\
</typesystem>";
- TestUtil t(cppCode, xmlCode);
- AbstractMetaClassList classes = t.builder()->classes();
+ QScopedPointer<AbstractMetaBuilder> builder(TestUtil::parse(cppCode, xmlCode));
+ QVERIFY(!builder.isNull());
+ AbstractMetaClassList classes = builder->classes();
AbstractMetaClass* classA = classes.findClass(QLatin1String("A"));
QVERIFY(classA);
const AbstractMetaFunction* addedFunc = classA->findFunction(QLatin1String("a"));