aboutsummaryrefslogtreecommitdiffstats
path: root/ApiExtractor
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 /ApiExtractor
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>
Diffstat (limited to 'ApiExtractor')
-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"));