Browse Source

Fix Get-Package cmdlet not returning packages from repository when a project is not open.

pull/15/head
Matt Ward 14 years ago
parent
commit
bed8a56844
  1. 4
      src/AddIns/Misc/PackageManagement/Cmdlets/Project/Src/GetPackageCmdlet.cs
  2. 4
      src/AddIns/Misc/PackageManagement/Cmdlets/Test/Helpers/FakeCmdletTerminatingError.cs
  3. 15
      src/AddIns/Misc/PackageManagement/Cmdlets/Test/Helpers/FakeCmdletTerminatingErrorException.cs
  4. 1
      src/AddIns/Misc/PackageManagement/Cmdlets/Test/PackageManagement.Cmdlets.Tests.csproj
  5. 57
      src/AddIns/Misc/PackageManagement/Cmdlets/Test/Src/GetPackageCmdletTests.cs
  6. 5
      src/AddIns/Misc/PackageManagement/Cmdlets/Test/Src/GetProjectCmdletTests.cs
  7. 14
      src/AddIns/Misc/PackageManagement/Cmdlets/Test/Src/InstallPackageCmdletTests.cs
  8. 14
      src/AddIns/Misc/PackageManagement/Cmdlets/Test/Src/UninstallPackageCmdletTests.cs
  9. 14
      src/AddIns/Misc/PackageManagement/Cmdlets/Test/Src/UpdatePackageCmdletTests.cs

4
src/AddIns/Misc/PackageManagement/Cmdlets/Project/Src/GetPackageCmdlet.cs

@ -73,10 +73,6 @@ namespace ICSharpCode.PackageManagement.Cmdlets @@ -73,10 +73,6 @@ namespace ICSharpCode.PackageManagement.Cmdlets
{
ValidateParameters();
if (DefaultProject == null) {
return;
}
IQueryable<IPackage> packages = GetPackages();
packages = OrderPackages(packages);
packages = SelectPackageRange(packages);

4
src/AddIns/Misc/PackageManagement/Cmdlets/Test/Helpers/FakeCmdletTerminatingError.cs

@ -8,11 +8,9 @@ namespace PackageManagement.Cmdlets.Tests.Helpers @@ -8,11 +8,9 @@ namespace PackageManagement.Cmdlets.Tests.Helpers
{
public class FakeCmdletTerminatingError : ICmdletTerminatingError
{
public bool IsThrowNoProjectOpenErrorCalled;
public void ThrowNoProjectOpenError()
{
IsThrowNoProjectOpenErrorCalled = true;
throw new FakeCmdletTerminatingErrorException("ThrowNoProjectOpenError");
}
}
}

15
src/AddIns/Misc/PackageManagement/Cmdlets/Test/Helpers/FakeCmdletTerminatingErrorException.cs

@ -0,0 +1,15 @@ @@ -0,0 +1,15 @@
// 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;
namespace PackageManagement.Cmdlets.Tests.Helpers
{
public class FakeCmdletTerminatingErrorException : Exception
{
public FakeCmdletTerminatingErrorException(string message)
: base(message)
{
}
}
}

1
src/AddIns/Misc/PackageManagement/Cmdlets/Test/PackageManagement.Cmdlets.Tests.csproj

@ -44,6 +44,7 @@ @@ -44,6 +44,7 @@
</Compile>
<Compile Include="Configuration\AssemblyInfo.cs" />
<Compile Include="Helpers\FakeCmdletTerminatingError.cs" />
<Compile Include="Helpers\FakeCmdletTerminatingErrorException.cs" />
<Compile Include="Helpers\FakeCommandRuntime.cs" />
<Compile Include="Helpers\FakeTerminatingCmdlet.cs" />
<Compile Include="Helpers\TestableGetPackageCmdlet.cs" />

57
src/AddIns/Misc/PackageManagement/Cmdlets/Test/Src/GetPackageCmdletTests.cs

@ -111,6 +111,23 @@ namespace PackageManagement.Cmdlets.Tests @@ -111,6 +111,23 @@ namespace PackageManagement.Cmdlets.Tests
CollectionAssert.AreEqual(expectedPackages, actualPackages);
}
[Test]
public void ProcessRecord_ListAvailablePackagesWhenDefaultPackageSourceHasOnePackageAndNoDefaultProjectIsSet_OutputIsPackagesFromPackageSourceRepository()
{
CreateCmdlet();
fakeConsoleHost.DefaultProject = null;
var repository = fakeRegisteredPackageRepositories.FakePackageRepository;
repository.AddFakePackage("Test");
EnableListAvailableParameter();
RunCmdlet();
var actualPackages = fakeCommandRuntime.ObjectsPassedToWriteObject;
var expectedPackages = repository.FakePackages;
CollectionAssert.AreEqual(expectedPackages, actualPackages);
}
[Test]
public void ProcessRecord_ListAvailablePackagesWhenDefaultPackageSourceHasThreePackages_OutputIsPackagesFromPackageSourceRepository()
{
@ -424,20 +441,7 @@ namespace PackageManagement.Cmdlets.Tests @@ -424,20 +441,7 @@ namespace PackageManagement.Cmdlets.Tests
fakeConsoleHost.DefaultProject = null;
EnableUpdatesParameter();
RunCmdlet();
Assert.IsTrue(fakeTerminatingError.IsThrowNoProjectOpenErrorCalled);
}
[Test]
public void ProcessRecord_RetrieveUpdatesWhenProjectIsActive_DoesNotThrowTerminatingError()
{
CreateCmdlet();
EnableUpdatesParameter();
RunCmdlet();
Assert.IsFalse(fakeTerminatingError.IsThrowNoProjectOpenErrorCalled);
Assert.Throws(typeof(FakeCmdletTerminatingErrorException), () => RunCmdlet());
}
[Test]
@ -445,31 +449,8 @@ namespace PackageManagement.Cmdlets.Tests @@ -445,31 +449,8 @@ namespace PackageManagement.Cmdlets.Tests
{
CreateCmdlet();
fakeConsoleHost.DefaultProject = null;
RunCmdlet();
Assert.IsTrue(fakeTerminatingError.IsThrowNoProjectOpenErrorCalled);
}
[Test]
public void ProcessRecord_ListAvailablePackagesAndProjectIsNotOpen_NoTerminatingErrorIsThrown()
{
CreateCmdlet();
fakeConsoleHost.DefaultProject = null;
EnableListAvailableParameter();
RunCmdlet();
Assert.IsFalse(fakeTerminatingError.IsThrowNoProjectOpenErrorCalled);
}
[Test]
public void ProcessRecord_RecentPackagesRequestedAndProjectIsNotOpen_NoTerminatingErrorIsThrown()
{
CreateCmdlet();
fakeConsoleHost.DefaultProject = null;
EnableRecentParameter();
RunCmdlet();
Assert.IsFalse(fakeTerminatingError.IsThrowNoProjectOpenErrorCalled);
Assert.Throws(typeof(FakeCmdletTerminatingErrorException), () => RunCmdlet());
}
[Test]

