Write an error for powershell -version 2 (#4931)

Write an error for powershell -version <any value>
This commit is contained in:
Ilya 2017-09-29 23:20:28 +04:00 committed by GitHub
parent b9845d5ec1
commit 757c6b5f39
3 changed files with 18 additions and 0 deletions

View file

@ -548,6 +548,12 @@ namespace Microsoft.PowerShell
_noInteractive = true;
_skipUserInit = true;
_noExit = false;
++i;
if (i < args.Length)
{
WriteCommandLineError(string.Format(CultureInfo.CurrentCulture, CommandLineParameterParserStrings.DeprecatedVersionParameter,args[i]));
}
break;
}

View file

@ -272,4 +272,7 @@ EXAMPLES
<data name="InvalidArgument" xml:space="preserve">
<value>Invalid argument '{0}', did you mean:</value>
</data>
<data name="DeprecatedVersionParameter" xml:space="preserve">
<value>Usage of '-Version {0}' is not supported. '-Version' currently only returns the current PowerShell version.</value>
</data>
</root>

View file

@ -178,6 +178,15 @@ Describe "ConsoleHost unit tests" -tags "Feature" {
$observed | should be $currentVersion
}
It "-Version should write an error if a value is present" {
$versionValue = "abrakadabra"
$tempFile = Join-Path $testdrive "expectedError.txt"
$observed = & $powershell -version $versionValue > $tempFile
$expectedError = (Get-Content $tempFile)[0]
$expectedError | Should Match $versionValue
}
It "-File should be default parameter" {
Set-Content -Path $testdrive/test -Value "'hello'"
$observed = & $powershell -NoProfile $testdrive/test