aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorFriedemann Kleint <Friedemann.Kleint@qt.io>2017-03-13 12:58:35 +0100
committerFriedemann Kleint <Friedemann.Kleint@qt.io>2017-03-13 13:39:19 +0000
commit10991bf26e1cf938e5df1c3c1cec5adf44b3b5eb (patch)
treed3280095acece0f43aad94193507bda6008af9e2
parent9bad5b23dd1ed7274273fd8ad882c3f6acc6ccd8 (diff)
Refactor TestUtil of ApiExtractor
Change the class TestUtil to a namespace containing a free function returning the AbstractMetaBuilder instance on success. Use QScopedPointer in the tests and add checks. This makes it possible to detect parse errors which would previously only trigger an assert. Change-Id: Iea3a8fb62515602c76b10eab4889400af5b26b34 Reviewed-by: Christian Tismer <tismer@stackless.com>
-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 f9c7cfe..7fc5c1f 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 dfe13e0..735ccc2 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 6130658..66ae055 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 4209da0..5a99dcf 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 d000dbf..3ed8872 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 47a2983..ccc6d6b 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 6d0b451..da8d747 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 c78d230..5a815b2 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 5ec295b..582ec27 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 53b1269..a64e954 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 0425a4d..c20cf24 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 c5b3fa3..3a90f8e 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 0a84d18..e208a37 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 9d2e4c4..a29d740 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 fa65f21..fc97a60 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 ab849fa..3205ceb 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 9ca63e2..ab68082 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 8f1dc02..7e61e56 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 30c8d97..01c0534 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 ec35c35..1a691e6 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 830a759..6dbdb3a 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 c378206..3491d5c 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 099cd76..c2e1767 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 0d7cce7..15f8dde 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 549643b..1f47f04 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 c59959f..f5cc461 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 8cd9aa0..83804c6 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 e579dc8..6fcc802 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 13c5d4c..ea1db9f 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 6cdcfe7..fc7b408 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 73bf640..715d364 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 4c4097a..fc67917 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 ef712e9..81c35bd 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 728aed2..deadd14 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 5b5de5c..a13cab7 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"));