Browse Source

Ignore directory name casing in EnvDTE.ProjectItems.

pull/28/head
Matt Ward 13 years ago
parent
commit
2c51101245
  1. 2
      src/AddIns/Misc/PackageManagement/Project/Src/EnvDTE/ChildProjectItems.cs
  2. 16
      src/AddIns/Misc/PackageManagement/Test/Src/EnvDTE/ProjectItemsTests.cs

2
src/AddIns/Misc/PackageManagement/Project/Src/EnvDTE/ChildProjectItems.cs

@ -62,7 +62,7 @@ namespace ICSharpCode.PackageManagement.EnvDTE @@ -62,7 +62,7 @@ namespace ICSharpCode.PackageManagement.EnvDTE
bool SeenChildProjectItemBefore(ProjectItem childProjectItem)
{
if (ProjectItems.Any(item => item.Name == childProjectItem.Name)) {
if (ProjectItems.Any(item => item.IsMatchByName(childProjectItem.Name))) {
return true;
}
ProjectItems.Add(childProjectItem);

16
src/AddIns/Misc/PackageManagement/Test/Src/EnvDTE/ProjectItemsTests.cs

@ -779,5 +779,21 @@ namespace PackageManagement.Tests.EnvDTE @@ -779,5 +779,21 @@ namespace PackageManagement.Tests.EnvDTE
Assert.AreEqual(1, childItems.Count);
Assert.AreEqual("duplicate.cs", duplicateFileItem.Name);
}
[Test]
public void GetEnumerator_ProjectHasTwoFilesInFolderTwoLevelsDeepButParentFolderHasDifferentCase_TopLevelFolderOnlyHasOneProjectItemForChildFolder()
{
CreateProjectItems();
msbuildProject.FileName = @"d:\projects\MyProject\MyProject.csproj";
msbuildProject.AddFile(@"CodeTemplates\Scaffolders\File1.cs");
msbuildProject.AddFile(@"CodeTemplates\SCAFFOLDERS\File2.cs");
DTE.ProjectItem codeTemplatesFolderItem = GetChildItem(projectItems, "CodeTemplates");
List<DTE.ProjectItem> childItems = GetAllChildItems(codeTemplatesFolderItem.ProjectItems);
DTE.ProjectItem scaffoldersFolderItem = childItems.FirstOrDefault();
Assert.AreEqual(1, childItems.Count);
Assert.AreEqual("Scaffolders", scaffoldersFolderItem.Name);
}
}
}

Loading…
Cancel
Save