diff options
author | Cristian Maureira-Fredes <Cristian.Maureira-Fredes@qt.io> | 2020-03-30 10:07:56 +0200 |
---|---|---|
committer | Cristian Maureira-Fredes <Cristian.Maureira-Fredes@qt.io> | 2020-03-30 10:07:56 +0200 |
commit | d2be09eef06241cd4c9eb7a0ca1a993dc2355f02 (patch) | |
tree | 4cd15a74c0629e76a41b30d2e02d22e998fb509d /sources/shiboken2/ApiExtractor/tests/testabstractmetaclass.cpp | |
parent | ad73193e99fef8f5d1bcf095075596dca88949c1 (diff) | |
parent | d47fb98e443e3ac5cb18850b2551143c713917f0 (diff) |
Merge branch '5.14' into 5.14.2v5.14.2
Change-Id: I3f76bc2b1d401d901d6ac5bc74874b0894bf3df9
Diffstat (limited to 'sources/shiboken2/ApiExtractor/tests/testabstractmetaclass.cpp')
-rw-r--r-- | sources/shiboken2/ApiExtractor/tests/testabstractmetaclass.cpp | 27 |
1 files changed, 27 insertions, 0 deletions
diff --git a/sources/shiboken2/ApiExtractor/tests/testabstractmetaclass.cpp b/sources/shiboken2/ApiExtractor/tests/testabstractmetaclass.cpp index b85a022b3..f2e15fdb0 100644 --- a/sources/shiboken2/ApiExtractor/tests/testabstractmetaclass.cpp +++ b/sources/shiboken2/ApiExtractor/tests/testabstractmetaclass.cpp @@ -195,6 +195,33 @@ public: QCOMPARE(funcC->implementingClass(), c); } +void TestAbstractMetaClass::testVirtualBase() +{ + const char cppCode[] =R"CPP( +class Base { +public: + virtual ~Base() = default; +}; +class Derived : public Base {}; +)CPP"; + + const char xmlCode[] = R"XML( +<typesystem package="Foo"> + <object-type name='Base'/> + <object-type name='Derived'/> +</typesystem> +)XML"; + QScopedPointer<AbstractMetaBuilder> builder(TestUtil::parse(cppCode, xmlCode)); + QVERIFY(!builder.isNull()); + AbstractMetaClassList classes = builder->classes(); + auto base = AbstractMetaClass::findClass(classes, QLatin1String("Base")); + QVERIFY(base); + QVERIFY(base->isPolymorphic()); + auto derived = AbstractMetaClass::findClass(classes, QLatin1String("Derived")); + QVERIFY(derived); + QVERIFY(derived->isPolymorphic()); +} + void TestAbstractMetaClass::testDefaultValues() { const char* cppCode ="\ |