From 2236d656664f6a07e52ffde474b5c7d6e5b78467 Mon Sep 17 00:00:00 2001 From: Renato Filho Date: Thu, 24 Jun 2010 16:30:46 -0300 Subject: Created test for namespace resolution name. Reviewer: Luciano Wolf , Marcelo Lira --- tests/testtemplates.cpp | 43 +++++++++++++++++++++++++++++++++++++++++++ tests/testtemplates.h | 1 + 2 files changed, 44 insertions(+) diff --git a/tests/testtemplates.cpp b/tests/testtemplates.cpp index d52eed15a..19bc32eca 100644 --- a/tests/testtemplates.cpp +++ b/tests/testtemplates.cpp @@ -23,8 +23,51 @@ #include "testtemplates.h" #include +#include #include "testutil.h" +void TestTemplates::testTemplateWithNamespace() +{ + const char cppCode[] = "\ + struct Url {\ + void name();\ + };\ + namespace Internet {\ + struct Url{};\ + struct Bookmarks {\ + QList list();\ + };\ + }"; + const char xmlCode0[] = "\ + \ + \ + "; + + QTemporaryFile file; + QVERIFY(file.open()); + file.write(xmlCode0); + file.close(); + + QString xmlCode1 = QString("\ + \ + \ + \ + \ + \ + \ + ").arg(file.fileName()); + + TestUtil t(cppCode, qPrintable(xmlCode1), false); + AbstractMetaClassList classes = t.builder()->classes(); + + AbstractMetaClass* classB = classes.findClass("Bookmarks"); + QVERIFY(classB); + const AbstractMetaFunction* func = classB->findFunction("list"); + AbstractMetaType* funcType = func->type(); + QVERIFY(funcType); + QCOMPARE(funcType->cppSignature(), QString("QList")); +} + void TestTemplates::testTemplateOnContainers() { const char cppCode[] = "\ diff --git a/tests/testtemplates.h b/tests/testtemplates.h index 5c6e85a06..b04002a75 100644 --- a/tests/testtemplates.h +++ b/tests/testtemplates.h @@ -31,6 +31,7 @@ class TestTemplates : public QObject Q_OBJECT private slots: void testTemplateOnContainers(); + void testTemplateWithNamespace(); }; #endif -- cgit v1.2.3