From 007442264ec64071abceede296c47f3bbf162776 Mon Sep 17 00:00:00 2001 From: Marcelo Lira Date: Tue, 29 Jun 2010 17:16:19 -0300 Subject: Added test for class member inside a two nested namespaces. --- tests/testnamespace.cpp | 29 +++++++++++++++++++++++++++++ tests/testnamespace.h | 1 + 2 files changed, 30 insertions(+) (limited to 'tests') 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 = "\ + \ + \ + \ + \ + "; + 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" diff --git a/tests/testnamespace.h b/tests/testnamespace.h index 69595d141..77f24eb9b 100644 --- a/tests/testnamespace.h +++ b/tests/testnamespace.h @@ -31,6 +31,7 @@ class TestNamespace : public QObject Q_OBJECT private slots: void testNamespaceMembers(); + void testNamespaceInnerClassMembers(); }; #endif -- cgit v1.2.3