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. 30
      src/AddIns/Misc/PackageManagement/Test/Src/Scripting/PackageManagementConsoleViewModelTests.cs

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

@ -4,7 +4,7 @@ @@ -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 @@ -51,5 +51,10 @@ namespace ICSharpCode.PackageManagement
public bool HasMultiplePackageSources {
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 @@ -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);
}
}

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

@ -3,6 +3,7 @@ @@ -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 @@ -82,6 +83,18 @@ namespace PackageManagement.Tests.Scripting
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()
{
CreateConsoleHost();
@ -122,7 +135,7 @@ namespace PackageManagement.Tests.Scripting @@ -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 @@ -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 @@ -537,5 +550,18 @@ namespace PackageManagement.Tests.Scripting
CreateViewModel();
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