Browse Source

Hide disabled NuGet package sources in package management console.

pull/28/head
Matt Ward 13 years ago
parent
commit
878cd428db
  1. 7
      src/AddIns/Misc/PackageManagement/Project/Src/RegisteredPackageSources.cs
  2. 6
      src/AddIns/Misc/PackageManagement/Project/Src/Scripting/PackageManagementConsoleViewModel.cs
  3. 28
      src/AddIns/Misc/PackageManagement/Test/Src/Scripting/PackageManagementConsoleViewModelTests.cs

7
src/AddIns/Misc/PackageManagement/Project/Src/RegisteredPackageSources.cs

@ -4,7 +4,7 @@
using System; using System;
using System.Collections.Generic; using System.Collections.Generic;
using System.Collections.ObjectModel; using System.Collections.ObjectModel;
using System.Linq;
using NuGet; using NuGet;
namespace ICSharpCode.PackageManagement namespace ICSharpCode.PackageManagement
@ -51,5 +51,10 @@ namespace ICSharpCode.PackageManagement
public bool HasMultiplePackageSources { public bool HasMultiplePackageSources {
get { return Count > 1; } get { return Count > 1; }
} }
public IEnumerable<PackageSource> GetEnabledPackageSources()
{
return this.Where(packageSource => packageSource.IsEnabled);
}
} }
} }

6
src/AddIns/Misc/PackageManagement/Project/Src/Scripting/PackageManagementConsoleViewModel.cs

@ -82,14 +82,14 @@ namespace ICSharpCode.PackageManagement.Scripting
void UpdatePackageSourceViewModels() void UpdatePackageSourceViewModels()
{ {
packageSources.Clear(); packageSources.Clear();
AddRegisteredPackageSourceViewModels(); AddEnabledPackageSourceViewModels();
AddAggregatePackageSourceViewModelIfMoreThanOnePackageSourceViewModelAdded(); AddAggregatePackageSourceViewModelIfMoreThanOnePackageSourceViewModelAdded();
SelectActivePackageSource(); SelectActivePackageSource();
} }
void AddRegisteredPackageSourceViewModels() void AddEnabledPackageSourceViewModels()
{ {
foreach (PackageSource packageSource in registeredPackageSources) { foreach (PackageSource packageSource in registeredPackageSources.GetEnabledPackageSources()) {
AddPackageSourceViewModel(packageSource); AddPackageSourceViewModel(packageSource);
} }
} }

28
src/AddIns/Misc/PackageManagement/Test/Src/Scripting/PackageManagementConsoleViewModelTests.cs

@ -3,6 +3,7 @@
using System; using System;
using System.Collections.Generic; using System.Collections.Generic;
using System.Collections.ObjectModel;
using System.Linq; using System.Linq;
using ICSharpCode.PackageManagement; using ICSharpCode.PackageManagement;
using ICSharpCode.PackageManagement.Design; using ICSharpCode.PackageManagement.Design;
@ -82,6 +83,18 @@ namespace PackageManagement.Tests.Scripting
return activePackageSource; return activePackageSource;
} }
PackageSource CreateViewModelWithTwoRegisteredPackageSourcesAndFirstOneIsDisabledPackageSource()
{
CreateConsoleHost();
var packageSources = new List<PackageSource>();
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() Solution CreateViewModelWithOneProjectOpen()
{ {
CreateConsoleHost(); CreateConsoleHost();
@ -122,7 +135,7 @@ namespace PackageManagement.Tests.Scripting
PackageSourceViewModel SelectSecondPackageSource() PackageSourceViewModel SelectSecondPackageSource()
{ {
var selectedPackageSource = viewModel.PackageSources[1]; PackageSourceViewModel selectedPackageSource = viewModel.PackageSources[1];
viewModel.ActivePackageSource = selectedPackageSource; viewModel.ActivePackageSource = selectedPackageSource;
return selectedPackageSource; return selectedPackageSource;
} }
@ -537,5 +550,18 @@ namespace PackageManagement.Tests.Scripting
CreateViewModel(); CreateViewModel();
Assert.DoesNotThrow(() => viewModel.ActivePackageSource = null); Assert.DoesNotThrow(() => viewModel.ActivePackageSource = null);
} }
[Test]
public void PackageSources_TwoRegisteredPackageSourcesButOnlyOneEnabledWhenConsoleCreated_OnlyEnabledPackageSourceDisplayed()
{
PackageSource enabledPackageSource =
CreateViewModelWithTwoRegisteredPackageSourcesAndFirstOneIsDisabledPackageSource();
ObservableCollection<PackageSourceViewModel> actualPackageSources = viewModel.PackageSources;
var expectedPackageSources = new List<PackageSource>();
expectedPackageSources.Add(enabledPackageSource);
PackageSourceCollectionAssert.AreEqual(expectedPackageSources, actualPackageSources);
}
} }
} }

Loading…
Cancel
Save