Browse Source

Fix custom scaffolder using the wrong custom template filename to generate code.

pull/28/head
Matt Ward 13 years ago
parent
commit
65f408cd4a
  1. 8
      src/AddIns/Misc/PackageManagement/Project/Src/EnvDTE/DirectoryProjectItem.cs
  2. 23
      src/AddIns/Misc/PackageManagement/Test/Src/EnvDTE/ProjectItemsTests.cs

8
src/AddIns/Misc/PackageManagement/Project/Src/EnvDTE/DirectoryProjectItem.cs

@ -29,10 +29,10 @@ namespace ICSharpCode.PackageManagement.EnvDTE
static string GetLastDirectoryName(string relativePath) static string GetLastDirectoryName(string relativePath)
{ {
string[] directoryNames = relativePath.Split('\\'); // string[] directoryNames = relativePath.Split('\\');
if (directoryNames.Length > 1) { // if (directoryNames.Length > 1) {
return directoryNames[1]; // return directoryNames[1];
} // }
return relativePath; return relativePath;
} }

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

@ -57,6 +57,13 @@ namespace PackageManagement.Tests.EnvDTE
return projectBrowserUpdater; return projectBrowserUpdater;
} }
DTE.ProjectItem GetChildItem(ProjectItems projectItems, string name)
{
return projectItems
.OfType<DTE.ProjectItem>()
.SingleOrDefault(item => item.Name == name);
}
[Test] [Test]
public void AddFromFileCopy_AddFileNameOutsideProjectFolder_FileIsIncludedInProjectInProjectFolder() public void AddFromFileCopy_AddFileNameOutsideProjectFolder_FileIsIncludedInProjectInProjectFolder()
{ {
@ -665,5 +672,21 @@ namespace PackageManagement.Tests.EnvDTE
projectBrowserUpdater.AssertWasCalled(updater => updater.Dispose()); projectBrowserUpdater.AssertWasCalled(updater => updater.Dispose());
} }
[Test]
public void GetEnumerator_ProjectHasOneFileInFolderTwoLevelsDeep_FolderTwoLevelsDeepFullPathIsFullDirectoryName()
{
CreateProjectItems();
msbuildProject.FileName = @"d:\projects\MyProject\MyProject.csproj";
msbuildProject.AddFile(@"CodeTemplates\Scaffolders\Program.cs");
DTE.ProjectItem codeTemplatesFolderItem = GetChildItem(projectItems, "CodeTemplates");
DTE.ProjectItem scaffolderFolderItem = GetChildItem(codeTemplatesFolderItem.ProjectItems, "Scaffolders");
string directory = (string)scaffolderFolderItem.Properties.Item(DTE.ProjectItem.FullPathPropertyName).Value;
string expectedDirectory = @"d:\projects\MyProject\CodeTemplates\Scaffolders";
Assert.AreEqual(expectedDirectory, directory);
}
} }
} }

Loading…
Cancel
Save