Browse Source

PowerShell scripts can now search for references by name.

pull/15/head
Matt Ward 14 years ago
parent
commit
16806ea5a5
  1. 20
      src/AddIns/Misc/PackageManagement/Project/Src/EnvDTE/References.cs
  2. 33
      src/AddIns/Misc/PackageManagement/Test/Src/EnvDTE/ReferencesTests.cs

20
src/AddIns/Misc/PackageManagement/Project/Src/EnvDTE/References.cs

@ -54,5 +54,25 @@ namespace ICSharpCode.PackageManagement.EnvDTE
{ {
return GetEnumerator(); return GetEnumerator();
} }
public Reference Item(string identity)
{
return Find(identity);
}
public Reference Find(string identity)
{
foreach (Reference reference in this) {
if (IsMatch(reference, identity)) {
return reference;
}
}
return null;
}
bool IsMatch(Reference reference, string identity)
{
return String.Equals(reference.Name, identity, StringComparison.InvariantCultureIgnoreCase);
}
} }
} }

33
src/AddIns/Misc/PackageManagement/Test/Src/EnvDTE/ReferencesTests.cs

@ -145,5 +145,38 @@ namespace PackageManagement.Tests.EnvDTE
ReferenceCollectionAssertAreEqual(expectedReferences, enumerable); ReferenceCollectionAssertAreEqual(expectedReferences, enumerable);
} }
[Test]
public void Find_SystemXmlWhenProjectHasSystemXmlReference_OneReferenceReturned()
{
CreateReferences();
msbuildProject.AddReference("System.Xml");
Reference reference = references.Find("System.Xml");
Assert.AreEqual("System.Xml", reference.Name);
}
[Test]
public void Find_SystemXmlWhenProjectHasSystemXmlReferenceButWithDifferentCase_OneReferenceReturned()
{
CreateReferences();
msbuildProject.AddReference("System.Xml");
Reference reference = references.Find("SYSTEM.XML");
Assert.AreEqual("System.Xml", reference.Name);
}
[Test]
public void Item_SystemXmlWhenProjectHasSystemXmlReference_OneReferenceReturned()
{
CreateReferences();
msbuildProject.AddReference("System.Xml");
Reference reference = references.Item("System.Xml");
Assert.AreEqual("System.Xml", reference.Name);
}
} }
} }

Loading…
Cancel
Save