Browse Source

PowerShell scripts can now access the FullPath property for project items.

pull/15/head
Matt Ward 15 years ago
parent
commit
eeb3684f47
  1. 4
      src/AddIns/Misc/PackageManagement/Project/Src/EnvDTE/ProjectItem.cs
  2. 3
      src/AddIns/Misc/PackageManagement/Project/Src/EnvDTE/ProjectItemPropertyFactory.cs
  3. 22
      src/AddIns/Misc/PackageManagement/Test/Src/EnvDTE/ProjectItemPropertyTests.cs

4
src/AddIns/Misc/PackageManagement/Project/Src/EnvDTE/ProjectItem.cs

@ -13,8 +13,10 @@ namespace ICSharpCode.PackageManagement.EnvDTE @@ -13,8 +13,10 @@ namespace ICSharpCode.PackageManagement.EnvDTE
public class ProjectItem
{
SD.FileProjectItem projectItem;
public const string CopyToOutputDirectoryPropertyName = "CopyToOutputDirectory";
public const string CustomToolPropertyName = "CustomTool";
public const string FullPathPropertyName = "FullPath";
public ProjectItem(Project project, FileProjectItem projectItem)
{
@ -44,6 +46,8 @@ namespace ICSharpCode.PackageManagement.EnvDTE @@ -44,6 +46,8 @@ namespace ICSharpCode.PackageManagement.EnvDTE
return GetCopyToOutputDirectory();
} else if (name == CustomToolPropertyName) {
return projectItem.CustomTool;
} else if (name == FullPathPropertyName) {
return projectItem.FileName;
}
return String.Empty;
}

3
src/AddIns/Misc/PackageManagement/Project/Src/EnvDTE/ProjectItemPropertyFactory.cs

@ -23,7 +23,8 @@ namespace ICSharpCode.PackageManagement.EnvDTE @@ -23,7 +23,8 @@ namespace ICSharpCode.PackageManagement.EnvDTE
public IEnumerator<Property> GetEnumerator()
{
yield return new ProjectItemProperty(projectItem, ProjectItem.CopyToOutputDirectoryPropertyName);
yield return new ProjectItemProperty(projectItem, "CustomTool");
yield return new ProjectItemProperty(projectItem, ProjectItem.CustomToolPropertyName);
yield return new ProjectItemProperty(projectItem, ProjectItem.FullPathPropertyName);
}
}
}

22
src/AddIns/Misc/PackageManagement/Test/Src/EnvDTE/ProjectItemPropertyTests.cs

@ -145,5 +145,27 @@ namespace PackageManagement.Tests.EnvDTE @@ -145,5 +145,27 @@ namespace PackageManagement.Tests.EnvDTE
Assert.AreEqual("CustomTool", property.Name);
}
[Test]
public void Value_GetFullPath_ReturnsProjectItemFullFileName()
{
CreateProjectItemProperties();
msbuildFileProjectItem.FileName = @"d:\projects\test.cs";
string path = properties.Item("FullPath").Value as string;
Assert.AreEqual(@"d:\projects\test.cs", path);
}
[Test]
public void GetEnumerator_FindFullPathPropertyInAllProperties_ReturnsPropertyWithFullPathName()
{
CreateProjectItemProperties();
var projectItemProperties = new List<Property>(properties);
var property = projectItemProperties.Find(p => p.Name == "FullPath");
Assert.AreEqual("FullPath", property.Name);
}
}
}

Loading…
Cancel
Save