Browse Source

Fix errors when uninstalling jQuery NuGet package.

pull/16/merge
Matt Ward 14 years ago
parent
commit
09d3724f90
  1. 19
      src/AddIns/Misc/PackageManagement/Project/Src/EnvDTE/ProjectProperty.cs
  2. 26
      src/AddIns/Misc/PackageManagement/Test/Src/EnvDTE/ProjectPropertyTests.cs

19
src/AddIns/Misc/PackageManagement/Project/Src/EnvDTE/ProjectProperty.cs

@ -25,13 +25,25 @@ namespace ICSharpCode.PackageManagement.EnvDTE @@ -25,13 +25,25 @@ namespace ICSharpCode.PackageManagement.EnvDTE
if (IsTargetFrameworkMoniker(Name)) {
return GetTargetFrameworkMoniker();
} else if (IsFullPath(Name)) {
return GetFullPath();
}
return EmptyStringIfNull(value);
}
bool IsTargetFrameworkMoniker(string name)
{
return String.Equals(name, "TargetFrameworkMoniker", StringComparison.InvariantCultureIgnoreCase);
return IsCaseInsensitiveMatch(name, "TargetFrameworkMoniker");
}
bool IsFullPath(string name)
{
return IsCaseInsensitiveMatch(name, "FullPath");
}
bool IsCaseInsensitiveMatch(string a, string b)
{
return String.Equals(a, b, StringComparison.InvariantCultureIgnoreCase);
}
string GetTargetFrameworkMoniker()
@ -44,6 +56,11 @@ namespace ICSharpCode.PackageManagement.EnvDTE @@ -44,6 +56,11 @@ namespace ICSharpCode.PackageManagement.EnvDTE
get { return project.MSBuildProject; }
}
string GetFullPath()
{
return MSBuildProject.Directory;
}
string EmptyStringIfNull(string value)
{
if (value != null) {

26
src/AddIns/Misc/PackageManagement/Test/Src/EnvDTE/ProjectPropertyTests.cs

@ -126,5 +126,31 @@ namespace PackageManagement.Tests.EnvDTE @@ -126,5 +126,31 @@ namespace PackageManagement.Tests.EnvDTE
Assert.AreEqual("4.0", targetFrameworkVersion);
}
[Test]
public void Value_GetFullPathProperty_ReturnsProjectDirectory()
{
CreateProperties();
msbuildProject.FileName = @"d:\projects\MyProject\MyProject.csproj";
Property fullPathProperty = project.Properties.Item("FullPath");
string fullPath = fullPathProperty.Value as string;
string expectedFullPath = @"d:\projects\MyProject";
Assert.AreEqual(expectedFullPath, fullPath);
}
[Test]
public void Value_GetFullPathPropertyWithUpperCaseCharacters_ReturnsProjectDirectory()
{
CreateProperties();
msbuildProject.FileName = @"d:\projects\MyProject\MyProject.csproj";
Property fullPathProperty = project.Properties.Item("FULLPATH");
string fullPath = fullPathProperty.Value as string;
string expectedFullPath = @"d:\projects\MyProject";
Assert.AreEqual(expectedFullPath, fullPath);
}
}
}

Loading…
Cancel
Save