From 16aa589daa904774ae7b280c80838312bdb2bc73 Mon Sep 17 00:00:00 2001 From: Frank Ray <52075808+FrankRay78@users.noreply.github.com> Date: Mon, 18 Mar 2024 13:03:19 +0000 Subject: [PATCH] Pipe character for listing options - Fully implemented and tested. --- .../Internal/Configuration/TemplateParser.cs | 2 +- .../Data/Settings/HorseSettings.cs | 2 +- .../Help/Root_Command.Output.verified.txt | 18 ++++++++++++++++ .../Xml/Test_1.Output.verified.txt | 4 ++-- .../Xml/Test_3.Output.verified.txt | 4 ++-- .../Xml/Test_6.Output.verified.txt | 4 ++-- .../Xml/Test_7.Output.verified.txt | 2 +- .../Xml/Test_8.Output.verified.txt | 2 +- .../Xml/Test_9.Output.verified.txt | 2 +- .../CommandOptionAttributeTests.cs | 8 ++++--- .../Unit/CommandAppTests.Help.cs | 21 +++++++++++++++++++ 11 files changed, 55 insertions(+), 14 deletions(-) create mode 100644 test/Spectre.Console.Cli.Tests/Expectations/Help/Root_Command.Output.verified.txt diff --git a/src/Spectre.Console.Cli/Internal/Configuration/TemplateParser.cs b/src/Spectre.Console.Cli/Internal/Configuration/TemplateParser.cs index 75a93268d..d7eef9b05 100644 --- a/src/Spectre.Console.Cli/Internal/Configuration/TemplateParser.cs +++ b/src/Spectre.Console.Cli/Internal/Configuration/TemplateParser.cs @@ -124,7 +124,7 @@ public static OptionResult ParseOptionTemplate(string template) foreach (var character in token.Value) { if (!char.IsLetterOrDigit(character) && - character != '=' && character != '-' && character != '_') + character != '=' && character != '-' && character != '_' && character != '|') { throw CommandTemplateException.InvalidCharacterInValueName(template, token, character); } diff --git a/test/Spectre.Console.Cli.Tests/Data/Settings/HorseSettings.cs b/test/Spectre.Console.Cli.Tests/Data/Settings/HorseSettings.cs index 1fd85c319..46dcff1e3 100644 --- a/test/Spectre.Console.Cli.Tests/Data/Settings/HorseSettings.cs +++ b/test/Spectre.Console.Cli.Tests/Data/Settings/HorseSettings.cs @@ -4,7 +4,7 @@ namespace Spectre.Console.Tests.Data; public class HorseSettings : MammalSettings { - [CommandOption("-d|--day")] + [CommandOption("-d|--day ")] public DayOfWeek Day { get; set; } [CommandOption("--file")] diff --git a/test/Spectre.Console.Cli.Tests/Expectations/Help/Root_Command.Output.verified.txt b/test/Spectre.Console.Cli.Tests/Expectations/Help/Root_Command.Output.verified.txt new file mode 100644 index 000000000..c660618c1 --- /dev/null +++ b/test/Spectre.Console.Cli.Tests/Expectations/Help/Root_Command.Output.verified.txt @@ -0,0 +1,18 @@ +DESCRIPTION: +The horse command. + +USAGE: + myapp horse [LEGS] [OPTIONS] + +ARGUMENTS: + [LEGS] The number of legs + +OPTIONS: + DEFAULT + -h, --help Prints help information + -v, --version Prints version information + -a, --alive Indicates whether or not the animal is alive + -n, --name + -d, --day + --file food.txt + --directory \ No newline at end of file diff --git a/test/Spectre.Console.Cli.Tests/Expectations/Xml/Test_1.Output.verified.txt b/test/Spectre.Console.Cli.Tests/Expectations/Xml/Test_1.Output.verified.txt index 021426c55..998a89b3a 100644 --- a/test/Spectre.Console.Cli.Tests/Expectations/Xml/Test_1.Output.verified.txt +++ b/test/Spectre.Console.Cli.Tests/Expectations/Xml/Test_1.Output.verified.txt @@ -1,4 +1,4 @@ - + @@ -29,7 +29,7 @@ - diff --git a/test/Spectre.Console.Cli.Tests/Expectations/Xml/Test_3.Output.verified.txt b/test/Spectre.Console.Cli.Tests/Expectations/Xml/Test_3.Output.verified.txt index d59c67eb6..6b1f90fba 100644 --- a/test/Spectre.Console.Cli.Tests/Expectations/Xml/Test_3.Output.verified.txt +++ b/test/Spectre.Console.Cli.Tests/Expectations/Xml/Test_3.Output.verified.txt @@ -1,4 +1,4 @@ - + @@ -25,7 +25,7 @@ -