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
if (IsTargetFrameworkMoniker(Name)) { if (IsTargetFrameworkMoniker(Name)) {
return GetTargetFrameworkMoniker(); return GetTargetFrameworkMoniker();
} else if (IsFullPath(Name)) {
return GetFullPath();
} }
return EmptyStringIfNull(value); return EmptyStringIfNull(value);
} }
bool IsTargetFrameworkMoniker(string name) 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() string GetTargetFrameworkMoniker()
@ -44,6 +56,11 @@ namespace ICSharpCode.PackageManagement.EnvDTE
get { return project.MSBuildProject; } get { return project.MSBuildProject; }
} }
string GetFullPath()
{
return MSBuildProject.Directory;
}
string EmptyStringIfNull(string value) string EmptyStringIfNull(string value)
{ {
if (value != null) { if (value != null) {

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

@ -126,5 +126,31 @@ namespace PackageManagement.Tests.EnvDTE
Assert.AreEqual("4.0", targetFrameworkVersion); 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