diff --git a/src/AddIns/Misc/PackageManagement/Project/PackageManagement.csproj b/src/AddIns/Misc/PackageManagement/Project/PackageManagement.csproj index 6cc064b6fc..f44b4fc0ae 100644 --- a/src/AddIns/Misc/PackageManagement/Project/PackageManagement.csproj +++ b/src/AddIns/Misc/PackageManagement/Project/PackageManagement.csproj @@ -120,6 +120,7 @@ + diff --git a/src/AddIns/Misc/PackageManagement/Project/Src/EnvDTE/Reference3.cs b/src/AddIns/Misc/PackageManagement/Project/Src/EnvDTE/Reference3.cs new file mode 100644 index 0000000000..6f03d5cbc4 --- /dev/null +++ b/src/AddIns/Misc/PackageManagement/Project/Src/EnvDTE/Reference3.cs @@ -0,0 +1,18 @@ +// Copyright (c) AlphaSierraPapa for the SharpDevelop Team (for details please see \doc\copyright.txt) +// This code is distributed under the GNU LGPL (for details please see \doc\license.txt) + +using System; +using ICSharpCode.SharpDevelop.Project; + +namespace ICSharpCode.PackageManagement.EnvDTE +{ + public class Reference3 : Reference + { + public Reference3(Project project, ReferenceProjectItem referenceProjectItem) + : base(project, referenceProjectItem) + { + } + + public bool AutoReferenced { get; private set; } + } +} diff --git a/src/AddIns/Misc/PackageManagement/Project/Src/EnvDTE/References.cs b/src/AddIns/Misc/PackageManagement/Project/Src/EnvDTE/References.cs index f1e145bcb0..dbf123ff93 100644 --- a/src/AddIns/Misc/PackageManagement/Project/Src/EnvDTE/References.cs +++ b/src/AddIns/Misc/PackageManagement/Project/Src/EnvDTE/References.cs @@ -54,7 +54,7 @@ namespace ICSharpCode.PackageManagement.EnvDTE IEnumerable GetReferences() { foreach (ReferenceProjectItem referenceProjectItem in project.GetReferences()) { - yield return new Reference(project, referenceProjectItem); + yield return new Reference3(project, referenceProjectItem); } } diff --git a/src/AddIns/Misc/PackageManagement/Test/PackageManagement.Tests.csproj b/src/AddIns/Misc/PackageManagement/Test/PackageManagement.Tests.csproj index 7772e216c2..316a22e976 100644 --- a/src/AddIns/Misc/PackageManagement/Test/PackageManagement.Tests.csproj +++ b/src/AddIns/Misc/PackageManagement/Test/PackageManagement.Tests.csproj @@ -130,7 +130,7 @@ - + diff --git a/src/AddIns/Misc/PackageManagement/Test/Src/EnvDTE/ReferenceTests.cs b/src/AddIns/Misc/PackageManagement/Test/Src/EnvDTE/Reference3Tests.cs similarity index 89% rename from src/AddIns/Misc/PackageManagement/Test/Src/EnvDTE/ReferenceTests.cs rename to src/AddIns/Misc/PackageManagement/Test/Src/EnvDTE/Reference3Tests.cs index f9adcd6fe2..bf59f7a634 100644 --- a/src/AddIns/Misc/PackageManagement/Test/Src/EnvDTE/ReferenceTests.cs +++ b/src/AddIns/Misc/PackageManagement/Test/Src/EnvDTE/Reference3Tests.cs @@ -11,9 +11,9 @@ using PackageManagement.Tests.Helpers; namespace PackageManagement.Tests.EnvDTE { [TestFixture] - public class ReferenceTests + public class Reference3Tests { - Reference reference; + Reference3 reference; TestableProject msbuildProject; FakePackageManagementProjectService fakeProjectService; TestableDTEProject project; @@ -29,7 +29,7 @@ namespace PackageManagement.Tests.EnvDTE void CreateReference(Project project, ReferenceProjectItem referenceProjectItem) { - reference = new Reference(project, referenceProjectItem); + reference = new Reference3(project, referenceProjectItem); } TestableProject CreateProjectReference() @@ -96,5 +96,15 @@ namespace PackageManagement.Tests.EnvDTE Assert.AreEqual(@"d:\projects\referencedproject.csproj", project.FileName); } + + [Test] + public void AutoReferenced_SystemXmlReferenceInProjectReferences_ReturnsFalse() + { + CreateReference("System.Xml"); + + bool result = reference.AutoReferenced; + + Assert.IsFalse(result); + } } } diff --git a/src/AddIns/Misc/PackageManagement/Test/Src/EnvDTE/ReferencesTests.cs b/src/AddIns/Misc/PackageManagement/Test/Src/EnvDTE/ReferencesTests.cs index 8d7c6a9495..7b0fd8888b 100644 --- a/src/AddIns/Misc/PackageManagement/Test/Src/EnvDTE/ReferencesTests.cs +++ b/src/AddIns/Misc/PackageManagement/Test/Src/EnvDTE/ReferencesTests.cs @@ -191,5 +191,16 @@ namespace PackageManagement.Tests.EnvDTE Assert.AreEqual("System.Xml", reference.Name); } + + [Test] + public void Item_SystemXmlProjectHasSystemXmlReference_OneReference3Returned() + { + CreateReferences(); + msbuildProject.AddReference("System.Xml"); + + Reference3 reference = references.Item("System.Xml") as Reference3; + + Assert.AreEqual("System.Xml", reference.Name); + } } }