From debe1eae9938c7f3aa00fa0f5316b26265dc343f Mon Sep 17 00:00:00 2001 From: Matt Ward Date: Sat, 1 Sep 2012 12:18:55 +0100 Subject: [PATCH] Fix incorrect namespace returned for EnvDTE.CodeType. The last part of the namespace was being returned by CodeNamespace.Name for a CodeType instead of the fully qualified name. --- .../Project/Src/EnvDTE/CodeType.cs | 2 +- .../Test/Src/EnvDTE/CodeClass2Tests.cs | 13 +++++++++++++ 2 files changed, 14 insertions(+), 1 deletion(-) diff --git a/src/AddIns/Misc/PackageManagement/Project/Src/EnvDTE/CodeType.cs b/src/AddIns/Misc/PackageManagement/Project/Src/EnvDTE/CodeType.cs index eb7838dfc5..25b9df8a8b 100644 --- a/src/AddIns/Misc/PackageManagement/Project/Src/EnvDTE/CodeType.cs +++ b/src/AddIns/Misc/PackageManagement/Project/Src/EnvDTE/CodeType.cs @@ -67,7 +67,7 @@ namespace ICSharpCode.PackageManagement.EnvDTE } public virtual CodeNamespace Namespace { - get { return new CodeNamespace(ProjectContent, Class.Namespace); } + get { return new FileCodeModelCodeNamespace(ProjectContent, Class.Namespace); } } public virtual ProjectItem ProjectItem { diff --git a/src/AddIns/Misc/PackageManagement/Test/Src/EnvDTE/CodeClass2Tests.cs b/src/AddIns/Misc/PackageManagement/Test/Src/EnvDTE/CodeClass2Tests.cs index a9553b652a..bf558de996 100644 --- a/src/AddIns/Misc/PackageManagement/Test/Src/EnvDTE/CodeClass2Tests.cs +++ b/src/AddIns/Misc/PackageManagement/Test/Src/EnvDTE/CodeClass2Tests.cs @@ -269,6 +269,19 @@ namespace PackageManagement.Tests.EnvDTE Assert.AreEqual("MyNamespace.Test", codeNamespace.FullName); } + [Test] + public void Namespace_PublicClassAndNamespaceNameChecked_ReturnsFullyQualifiedClassNamespace() + { + CreateProjectContent(); + helper.CreatePublicClass("MyNamespace.Test.MyClass"); + helper.AddClassNamespace("MyNamespace.Test"); + CreateClass(); + + CodeNamespace codeNamespace = codeClass.Namespace; + + Assert.AreEqual("MyNamespace.Test", codeNamespace.Name); + } + [Test] public void PartialClasses_ClassIsNotPartial_ReturnsClass() {