5
src/AddIns/Misc/PackageManagement/Cmdlets/Test/Src/GetProjectCmdletTests.cs

@ -75,9 +75,8 @@ namespace PackageManagement.Cmdlets.Tests @@ -75,9 +75,8 @@ namespace PackageManagement.Cmdlets.Tests
public void ProcessRecord_NoActiveProject_ThrowsNoProjectOpenTerminatingError()
{
CreateCmdletWithoutActiveProject();
RunCmdlet();
Assert.IsTrue(fakeTerminatingError.IsThrowNoProjectOpenErrorCalled);
Assert.Throws(typeof(FakeCmdletTerminatingErrorException), () => RunCmdlet());
}
[Test]

14
src/AddIns/Misc/PackageManagement/Cmdlets/Test/Src/InstallPackageCmdletTests.cs

@ -73,20 +73,8 @@ namespace PackageManagement.Cmdlets.Tests @@ -73,20 +73,8 @@ namespace PackageManagement.Cmdlets.Tests
CreateCmdletWithoutActiveProject();
AddPackageSourceToConsoleHost();
SetIdParameter("Test");
RunCmdlet();
Assert.IsTrue(fakeTerminatingError.IsThrowNoProjectOpenErrorCalled);
}
[Test]
public void ProcessRecord_ProjectIsActiveInConsoleHost_NoTerminatingErrorThrown()
{
CreateCmdletWithActivePackageSourceAndProject();
SetIdParameter("Test");
RunCmdlet();
Assert.IsFalse(fakeTerminatingError.IsThrowNoProjectOpenErrorCalled);
Assert.Throws(typeof(FakeCmdletTerminatingErrorException), () => RunCmdlet());
}
[Test]

14
src/AddIns/Misc/PackageManagement/Cmdlets/Test/Src/UninstallPackageCmdletTests.cs

@ -71,20 +71,8 @@ namespace PackageManagement.Cmdlets.Tests @@ -71,20 +71,8 @@ namespace PackageManagement.Cmdlets.Tests
CreateCmdletWithoutActiveProject();
AddPackageSourceToConsoleHost();
SetIdParameter("Test");
RunCmdlet();
Assert.IsTrue(fakeTerminatingError.IsThrowNoProjectOpenErrorCalled);
}
[Test]
public void ProcessRecord_ProjectIsActiveInConsoleHost_NoTerminatingErrorThrown()
{
CreateCmdletWithActivePackageSourceAndProject();
SetIdParameter("Test");
RunCmdlet();
Assert.IsFalse(fakeTerminatingError.IsThrowNoProjectOpenErrorCalled);
Assert.Throws(typeof(FakeCmdletTerminatingErrorException), () => RunCmdlet());
}
[Test]

14
src/AddIns/Misc/PackageManagement/Cmdlets/Test/Src/UpdatePackageCmdletTests.cs

@ -71,20 +71,8 @@ namespace PackageManagement.Cmdlets.Tests @@ -71,20 +71,8 @@ namespace PackageManagement.Cmdlets.Tests
CreateCmdletWithoutActiveProject();
AddPackageSourceToConsoleHost();
SetIdParameter("Test");
RunCmdlet();
Assert.IsTrue(fakeTerminatingError.IsThrowNoProjectOpenErrorCalled);
}
[Test]
public void ProcessRecord_ProjectIsActiveInConsoleHost_NoTerminatingErrorThrown()
{
CreateCmdletWithActivePackageSourceAndProject();
SetIdParameter("Test");
RunCmdlet();
Assert.IsFalse(fakeTerminatingError.IsThrowNoProjectOpenErrorCalled);
Assert.Throws(typeof(FakeCmdletTerminatingErrorException), () => RunCmdlet());
}
[Test]

Loading…
Cancel
Save