diff --git a/src/dotnet/commands/dotnet-help/LocalizableStrings.cs b/src/dotnet/commands/dotnet-help/LocalizableStrings.cs index bbd1e5e42..4cd4d3022 100644 --- a/src/dotnet/commands/dotnet-help/LocalizableStrings.cs +++ b/src/dotnet/commands/dotnet-help/LocalizableStrings.cs @@ -18,7 +18,7 @@ public const string VerboseDefinition = "Enable verbose output"; - public const string DiagnosticsDefinition = "Enable diagnostics output"; + public const string DiagnosticsDefinition = "Enable diagnostic output"; public const string HelpDefinition = "Show help"; diff --git a/test/dotnet-help.Tests/GivenThatIWantToShowHelpForDotnetCommand.cs b/test/dotnet-help.Tests/GivenThatIWantToShowHelpForDotnetCommand.cs new file mode 100644 index 000000000..620a257c6 --- /dev/null +++ b/test/dotnet-help.Tests/GivenThatIWantToShowHelpForDotnetCommand.cs @@ -0,0 +1,64 @@ +// Copyright (c) .NET Foundation and contributors. All rights reserved. +// Licensed under the MIT license. See LICENSE file in the project root for full license information. + +using System; +using System.Collections.Generic; +using System.IO; +using Microsoft.Build.Construction; +using Microsoft.DotNet.Tools.Test.Utilities; +using Xunit; +using FluentAssertions; + +namespace Microsoft.DotNet.Help.Tests +{ + public class GivenThatIWantToShowHelpForDotnetCommand : TestBase + { + private const string HelpText = +@"Usage: dotnet [host-options] [command] [arguments] [common-options] + +Arguments: + [command] The command to execute + [arguments] Arguments to pass to the command + [host-options] Options specific to dotnet (host) + [common-options] Options common to all commands + +Common options: + -v|--verbose Enable verbose output + -h|--help Show help + +Host options (passed before the command): + -d|--diagnostic Enable diagnostics output + --version Display .NET CLI Version Number + --info Display .NET CLI Info + +Commands: + new Initialize a basic .NET project + restore Restore dependencies specified in the .NET project + build Builds a .NET project + publish Publishes a .NET project for deployment (including the runtime) + run Compiles and immediately executes a .NET project + test Runs unit tests using the test runner specified in the project + pack Creates a NuGet package + migrate Migrates a project.json based project to a msbuild based project + +Project modification commands: + add Add items to the project + remove Remove items from the project + list List items in the project + +Advanced Commands: + nuget Provides additional NuGet commands + msbuild msbuilds a project and all of its dependencies + vstest Runs tests from the specified files"; + + [Theory] + [InlineData("--help")] + [InlineData("-h")] + public void WhenHelpOptionIsPassedToDotnetItPrintsUsage(string helpArg) + { + var cmd = new DotnetCommand() + .ExecuteWithCapturedOutput($"{helpArg}"); + cmd.Should().Pass().And.HaveStdOutContaining(HelpText); + } + } +} diff --git a/test/dotnet-help.Tests/dotnet-help.Tests.csproj b/test/dotnet-help.Tests/dotnet-help.Tests.csproj new file mode 100644 index 000000000..7dc1ad5c9 --- /dev/null +++ b/test/dotnet-help.Tests/dotnet-help.Tests.csproj @@ -0,0 +1,63 @@ + + + + + + netcoreapp1.0 + true + dotnet-help.Tests + $(PackageTargetFallback);dnxcore50;portable-net45+win8 + + + + + + + + + + + + true + + + true + + + true + + + true + + + true + + + true + + + + + + $(CLI_NETSDK_Version) + All + + + 15.0.0-preview-20161024-02 + + + 2.2.0-beta4-build1194 + + + 1.0.1 + + + $(CLI_MSBuild_Version) + + + 2.2.0-beta4-build3444 + + + + +