aboutsummaryrefslogtreecommitdiffstats
path: root/tests/testnamespace.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'tests/testnamespace.cpp')
-rw-r--r--tests/testnamespace.cpp29
1 files changed, 29 insertions, 0 deletions
diff --git a/tests/testnamespace.cpp b/tests/testnamespace.cpp
index a860b35eb..3833700a7 100644
--- a/tests/testnamespace.cpp
+++ b/tests/testnamespace.cpp
@@ -51,6 +51,35 @@ void TestNamespace::testNamespaceMembers()
QVERIFY(func);
}
+void TestNamespace::testNamespaceInnerClassMembers()
+{
+ const char* cppCode = "\
+ namespace OuterNamespace\
+ {\
+ namespace InnerNamespace {\
+ struct SomeClass {\
+ void method();\
+ };\
+ };\
+ };";
+ const char* xmlCode = "\
+ <typesystem package='Foo'> \
+ <namespace-type name='OuterNamespace' />\
+ <namespace-type name='OuterNamespace::InnerNamespace' />\
+ <value-type name='OuterNamespace::InnerNamespace::SomeClass' /> \
+ </typesystem>";
+ TestUtil t(cppCode, xmlCode, false);
+ AbstractMetaClassList classes = t.builder()->classes();
+ AbstractMetaClass* ons = classes.findClass("OuterNamespace");
+ QVERIFY(ons);
+ AbstractMetaClass* ins = classes.findClass("OuterNamespace::InnerNamespace");
+ QVERIFY(ins);
+ AbstractMetaClass* sc = classes.findClass("OuterNamespace::InnerNamespace::SomeClass");
+ QVERIFY(sc);
+ const AbstractMetaFunction* meth = sc->findFunction("method");
+ QVERIFY(meth);
+}
+
QTEST_APPLESS_MAIN(TestNamespace)
#include "testnamespace.moc"