diff --git a/src/AddIns/Misc/PackageManagement/Project/Src/RegisteredPackageSources.cs b/src/AddIns/Misc/PackageManagement/Project/Src/RegisteredPackageSources.cs index 4b9f2574b7..4596ccea84 100644 --- a/src/AddIns/Misc/PackageManagement/Project/Src/RegisteredPackageSources.cs +++ b/src/AddIns/Misc/PackageManagement/Project/Src/RegisteredPackageSources.cs @@ -4,7 +4,7 @@ using System; using System.Collections.Generic; using System.Collections.ObjectModel; - +using System.Linq; using NuGet; namespace ICSharpCode.PackageManagement @@ -51,5 +51,10 @@ namespace ICSharpCode.PackageManagement public bool HasMultiplePackageSources { get { return Count > 1; } } + + public IEnumerable GetEnabledPackageSources() + { + return this.Where(packageSource => packageSource.IsEnabled); + } } } diff --git a/src/AddIns/Misc/PackageManagement/Project/Src/Scripting/PackageManagementConsoleViewModel.cs b/src/AddIns/Misc/PackageManagement/Project/Src/Scripting/PackageManagementConsoleViewModel.cs index 203b941e45..55003e7c44 100644 --- a/src/AddIns/Misc/PackageManagement/Project/Src/Scripting/PackageManagementConsoleViewModel.cs +++ b/src/AddIns/Misc/PackageManagement/Project/Src/Scripting/PackageManagementConsoleViewModel.cs @@ -82,14 +82,14 @@ namespace ICSharpCode.PackageManagement.Scripting void UpdatePackageSourceViewModels() { packageSources.Clear(); - AddRegisteredPackageSourceViewModels(); + AddEnabledPackageSourceViewModels(); AddAggregatePackageSourceViewModelIfMoreThanOnePackageSourceViewModelAdded(); SelectActivePackageSource(); } - void AddRegisteredPackageSourceViewModels() + void AddEnabledPackageSourceViewModels() { - foreach (PackageSource packageSource in registeredPackageSources) { + foreach (PackageSource packageSource in registeredPackageSources.GetEnabledPackageSources()) { AddPackageSourceViewModel(packageSource); } } diff --git a/src/AddIns/Misc/PackageManagement/Test/Src/Scripting/PackageManagementConsoleViewModelTests.cs b/src/AddIns/Misc/PackageManagement/Test/Src/Scripting/PackageManagementConsoleViewModelTests.cs index dd1146b9a0..40768123a2 100644 --- a/src/AddIns/Misc/PackageManagement/Test/Src/Scripting/PackageManagementConsoleViewModelTests.cs +++ b/src/AddIns/Misc/PackageManagement/Test/Src/Scripting/PackageManagementConsoleViewModelTests.cs @@ -3,6 +3,7 @@ using System; using System.Collections.Generic; +using System.Collections.ObjectModel; using System.Linq; using ICSharpCode.PackageManagement; using ICSharpCode.PackageManagement.Design; @@ -82,6 +83,18 @@ namespace PackageManagement.Tests.Scripting return activePackageSource; } + PackageSource CreateViewModelWithTwoRegisteredPackageSourcesAndFirstOneIsDisabledPackageSource() + { + CreateConsoleHost(); + var packageSources = new List(); + var disabledPackageSource = new PackageSource("Disabled source") { IsEnabled = false }; + var enabledPackageSource = new PackageSource("Enabled source") { IsEnabled = true }; + packageSources.Add(disabledPackageSource); + packageSources.Add(enabledPackageSource); + CreateViewModel(packageSources, consoleHost); + return enabledPackageSource; + } + Solution CreateViewModelWithOneProjectOpen() { CreateConsoleHost(); @@ -122,7 +135,7 @@ namespace PackageManagement.Tests.Scripting PackageSourceViewModel SelectSecondPackageSource() { - var selectedPackageSource = viewModel.PackageSources[1]; + PackageSourceViewModel selectedPackageSource = viewModel.PackageSources[1]; viewModel.ActivePackageSource = selectedPackageSource; return selectedPackageSource; } @@ -168,7 +181,7 @@ namespace PackageManagement.Tests.Scripting solution.RemoveFolder(project); return project; } - + [Test] public void PackageSources_OneRegisteredPackageSourceWhenConsoleCreated_OnePackageSourceDisplayed() { @@ -537,5 +550,18 @@ namespace PackageManagement.Tests.Scripting CreateViewModel(); Assert.DoesNotThrow(() => viewModel.ActivePackageSource = null); } + + [Test] + public void PackageSources_TwoRegisteredPackageSourcesButOnlyOneEnabledWhenConsoleCreated_OnlyEnabledPackageSourceDisplayed() + { + PackageSource enabledPackageSource = + CreateViewModelWithTwoRegisteredPackageSourcesAndFirstOneIsDisabledPackageSource(); + + ObservableCollection actualPackageSources = viewModel.PackageSources; + + var expectedPackageSources = new List(); + expectedPackageSources.Add(enabledPackageSource); + PackageSourceCollectionAssert.AreEqual(expectedPackageSources, actualPackageSources); + } } }