Browse Source

Update PowerShell working directory to the userprofile directory on opening the Package Management console.

pull/15/head
Matt Ward 15 years ago
parent
commit
8ab1b6f961
  1. 2
      src/AddIns/Misc/PackageManagement/Cmdlets/Project/Src/InvokeUpdateWorkingDirectoryCmdlet.cs
  2. 2
      src/AddIns/Misc/PackageManagement/Cmdlets/Test/Src/InvokeUpdateWorkingDirectoryCmdletTests.cs
  3. 23
      src/AddIns/Misc/PackageManagement/Project/Src/Scripting/PackageManagementConsoleHost.cs
  4. 7
      src/AddIns/Misc/PackageManagement/Project/Src/Scripting/PowerShellWorkingDirectory.cs
  5. 28
      src/AddIns/Misc/PackageManagement/Test/Src/Scripting/PackageManagementConsoleHostTests.cs
  6. 2
      src/AddIns/Misc/PackageManagement/Test/Src/Scripting/PowerShellWorkingDirectoryTests.cs

2
src/AddIns/Misc/PackageManagement/Cmdlets/Project/Src/InvokeUpdateWorkingDirectoryCmdlet.cs

@ -48,7 +48,7 @@ namespace ICSharpCode.PackageManagement.Cmdlets @@ -48,7 +48,7 @@ namespace ICSharpCode.PackageManagement.Cmdlets
void UpdateWorkingDirectory(string directory)
{
string command = String.Format("Set-Location '{0}'", directory);
string command = String.Format("Set-Location {0}", directory);
InvokeScript(command);
}
}

2
src/AddIns/Misc/PackageManagement/Cmdlets/Test/Src/InvokeUpdateWorkingDirectoryCmdletTests.cs

@ -50,7 +50,7 @@ namespace PackageManagement.Cmdlets.Tests @@ -50,7 +50,7 @@ namespace PackageManagement.Cmdlets.Tests
string commandExecuted = cmdlet.ScriptPassedToInvokeScript;
string expectedCommandExecuted = @"Set-Location '$env:USERPROFILE'";
string expectedCommandExecuted = @"Set-Location $env:USERPROFILE";
Assert.AreEqual(expectedCommandExecuted, commandExecuted);
}

23
src/AddIns/Misc/PackageManagement/Project/Src/Scripting/PackageManagementConsoleHost.cs

@ -106,6 +106,7 @@ namespace ICSharpCode.PackageManagement.Scripting @@ -106,6 +106,7 @@ namespace ICSharpCode.PackageManagement.Scripting
powerShellHost.SetRemoteSignedExecutionPolicy();
UpdateFormatting();
RedefineClearHostFunction();
UpdateWorkingDirectory();
}
void CreatePowerShellHost()
@ -132,14 +133,6 @@ namespace ICSharpCode.PackageManagement.Scripting @@ -132,14 +133,6 @@ namespace ICSharpCode.PackageManagement.Scripting
powerShellHost.ExecuteCommand(command);
}
void InitializePackageScriptsForOpenSolution()
{
if (Solution.IsOpen) {
string command = "Invoke-InitializePackages";
powerShellHost.ExecuteCommand(command);
}
}
void WriteInfoBeforeFirstPrompt()
{
WriteNuGetVersionInfo();
@ -153,6 +146,20 @@ namespace ICSharpCode.PackageManagement.Scripting @@ -153,6 +146,20 @@ namespace ICSharpCode.PackageManagement.Scripting
WriteLine(versionInfo);
}
void UpdateWorkingDirectory()
{
string command = "Invoke-UpdateWorkingDirectory";
powerShellHost.ExecuteCommand(command);
}
void InitializePackageScriptsForOpenSolution()
{
if (Solution.IsOpen) {
string command = "Invoke-InitializePackages";
powerShellHost.ExecuteCommand(command);
}
}
void WriteLine(string message)
{
ScriptingConsole.WriteLine(message, ScriptingStyle.Out);

7
src/AddIns/Misc/PackageManagement/Project/Src/Scripting/PowerShellWorkingDirectory.cs

@ -19,9 +19,14 @@ namespace ICSharpCode.PackageManagement.Scripting @@ -19,9 +19,14 @@ namespace ICSharpCode.PackageManagement.Scripting
{
Solution solution = projectService.OpenSolution;
if (solution != null) {
return solution.Directory;
return QuotedDirectory(solution.Directory);
}
return "$env:USERPROFILE";
}
string QuotedDirectory(string directory)
{
return String.Format("'{0}'", directory);
}
}
}

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

@ -497,5 +497,33 @@ namespace PackageManagement.Tests.Scripting @@ -497,5 +497,33 @@ namespace PackageManagement.Tests.Scripting
Assert.IsFalse(executed);
}
[Test]
public void Run_SolutionIsNotOpenWhenConsoleRun_PowerShellWorkingDirectoryIsUpdated()
{
CreateHost();
fakeSolution.IsOpen = false;
RunHost();
string command = "Invoke-UpdateWorkingDirectory";
bool executed = powerShellHost.AllCommandsPassedToExecuteCommand.Contains(command);
Assert.IsTrue(executed);
}
[Test]
public void Run_SolutionIsOpenWhenConsoleRun_PowerShellWorkingDirectoryIsUpdated()
{
CreateHost();
fakeSolution.IsOpen = true;
RunHost();
string command = "Invoke-UpdateWorkingDirectory";
bool executed = powerShellHost.AllCommandsPassedToExecuteCommand.Contains(command);
Assert.IsTrue(executed);
}
}
}

2
src/AddIns/Misc/PackageManagement/Test/Src/Scripting/PowerShellWorkingDirectoryTests.cs

@ -44,7 +44,7 @@ namespace PackageManagement.Tests.Scripting @@ -44,7 +44,7 @@ namespace PackageManagement.Tests.Scripting
string directory = workingDirectory.GetWorkingDirectory();
string expectedDirectory = @"d:\projects\MyProject";
string expectedDirectory = @"'d:\projects\MyProject'";
Assert.AreEqual(expectedDirectory, directory);
}

Loading…
Cancel
Save