Browse Source

Fix argument out of range exception when modify the registered NuGet package sources in Tools Options.

pull/15/head
Matt Ward 15 years ago
parent
commit
90338b852f
  1. 5
      src/AddIns/Misc/PackageManagement/Project/Src/RegisteredPackageRepositories.cs
  2. 12
      src/AddIns/Misc/PackageManagement/Test/Src/RegisteredPackageRepositoriesTests.cs

5
src/AddIns/Misc/PackageManagement/Project/Src/RegisteredPackageRepositories.cs

@ -2,6 +2,7 @@ @@ -2,6 +2,7 @@
// This code is distributed under the GNU LGPL (for details please see \doc\license.txt)
using System;
using System.Linq;
using NuGet;
namespace ICSharpCode.PackageManagement
@ -54,7 +55,9 @@ namespace ICSharpCode.PackageManagement @@ -54,7 +55,9 @@ namespace ICSharpCode.PackageManagement
get {
activePackageSource = options.ActivePackageSource;
if (activePackageSource == null) {
activePackageSource = options.PackageSources[0];
if (options.PackageSources.Any()) {
activePackageSource = options.PackageSources[0];
}
}
return activePackageSource;
}

12
src/AddIns/Misc/PackageManagement/Test/Src/RegisteredPackageRepositoriesTests.cs

@ -261,6 +261,18 @@ namespace PackageManagement.Tests @@ -261,6 +261,18 @@ namespace PackageManagement.Tests
Assert.AreEqual(expectedRepository, repository);
}
[Test]
public void ActivePackageSource_AllPackageSourcesCleared_ReturnsNullAndDoesNotThrowArgumentOutOfRangeException()
{
CreateRegisteredPackageRepositories();
packageSourcesHelper.Options.ActivePackageSource = null;
registeredRepositories.PackageSources.Clear();
var activePackageSource = registeredRepositories.ActivePackageSource;
Assert.IsNull(activePackageSource);
}
}
}

Loading…
Cancel
Save