aboutsummaryrefslogtreecommitdiffstats
path: root/tests/testabstractmetatype.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'tests/testabstractmetatype.cpp')
-rw-r--r--tests/testabstractmetatype.cpp35
1 files changed, 35 insertions, 0 deletions
diff --git a/tests/testabstractmetatype.cpp b/tests/testabstractmetatype.cpp
index 81e194fd3..207ec88f0 100644
--- a/tests/testabstractmetatype.cpp
+++ b/tests/testabstractmetatype.cpp
@@ -52,6 +52,41 @@ void TestAbstractMetaType::testConstCharPtrType()
QVERIFY(!rtype->isValuePointer());
}
+void TestAbstractMetaType::testApiVersionSupported()
+{
+ const char* cppCode ="class foo {}; class foo2 {};\
+ void justAtest(); void justAtest3();";
+ const char* xmlCode = "<typesystem package='Foo'>\
+ <value-type name='foo' since='0.1'/>\
+ <value-type name='foo2' since='1.0'/>\
+ <value-type name='foo3' since='1.1'/>\
+ <function signature='justAtest()' since='0.1'/>\
+ <function signature='justAtest2()' since='1.1'/>\
+ <function signature='justAtest3()'/>\
+ </typesystem>";
+ TestUtil t(cppCode, xmlCode, false, 1.0);
+
+ AbstractMetaClassList classes = t.builder()->classes();
+ QCOMPARE(classes.size(), 2);
+
+
+ AbstractMetaFunctionList functions = t.builder()->globalFunctions();
+ QCOMPARE(functions.size(), 2);
+}
+
+
+void TestAbstractMetaType::testApiVersionNotSupported()
+{
+ const char* cppCode ="class object {};";
+ const char* xmlCode = "<typesystem package='Foo'>\
+ <value-type name='object' since='0.1'/>\
+ </typesystem>";
+ TestUtil t(cppCode, xmlCode, true, 0.1);
+
+ AbstractMetaClassList classes = t.builder()->classes();
+ QCOMPARE(classes.size(), 1);
+}
+
void TestAbstractMetaType::testCharType()
{
const char* cppCode ="char justAtest(); class A {};";