diff --git a/examples/Cli/Demo/Demo.csproj b/examples/Cli/Demo/Demo.csproj index 408b61e..6b6904a 100644 --- a/examples/Cli/Demo/Demo.csproj +++ b/examples/Cli/Demo/Demo.csproj @@ -11,7 +11,7 @@ - + diff --git a/examples/Examples.sln b/examples/Examples.sln index 8bf48eb..317ec66 100644 --- a/examples/Examples.sln +++ b/examples/Examples.sln @@ -75,6 +75,8 @@ Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Spectre.Console.ImageSharp" EndProject Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Paths", "Console\Paths\Paths.csproj", "{65CB00B0-A3AE-4E8F-A990-4C8C1A232FE2}" EndProject +Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Spectre.Console.Cli", "..\src\Spectre.Console.Cli\Spectre.Console.Cli.csproj", "{EFAADF6A-C77D-41EC-83F5-BBB4FFC5A6D7}" +EndProject Global GlobalSection(SolutionConfigurationPlatforms) = preSolution Debug|Any CPU = Debug|Any CPU @@ -493,6 +495,18 @@ Global {65CB00B0-A3AE-4E8F-A990-4C8C1A232FE2}.Release|x64.Build.0 = Release|Any CPU {65CB00B0-A3AE-4E8F-A990-4C8C1A232FE2}.Release|x86.ActiveCfg = Release|Any CPU {65CB00B0-A3AE-4E8F-A990-4C8C1A232FE2}.Release|x86.Build.0 = Release|Any CPU + {EFAADF6A-C77D-41EC-83F5-BBB4FFC5A6D7}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {EFAADF6A-C77D-41EC-83F5-BBB4FFC5A6D7}.Debug|Any CPU.Build.0 = Debug|Any CPU + {EFAADF6A-C77D-41EC-83F5-BBB4FFC5A6D7}.Debug|x64.ActiveCfg = Debug|Any CPU + {EFAADF6A-C77D-41EC-83F5-BBB4FFC5A6D7}.Debug|x64.Build.0 = Debug|Any CPU + {EFAADF6A-C77D-41EC-83F5-BBB4FFC5A6D7}.Debug|x86.ActiveCfg = Debug|Any CPU + {EFAADF6A-C77D-41EC-83F5-BBB4FFC5A6D7}.Debug|x86.Build.0 = Debug|Any CPU + {EFAADF6A-C77D-41EC-83F5-BBB4FFC5A6D7}.Release|Any CPU.ActiveCfg = Release|Any CPU + {EFAADF6A-C77D-41EC-83F5-BBB4FFC5A6D7}.Release|Any CPU.Build.0 = Release|Any CPU + {EFAADF6A-C77D-41EC-83F5-BBB4FFC5A6D7}.Release|x64.ActiveCfg = Release|Any CPU + {EFAADF6A-C77D-41EC-83F5-BBB4FFC5A6D7}.Release|x64.Build.0 = Release|Any CPU + {EFAADF6A-C77D-41EC-83F5-BBB4FFC5A6D7}.Release|x86.ActiveCfg = Release|Any CPU + {EFAADF6A-C77D-41EC-83F5-BBB4FFC5A6D7}.Release|x86.Build.0 = Release|Any CPU EndGlobalSection GlobalSection(SolutionProperties) = preSolution HideSolutionNode = FALSE @@ -506,6 +520,7 @@ Global {DD8EC1B0-F50C-44E4-8399-2D560F95E572} = {2571F1BD-6556-4F96-B27B-B6190E1BF13A} {0C58FB17-F60A-47AB-84BF-961EC8C06AE6} = {2571F1BD-6556-4F96-B27B-B6190E1BF13A} {A127CE7D-A5A7-4745-9809-EBD7CB12CEE7} = {2571F1BD-6556-4F96-B27B-B6190E1BF13A} + {EFAADF6A-C77D-41EC-83F5-BBB4FFC5A6D7} = {2571F1BD-6556-4F96-B27B-B6190E1BF13A} EndGlobalSection GlobalSection(ExtensibilityGlobals) = postSolution SolutionGuid = {3EE724C5-CAB4-410D-AC63-8D4260EF83ED} diff --git a/examples/Shared/Shared.csproj b/examples/Shared/Shared.csproj index 3dffb69..358378d 100644 --- a/examples/Shared/Shared.csproj +++ b/examples/Shared/Shared.csproj @@ -7,6 +7,7 @@ + diff --git a/src/Spectre.Console/Cli/Annotations/CommandArgumentAttribute.cs b/src/Spectre.Console.Cli/Annotations/CommandArgumentAttribute.cs similarity index 100% rename from src/Spectre.Console/Cli/Annotations/CommandArgumentAttribute.cs rename to src/Spectre.Console.Cli/Annotations/CommandArgumentAttribute.cs diff --git a/src/Spectre.Console/Cli/Annotations/CommandOptionAttribute.cs b/src/Spectre.Console.Cli/Annotations/CommandOptionAttribute.cs similarity index 100% rename from src/Spectre.Console/Cli/Annotations/CommandOptionAttribute.cs rename to src/Spectre.Console.Cli/Annotations/CommandOptionAttribute.cs diff --git a/src/Spectre.Console/Cli/Annotations/PairDeconstructorAttribute.cs b/src/Spectre.Console.Cli/Annotations/PairDeconstructorAttribute.cs similarity index 100% rename from src/Spectre.Console/Cli/Annotations/PairDeconstructorAttribute.cs rename to src/Spectre.Console.Cli/Annotations/PairDeconstructorAttribute.cs diff --git a/src/Spectre.Console/Cli/Annotations/ParameterValidationAttribute.cs b/src/Spectre.Console.Cli/Annotations/ParameterValidationAttribute.cs similarity index 100% rename from src/Spectre.Console/Cli/Annotations/ParameterValidationAttribute.cs rename to src/Spectre.Console.Cli/Annotations/ParameterValidationAttribute.cs diff --git a/src/Spectre.Console/Cli/Annotations/ParameterValueProviderAttribute.cs b/src/Spectre.Console.Cli/Annotations/ParameterValueProviderAttribute.cs similarity index 100% rename from src/Spectre.Console/Cli/Annotations/ParameterValueProviderAttribute.cs rename to src/Spectre.Console.Cli/Annotations/ParameterValueProviderAttribute.cs diff --git a/src/Spectre.Console/Cli/AsyncCommand.cs b/src/Spectre.Console.Cli/AsyncCommand.cs similarity index 100% rename from src/Spectre.Console/Cli/AsyncCommand.cs rename to src/Spectre.Console.Cli/AsyncCommand.cs diff --git a/src/Spectre.Console/Cli/AsyncCommandOfT.cs b/src/Spectre.Console.Cli/AsyncCommandOfT.cs similarity index 100% rename from src/Spectre.Console/Cli/AsyncCommandOfT.cs rename to src/Spectre.Console.Cli/AsyncCommandOfT.cs diff --git a/src/Spectre.Console/Cli/CaseSensitivity.cs b/src/Spectre.Console.Cli/CaseSensitivity.cs similarity index 100% rename from src/Spectre.Console/Cli/CaseSensitivity.cs rename to src/Spectre.Console.Cli/CaseSensitivity.cs diff --git a/src/Spectre.Console/Cli/Command.cs b/src/Spectre.Console.Cli/Command.cs similarity index 100% rename from src/Spectre.Console/Cli/Command.cs rename to src/Spectre.Console.Cli/Command.cs diff --git a/src/Spectre.Console/Cli/CommandApp.cs b/src/Spectre.Console.Cli/CommandApp.cs similarity index 100% rename from src/Spectre.Console/Cli/CommandApp.cs rename to src/Spectre.Console.Cli/CommandApp.cs diff --git a/src/Spectre.Console/Cli/CommandAppException.cs b/src/Spectre.Console.Cli/CommandAppException.cs similarity index 100% rename from src/Spectre.Console/Cli/CommandAppException.cs rename to src/Spectre.Console.Cli/CommandAppException.cs diff --git a/src/Spectre.Console/Cli/CommandAppOfT.cs b/src/Spectre.Console.Cli/CommandAppOfT.cs similarity index 100% rename from src/Spectre.Console/Cli/CommandAppOfT.cs rename to src/Spectre.Console.Cli/CommandAppOfT.cs diff --git a/src/Spectre.Console/Cli/CommandConfigurationException.cs b/src/Spectre.Console.Cli/CommandConfigurationException.cs similarity index 100% rename from src/Spectre.Console/Cli/CommandConfigurationException.cs rename to src/Spectre.Console.Cli/CommandConfigurationException.cs diff --git a/src/Spectre.Console/Cli/CommandContext.cs b/src/Spectre.Console.Cli/CommandContext.cs similarity index 100% rename from src/Spectre.Console/Cli/CommandContext.cs rename to src/Spectre.Console.Cli/CommandContext.cs diff --git a/src/Spectre.Console/Cli/CommandOfT.cs b/src/Spectre.Console.Cli/CommandOfT.cs similarity index 100% rename from src/Spectre.Console/Cli/CommandOfT.cs rename to src/Spectre.Console.Cli/CommandOfT.cs diff --git a/src/Spectre.Console/Cli/CommandParameterContext.cs b/src/Spectre.Console.Cli/CommandParameterContext.cs similarity index 100% rename from src/Spectre.Console/Cli/CommandParameterContext.cs rename to src/Spectre.Console.Cli/CommandParameterContext.cs diff --git a/src/Spectre.Console/Cli/CommandParseException.cs b/src/Spectre.Console.Cli/CommandParseException.cs similarity index 100% rename from src/Spectre.Console/Cli/CommandParseException.cs rename to src/Spectre.Console.Cli/CommandParseException.cs diff --git a/src/Spectre.Console/Cli/CommandRuntimeException.cs b/src/Spectre.Console.Cli/CommandRuntimeException.cs similarity index 100% rename from src/Spectre.Console/Cli/CommandRuntimeException.cs rename to src/Spectre.Console.Cli/CommandRuntimeException.cs diff --git a/src/Spectre.Console/Cli/CommandSettings.cs b/src/Spectre.Console.Cli/CommandSettings.cs similarity index 100% rename from src/Spectre.Console/Cli/CommandSettings.cs rename to src/Spectre.Console.Cli/CommandSettings.cs diff --git a/src/Spectre.Console/Cli/CommandTemplateException.cs b/src/Spectre.Console.Cli/CommandTemplateException.cs similarity index 100% rename from src/Spectre.Console/Cli/CommandTemplateException.cs rename to src/Spectre.Console.Cli/CommandTemplateException.cs diff --git a/src/Spectre.Console/Cli/ConfiguratorExtensions.cs b/src/Spectre.Console.Cli/ConfiguratorExtensions.cs similarity index 100% rename from src/Spectre.Console/Cli/ConfiguratorExtensions.cs rename to src/Spectre.Console.Cli/ConfiguratorExtensions.cs diff --git a/src/Spectre.Console/Cli/EmptyCommandSettings.cs b/src/Spectre.Console.Cli/EmptyCommandSettings.cs similarity index 100% rename from src/Spectre.Console/Cli/EmptyCommandSettings.cs rename to src/Spectre.Console.Cli/EmptyCommandSettings.cs diff --git a/src/Spectre.Console/Cli/FlagValue.cs b/src/Spectre.Console.Cli/FlagValue.cs similarity index 100% rename from src/Spectre.Console/Cli/FlagValue.cs rename to src/Spectre.Console.Cli/FlagValue.cs diff --git a/src/Spectre.Console/Cli/ICommand.cs b/src/Spectre.Console.Cli/ICommand.cs similarity index 100% rename from src/Spectre.Console/Cli/ICommand.cs rename to src/Spectre.Console.Cli/ICommand.cs diff --git a/src/Spectre.Console/Cli/ICommandApp.cs b/src/Spectre.Console.Cli/ICommandApp.cs similarity index 100% rename from src/Spectre.Console/Cli/ICommandApp.cs rename to src/Spectre.Console.Cli/ICommandApp.cs diff --git a/src/Spectre.Console/Cli/ICommandAppSettings.cs b/src/Spectre.Console.Cli/ICommandAppSettings.cs similarity index 100% rename from src/Spectre.Console/Cli/ICommandAppSettings.cs rename to src/Spectre.Console.Cli/ICommandAppSettings.cs diff --git a/src/Spectre.Console/Cli/ICommandConfigurator.cs b/src/Spectre.Console.Cli/ICommandConfigurator.cs similarity index 100% rename from src/Spectre.Console/Cli/ICommandConfigurator.cs rename to src/Spectre.Console.Cli/ICommandConfigurator.cs diff --git a/src/Spectre.Console/Cli/ICommandInterceptor.cs b/src/Spectre.Console.Cli/ICommandInterceptor.cs similarity index 100% rename from src/Spectre.Console/Cli/ICommandInterceptor.cs rename to src/Spectre.Console.Cli/ICommandInterceptor.cs diff --git a/src/Spectre.Console/Cli/ICommandLimiterOfT.cs b/src/Spectre.Console.Cli/ICommandLimiterOfT.cs similarity index 100% rename from src/Spectre.Console/Cli/ICommandLimiterOfT.cs rename to src/Spectre.Console.Cli/ICommandLimiterOfT.cs diff --git a/src/Spectre.Console/Cli/ICommandOfT.cs b/src/Spectre.Console.Cli/ICommandOfT.cs similarity index 100% rename from src/Spectre.Console/Cli/ICommandOfT.cs rename to src/Spectre.Console.Cli/ICommandOfT.cs diff --git a/src/Spectre.Console/Cli/ICommandParameterInfo.cs b/src/Spectre.Console.Cli/ICommandParameterInfo.cs similarity index 100% rename from src/Spectre.Console/Cli/ICommandParameterInfo.cs rename to src/Spectre.Console.Cli/ICommandParameterInfo.cs diff --git a/src/Spectre.Console/Cli/IConfigurator.cs b/src/Spectre.Console.Cli/IConfigurator.cs similarity index 100% rename from src/Spectre.Console/Cli/IConfigurator.cs rename to src/Spectre.Console.Cli/IConfigurator.cs diff --git a/src/Spectre.Console/Cli/IConfiguratorOfT.cs b/src/Spectre.Console.Cli/IConfiguratorOfT.cs similarity index 100% rename from src/Spectre.Console/Cli/IConfiguratorOfT.cs rename to src/Spectre.Console.Cli/IConfiguratorOfT.cs diff --git a/src/Spectre.Console/Cli/IFlagValue.cs b/src/Spectre.Console.Cli/IFlagValue.cs similarity index 100% rename from src/Spectre.Console/Cli/IFlagValue.cs rename to src/Spectre.Console.Cli/IFlagValue.cs diff --git a/src/Spectre.Console/Cli/IRemainingArguments.cs b/src/Spectre.Console.Cli/IRemainingArguments.cs similarity index 100% rename from src/Spectre.Console/Cli/IRemainingArguments.cs rename to src/Spectre.Console.Cli/IRemainingArguments.cs diff --git a/src/Spectre.Console/Cli/ITypeRegistrar.cs b/src/Spectre.Console.Cli/ITypeRegistrar.cs similarity index 100% rename from src/Spectre.Console/Cli/ITypeRegistrar.cs rename to src/Spectre.Console.Cli/ITypeRegistrar.cs diff --git a/src/Spectre.Console/Cli/ITypeRegistrarFrontend.cs b/src/Spectre.Console.Cli/ITypeRegistrarFrontend.cs similarity index 100% rename from src/Spectre.Console/Cli/ITypeRegistrarFrontend.cs rename to src/Spectre.Console.Cli/ITypeRegistrarFrontend.cs diff --git a/src/Spectre.Console/Cli/ITypeResolver.cs b/src/Spectre.Console.Cli/ITypeResolver.cs similarity index 100% rename from src/Spectre.Console/Cli/ITypeResolver.cs rename to src/Spectre.Console.Cli/ITypeResolver.cs diff --git a/src/Spectre.Console/Cli/Internal/Binding/CommandConstructorBinder.cs b/src/Spectre.Console.Cli/Internal/Binding/CommandConstructorBinder.cs similarity index 100% rename from src/Spectre.Console/Cli/Internal/Binding/CommandConstructorBinder.cs rename to src/Spectre.Console.Cli/Internal/Binding/CommandConstructorBinder.cs diff --git a/src/Spectre.Console/Cli/Internal/Binding/CommandPropertyBinder.cs b/src/Spectre.Console.Cli/Internal/Binding/CommandPropertyBinder.cs similarity index 100% rename from src/Spectre.Console/Cli/Internal/Binding/CommandPropertyBinder.cs rename to src/Spectre.Console.Cli/Internal/Binding/CommandPropertyBinder.cs diff --git a/src/Spectre.Console/Cli/Internal/Binding/CommandValueBinder.cs b/src/Spectre.Console.Cli/Internal/Binding/CommandValueBinder.cs similarity index 100% rename from src/Spectre.Console/Cli/Internal/Binding/CommandValueBinder.cs rename to src/Spectre.Console.Cli/Internal/Binding/CommandValueBinder.cs diff --git a/src/Spectre.Console/Cli/Internal/Binding/CommandValueLookup.cs b/src/Spectre.Console.Cli/Internal/Binding/CommandValueLookup.cs similarity index 100% rename from src/Spectre.Console/Cli/Internal/Binding/CommandValueLookup.cs rename to src/Spectre.Console.Cli/Internal/Binding/CommandValueLookup.cs diff --git a/src/Spectre.Console/Cli/Internal/Binding/CommandValueResolver.cs b/src/Spectre.Console.Cli/Internal/Binding/CommandValueResolver.cs similarity index 100% rename from src/Spectre.Console/Cli/Internal/Binding/CommandValueResolver.cs rename to src/Spectre.Console.Cli/Internal/Binding/CommandValueResolver.cs diff --git a/src/Spectre.Console/Cli/Internal/Collections/IMultiMap.cs b/src/Spectre.Console.Cli/Internal/Collections/IMultiMap.cs similarity index 100% rename from src/Spectre.Console/Cli/Internal/Collections/IMultiMap.cs rename to src/Spectre.Console.Cli/Internal/Collections/IMultiMap.cs diff --git a/src/Spectre.Console/Cli/Internal/Collections/MultiMap.cs b/src/Spectre.Console.Cli/Internal/Collections/MultiMap.cs similarity index 100% rename from src/Spectre.Console/Cli/Internal/Collections/MultiMap.cs rename to src/Spectre.Console.Cli/Internal/Collections/MultiMap.cs diff --git a/src/Spectre.Console/Cli/Internal/CommandBinder.cs b/src/Spectre.Console.Cli/Internal/CommandBinder.cs similarity index 100% rename from src/Spectre.Console/Cli/Internal/CommandBinder.cs rename to src/Spectre.Console.Cli/Internal/CommandBinder.cs diff --git a/src/Spectre.Console/Cli/Internal/CommandExecutor.cs b/src/Spectre.Console.Cli/Internal/CommandExecutor.cs similarity index 100% rename from src/Spectre.Console/Cli/Internal/CommandExecutor.cs rename to src/Spectre.Console.Cli/Internal/CommandExecutor.cs diff --git a/src/Spectre.Console/Cli/Internal/CommandPart.cs b/src/Spectre.Console.Cli/Internal/CommandPart.cs similarity index 100% rename from src/Spectre.Console/Cli/Internal/CommandPart.cs rename to src/Spectre.Console.Cli/Internal/CommandPart.cs diff --git a/src/Spectre.Console/Cli/Internal/CommandSuggestor.cs b/src/Spectre.Console.Cli/Internal/CommandSuggestor.cs similarity index 100% rename from src/Spectre.Console/Cli/Internal/CommandSuggestor.cs rename to src/Spectre.Console.Cli/Internal/CommandSuggestor.cs diff --git a/src/Spectre.Console/Cli/Internal/CommandValidator.cs b/src/Spectre.Console.Cli/Internal/CommandValidator.cs similarity index 100% rename from src/Spectre.Console/Cli/Internal/CommandValidator.cs rename to src/Spectre.Console.Cli/Internal/CommandValidator.cs diff --git a/src/Spectre.Console/Cli/Internal/Commands/ExplainCommand.cs b/src/Spectre.Console.Cli/Internal/Commands/ExplainCommand.cs similarity index 100% rename from src/Spectre.Console/Cli/Internal/Commands/ExplainCommand.cs rename to src/Spectre.Console.Cli/Internal/Commands/ExplainCommand.cs diff --git a/src/Spectre.Console/Cli/Internal/Commands/VersionCommand.cs b/src/Spectre.Console.Cli/Internal/Commands/VersionCommand.cs similarity index 100% rename from src/Spectre.Console/Cli/Internal/Commands/VersionCommand.cs rename to src/Spectre.Console.Cli/Internal/Commands/VersionCommand.cs diff --git a/src/Spectre.Console/Cli/Internal/Commands/XmlDocCommand.cs b/src/Spectre.Console.Cli/Internal/Commands/XmlDocCommand.cs similarity index 100% rename from src/Spectre.Console/Cli/Internal/Commands/XmlDocCommand.cs rename to src/Spectre.Console.Cli/Internal/Commands/XmlDocCommand.cs diff --git a/src/Spectre.Console/Cli/Internal/Composer.cs b/src/Spectre.Console.Cli/Internal/Composer.cs similarity index 100% rename from src/Spectre.Console/Cli/Internal/Composer.cs rename to src/Spectre.Console.Cli/Internal/Composer.cs diff --git a/src/Spectre.Console/Cli/Internal/Composition/Activators.cs b/src/Spectre.Console.Cli/Internal/Composition/Activators.cs similarity index 100% rename from src/Spectre.Console/Cli/Internal/Composition/Activators.cs rename to src/Spectre.Console.Cli/Internal/Composition/Activators.cs diff --git a/src/Spectre.Console/Cli/Internal/Composition/ComponentRegistration.cs b/src/Spectre.Console.Cli/Internal/Composition/ComponentRegistration.cs similarity index 100% rename from src/Spectre.Console/Cli/Internal/Composition/ComponentRegistration.cs rename to src/Spectre.Console.Cli/Internal/Composition/ComponentRegistration.cs diff --git a/src/Spectre.Console/Cli/Internal/Composition/ComponentRegistry.cs b/src/Spectre.Console.Cli/Internal/Composition/ComponentRegistry.cs similarity index 100% rename from src/Spectre.Console/Cli/Internal/Composition/ComponentRegistry.cs rename to src/Spectre.Console.Cli/Internal/Composition/ComponentRegistry.cs diff --git a/src/Spectre.Console/Cli/Internal/Composition/DefaultTypeRegistrar.cs b/src/Spectre.Console.Cli/Internal/Composition/DefaultTypeRegistrar.cs similarity index 100% rename from src/Spectre.Console/Cli/Internal/Composition/DefaultTypeRegistrar.cs rename to src/Spectre.Console.Cli/Internal/Composition/DefaultTypeRegistrar.cs diff --git a/src/Spectre.Console/Cli/Internal/Composition/DefaultTypeResolver.cs b/src/Spectre.Console.Cli/Internal/Composition/DefaultTypeResolver.cs similarity index 100% rename from src/Spectre.Console/Cli/Internal/Composition/DefaultTypeResolver.cs rename to src/Spectre.Console.Cli/Internal/Composition/DefaultTypeResolver.cs diff --git a/src/Spectre.Console/Cli/Internal/Configuration/CommandAppSettings.cs b/src/Spectre.Console.Cli/Internal/Configuration/CommandAppSettings.cs similarity index 100% rename from src/Spectre.Console/Cli/Internal/Configuration/CommandAppSettings.cs rename to src/Spectre.Console.Cli/Internal/Configuration/CommandAppSettings.cs diff --git a/src/Spectre.Console/Cli/Internal/Configuration/CommandConfigurator.cs b/src/Spectre.Console.Cli/Internal/Configuration/CommandConfigurator.cs similarity index 100% rename from src/Spectre.Console/Cli/Internal/Configuration/CommandConfigurator.cs rename to src/Spectre.Console.Cli/Internal/Configuration/CommandConfigurator.cs diff --git a/src/Spectre.Console/Cli/Internal/Configuration/ConfigurationHelper.cs b/src/Spectre.Console.Cli/Internal/Configuration/ConfigurationHelper.cs similarity index 100% rename from src/Spectre.Console/Cli/Internal/Configuration/ConfigurationHelper.cs rename to src/Spectre.Console.Cli/Internal/Configuration/ConfigurationHelper.cs diff --git a/src/Spectre.Console/Cli/Internal/Configuration/Configurator.cs b/src/Spectre.Console.Cli/Internal/Configuration/Configurator.cs similarity index 100% rename from src/Spectre.Console/Cli/Internal/Configuration/Configurator.cs rename to src/Spectre.Console.Cli/Internal/Configuration/Configurator.cs diff --git a/src/Spectre.Console/Cli/Internal/Configuration/ConfiguratorOfT.cs b/src/Spectre.Console.Cli/Internal/Configuration/ConfiguratorOfT.cs similarity index 100% rename from src/Spectre.Console/Cli/Internal/Configuration/ConfiguratorOfT.cs rename to src/Spectre.Console.Cli/Internal/Configuration/ConfiguratorOfT.cs diff --git a/src/Spectre.Console/Cli/Internal/Configuration/ConfiguredCommand.cs b/src/Spectre.Console.Cli/Internal/Configuration/ConfiguredCommand.cs similarity index 100% rename from src/Spectre.Console/Cli/Internal/Configuration/ConfiguredCommand.cs rename to src/Spectre.Console.Cli/Internal/Configuration/ConfiguredCommand.cs diff --git a/src/Spectre.Console/Cli/Internal/Configuration/IConfiguration.cs b/src/Spectre.Console.Cli/Internal/Configuration/IConfiguration.cs similarity index 100% rename from src/Spectre.Console/Cli/Internal/Configuration/IConfiguration.cs rename to src/Spectre.Console.Cli/Internal/Configuration/IConfiguration.cs diff --git a/src/Spectre.Console/Cli/Internal/Configuration/TemplateParser.cs b/src/Spectre.Console.Cli/Internal/Configuration/TemplateParser.cs similarity index 100% rename from src/Spectre.Console/Cli/Internal/Configuration/TemplateParser.cs rename to src/Spectre.Console.Cli/Internal/Configuration/TemplateParser.cs diff --git a/src/Spectre.Console/Cli/Internal/Configuration/TemplateToken.cs b/src/Spectre.Console.Cli/Internal/Configuration/TemplateToken.cs similarity index 100% rename from src/Spectre.Console/Cli/Internal/Configuration/TemplateToken.cs rename to src/Spectre.Console.Cli/Internal/Configuration/TemplateToken.cs diff --git a/src/Spectre.Console/Cli/Internal/Configuration/TemplateTokenizer.cs b/src/Spectre.Console.Cli/Internal/Configuration/TemplateTokenizer.cs similarity index 100% rename from src/Spectre.Console/Cli/Internal/Configuration/TemplateTokenizer.cs rename to src/Spectre.Console.Cli/Internal/Configuration/TemplateTokenizer.cs diff --git a/src/Spectre.Console/Cli/Internal/Constants.cs b/src/Spectre.Console.Cli/Internal/Constants.cs similarity index 100% rename from src/Spectre.Console/Cli/Internal/Constants.cs rename to src/Spectre.Console.Cli/Internal/Constants.cs diff --git a/src/Spectre.Console/Cli/Internal/DefaultPairDeconstructor.cs b/src/Spectre.Console.Cli/Internal/DefaultPairDeconstructor.cs similarity index 100% rename from src/Spectre.Console/Cli/Internal/DefaultPairDeconstructor.cs rename to src/Spectre.Console.Cli/Internal/DefaultPairDeconstructor.cs diff --git a/src/Spectre.Console/Cli/Internal/DelegateCommand.cs b/src/Spectre.Console.Cli/Internal/DelegateCommand.cs similarity index 100% rename from src/Spectre.Console/Cli/Internal/DelegateCommand.cs rename to src/Spectre.Console.Cli/Internal/DelegateCommand.cs diff --git a/src/Spectre.Console/Cli/Internal/Exceptions/CommandLineParseExceptionFactory.cs b/src/Spectre.Console.Cli/Internal/Exceptions/CommandLineParseExceptionFactory.cs similarity index 100% rename from src/Spectre.Console/Cli/Internal/Exceptions/CommandLineParseExceptionFactory.cs rename to src/Spectre.Console.Cli/Internal/Exceptions/CommandLineParseExceptionFactory.cs diff --git a/src/Spectre.Console/Cli/Internal/Exceptions/CommandLineTemplateExceptionFactory.cs b/src/Spectre.Console.Cli/Internal/Exceptions/CommandLineTemplateExceptionFactory.cs similarity index 100% rename from src/Spectre.Console/Cli/Internal/Exceptions/CommandLineTemplateExceptionFactory.cs rename to src/Spectre.Console.Cli/Internal/Exceptions/CommandLineTemplateExceptionFactory.cs diff --git a/src/Spectre.Console/Cli/Internal/Extensions/AnsiConsoleExtensions.cs b/src/Spectre.Console.Cli/Internal/Extensions/AnsiConsoleExtensions.cs similarity index 100% rename from src/Spectre.Console/Cli/Internal/Extensions/AnsiConsoleExtensions.cs rename to src/Spectre.Console.Cli/Internal/Extensions/AnsiConsoleExtensions.cs diff --git a/src/Spectre.Console/Cli/Internal/Extensions/CaseSensitivityExtensions.cs b/src/Spectre.Console.Cli/Internal/Extensions/CaseSensitivityExtensions.cs similarity index 100% rename from src/Spectre.Console/Cli/Internal/Extensions/CaseSensitivityExtensions.cs rename to src/Spectre.Console.Cli/Internal/Extensions/CaseSensitivityExtensions.cs diff --git a/src/Spectre.Console/Cli/Internal/Extensions/ListExtensions.cs b/src/Spectre.Console.Cli/Internal/Extensions/ListExtensions.cs similarity index 100% rename from src/Spectre.Console/Cli/Internal/Extensions/ListExtensions.cs rename to src/Spectre.Console.Cli/Internal/Extensions/ListExtensions.cs diff --git a/src/Spectre.Console/Cli/Internal/Extensions/StringExtensions.cs b/src/Spectre.Console.Cli/Internal/Extensions/StringExtensions.cs similarity index 100% rename from src/Spectre.Console/Cli/Internal/Extensions/StringExtensions.cs rename to src/Spectre.Console.Cli/Internal/Extensions/StringExtensions.cs diff --git a/src/Spectre.Console/Cli/Internal/Extensions/TypeExtensions.cs b/src/Spectre.Console.Cli/Internal/Extensions/TypeExtensions.cs similarity index 100% rename from src/Spectre.Console/Cli/Internal/Extensions/TypeExtensions.cs rename to src/Spectre.Console.Cli/Internal/Extensions/TypeExtensions.cs diff --git a/src/Spectre.Console/Cli/Internal/Extensions/TypeRegistrarExtensions.cs b/src/Spectre.Console.Cli/Internal/Extensions/TypeRegistrarExtensions.cs similarity index 100% rename from src/Spectre.Console/Cli/Internal/Extensions/TypeRegistrarExtensions.cs rename to src/Spectre.Console.Cli/Internal/Extensions/TypeRegistrarExtensions.cs diff --git a/src/Spectre.Console/Cli/Internal/Extensions/XmlElementExtensions.cs b/src/Spectre.Console.Cli/Internal/Extensions/XmlElementExtensions.cs similarity index 100% rename from src/Spectre.Console/Cli/Internal/Extensions/XmlElementExtensions.cs rename to src/Spectre.Console.Cli/Internal/Extensions/XmlElementExtensions.cs diff --git a/src/Spectre.Console/Cli/Internal/HelpWriter.cs b/src/Spectre.Console.Cli/Internal/HelpWriter.cs similarity index 100% rename from src/Spectre.Console/Cli/Internal/HelpWriter.cs rename to src/Spectre.Console.Cli/Internal/HelpWriter.cs diff --git a/src/Spectre.Console/Cli/Internal/IPairDeconstructor.cs b/src/Spectre.Console.Cli/Internal/IPairDeconstructor.cs similarity index 100% rename from src/Spectre.Console/Cli/Internal/IPairDeconstructor.cs rename to src/Spectre.Console.Cli/Internal/IPairDeconstructor.cs diff --git a/src/Spectre.Console/Cli/Internal/Modelling/CommandArgument.cs b/src/Spectre.Console.Cli/Internal/Modelling/CommandArgument.cs similarity index 100% rename from src/Spectre.Console/Cli/Internal/Modelling/CommandArgument.cs rename to src/Spectre.Console.Cli/Internal/Modelling/CommandArgument.cs diff --git a/src/Spectre.Console/Cli/Internal/Modelling/CommandContainerExtensions.cs b/src/Spectre.Console.Cli/Internal/Modelling/CommandContainerExtensions.cs similarity index 100% rename from src/Spectre.Console/Cli/Internal/Modelling/CommandContainerExtensions.cs rename to src/Spectre.Console.Cli/Internal/Modelling/CommandContainerExtensions.cs diff --git a/src/Spectre.Console/Cli/Internal/Modelling/CommandInfo.cs b/src/Spectre.Console.Cli/Internal/Modelling/CommandInfo.cs similarity index 100% rename from src/Spectre.Console/Cli/Internal/Modelling/CommandInfo.cs rename to src/Spectre.Console.Cli/Internal/Modelling/CommandInfo.cs diff --git a/src/Spectre.Console/Cli/Internal/Modelling/CommandInfoExtensions.cs b/src/Spectre.Console.Cli/Internal/Modelling/CommandInfoExtensions.cs similarity index 100% rename from src/Spectre.Console/Cli/Internal/Modelling/CommandInfoExtensions.cs rename to src/Spectre.Console.Cli/Internal/Modelling/CommandInfoExtensions.cs diff --git a/src/Spectre.Console/Cli/Internal/Modelling/CommandModel.cs b/src/Spectre.Console.Cli/Internal/Modelling/CommandModel.cs similarity index 100% rename from src/Spectre.Console/Cli/Internal/Modelling/CommandModel.cs rename to src/Spectre.Console.Cli/Internal/Modelling/CommandModel.cs diff --git a/src/Spectre.Console/Cli/Internal/Modelling/CommandModelBuilder.cs b/src/Spectre.Console.Cli/Internal/Modelling/CommandModelBuilder.cs similarity index 100% rename from src/Spectre.Console/Cli/Internal/Modelling/CommandModelBuilder.cs rename to src/Spectre.Console.Cli/Internal/Modelling/CommandModelBuilder.cs diff --git a/src/Spectre.Console/Cli/Internal/Modelling/CommandModelValidator.cs b/src/Spectre.Console.Cli/Internal/Modelling/CommandModelValidator.cs similarity index 100% rename from src/Spectre.Console/Cli/Internal/Modelling/CommandModelValidator.cs rename to src/Spectre.Console.Cli/Internal/Modelling/CommandModelValidator.cs diff --git a/src/Spectre.Console/Cli/Internal/Modelling/CommandOption.cs b/src/Spectre.Console.Cli/Internal/Modelling/CommandOption.cs similarity index 100% rename from src/Spectre.Console/Cli/Internal/Modelling/CommandOption.cs rename to src/Spectre.Console.Cli/Internal/Modelling/CommandOption.cs diff --git a/src/Spectre.Console/Cli/Internal/Modelling/CommandParameter.cs b/src/Spectre.Console.Cli/Internal/Modelling/CommandParameter.cs similarity index 100% rename from src/Spectre.Console/Cli/Internal/Modelling/CommandParameter.cs rename to src/Spectre.Console.Cli/Internal/Modelling/CommandParameter.cs diff --git a/src/Spectre.Console/Cli/Internal/Modelling/CommandParameterComparer.cs b/src/Spectre.Console.Cli/Internal/Modelling/CommandParameterComparer.cs similarity index 100% rename from src/Spectre.Console/Cli/Internal/Modelling/CommandParameterComparer.cs rename to src/Spectre.Console.Cli/Internal/Modelling/CommandParameterComparer.cs diff --git a/src/Spectre.Console/Cli/Internal/Modelling/ICommandContainer.cs b/src/Spectre.Console.Cli/Internal/Modelling/ICommandContainer.cs similarity index 100% rename from src/Spectre.Console/Cli/Internal/Modelling/ICommandContainer.cs rename to src/Spectre.Console.Cli/Internal/Modelling/ICommandContainer.cs diff --git a/src/Spectre.Console/Cli/Internal/Modelling/ParameterKind.cs b/src/Spectre.Console.Cli/Internal/Modelling/ParameterKind.cs similarity index 100% rename from src/Spectre.Console/Cli/Internal/Modelling/ParameterKind.cs rename to src/Spectre.Console.Cli/Internal/Modelling/ParameterKind.cs diff --git a/src/Spectre.Console/Cli/Internal/Parsing/CommandTree.cs b/src/Spectre.Console.Cli/Internal/Parsing/CommandTree.cs similarity index 100% rename from src/Spectre.Console/Cli/Internal/Parsing/CommandTree.cs rename to src/Spectre.Console.Cli/Internal/Parsing/CommandTree.cs diff --git a/src/Spectre.Console/Cli/Internal/Parsing/CommandTreeExtensions.cs b/src/Spectre.Console.Cli/Internal/Parsing/CommandTreeExtensions.cs similarity index 100% rename from src/Spectre.Console/Cli/Internal/Parsing/CommandTreeExtensions.cs rename to src/Spectre.Console.Cli/Internal/Parsing/CommandTreeExtensions.cs diff --git a/src/Spectre.Console/Cli/Internal/Parsing/CommandTreeParser.cs b/src/Spectre.Console.Cli/Internal/Parsing/CommandTreeParser.cs similarity index 100% rename from src/Spectre.Console/Cli/Internal/Parsing/CommandTreeParser.cs rename to src/Spectre.Console.Cli/Internal/Parsing/CommandTreeParser.cs diff --git a/src/Spectre.Console/Cli/Internal/Parsing/CommandTreeParserContext.cs b/src/Spectre.Console.Cli/Internal/Parsing/CommandTreeParserContext.cs similarity index 100% rename from src/Spectre.Console/Cli/Internal/Parsing/CommandTreeParserContext.cs rename to src/Spectre.Console.Cli/Internal/Parsing/CommandTreeParserContext.cs diff --git a/src/Spectre.Console/Cli/Internal/Parsing/CommandTreeParserResult.cs b/src/Spectre.Console.Cli/Internal/Parsing/CommandTreeParserResult.cs similarity index 100% rename from src/Spectre.Console/Cli/Internal/Parsing/CommandTreeParserResult.cs rename to src/Spectre.Console.Cli/Internal/Parsing/CommandTreeParserResult.cs diff --git a/src/Spectre.Console/Cli/Internal/Parsing/CommandTreeToken.cs b/src/Spectre.Console.Cli/Internal/Parsing/CommandTreeToken.cs similarity index 100% rename from src/Spectre.Console/Cli/Internal/Parsing/CommandTreeToken.cs rename to src/Spectre.Console.Cli/Internal/Parsing/CommandTreeToken.cs diff --git a/src/Spectre.Console/Cli/Internal/Parsing/CommandTreeTokenStream.cs b/src/Spectre.Console.Cli/Internal/Parsing/CommandTreeTokenStream.cs similarity index 100% rename from src/Spectre.Console/Cli/Internal/Parsing/CommandTreeTokenStream.cs rename to src/Spectre.Console.Cli/Internal/Parsing/CommandTreeTokenStream.cs diff --git a/src/Spectre.Console/Cli/Internal/Parsing/CommandTreeTokenizer.cs b/src/Spectre.Console.Cli/Internal/Parsing/CommandTreeTokenizer.cs similarity index 100% rename from src/Spectre.Console/Cli/Internal/Parsing/CommandTreeTokenizer.cs rename to src/Spectre.Console.Cli/Internal/Parsing/CommandTreeTokenizer.cs diff --git a/src/Spectre.Console/Cli/Internal/Parsing/CommandTreeTokenizerContext.cs b/src/Spectre.Console.Cli/Internal/Parsing/CommandTreeTokenizerContext.cs similarity index 100% rename from src/Spectre.Console/Cli/Internal/Parsing/CommandTreeTokenizerContext.cs rename to src/Spectre.Console.Cli/Internal/Parsing/CommandTreeTokenizerContext.cs diff --git a/src/Spectre.Console/Cli/Internal/Parsing/MappedCommandParameter.cs b/src/Spectre.Console.Cli/Internal/Parsing/MappedCommandParameter.cs similarity index 100% rename from src/Spectre.Console/Cli/Internal/Parsing/MappedCommandParameter.cs rename to src/Spectre.Console.Cli/Internal/Parsing/MappedCommandParameter.cs diff --git a/src/Spectre.Console/Cli/Internal/ParsingMode.cs b/src/Spectre.Console.Cli/Internal/ParsingMode.cs similarity index 100% rename from src/Spectre.Console/Cli/Internal/ParsingMode.cs rename to src/Spectre.Console.Cli/Internal/ParsingMode.cs diff --git a/src/Spectre.Console/Cli/Internal/RemainingArguments.cs b/src/Spectre.Console.Cli/Internal/RemainingArguments.cs similarity index 100% rename from src/Spectre.Console/Cli/Internal/RemainingArguments.cs rename to src/Spectre.Console.Cli/Internal/RemainingArguments.cs diff --git a/src/Spectre.Console/Cli/Internal/StringWriterWithEncoding.cs b/src/Spectre.Console.Cli/Internal/StringWriterWithEncoding.cs similarity index 100% rename from src/Spectre.Console/Cli/Internal/StringWriterWithEncoding.cs rename to src/Spectre.Console.Cli/Internal/StringWriterWithEncoding.cs diff --git a/src/Spectre.Console/Cli/Internal/TextBuffer.cs b/src/Spectre.Console.Cli/Internal/TextBuffer.cs similarity index 100% rename from src/Spectre.Console/Cli/Internal/TextBuffer.cs rename to src/Spectre.Console.Cli/Internal/TextBuffer.cs diff --git a/src/Spectre.Console/Cli/Internal/TypeRegistrar.cs b/src/Spectre.Console.Cli/Internal/TypeRegistrar.cs similarity index 100% rename from src/Spectre.Console/Cli/Internal/TypeRegistrar.cs rename to src/Spectre.Console.Cli/Internal/TypeRegistrar.cs diff --git a/src/Spectre.Console/Cli/Internal/TypeResolverAdapter.cs b/src/Spectre.Console.Cli/Internal/TypeResolverAdapter.cs similarity index 100% rename from src/Spectre.Console/Cli/Internal/TypeResolverAdapter.cs rename to src/Spectre.Console.Cli/Internal/TypeResolverAdapter.cs diff --git a/src/Spectre.Console/Cli/Internal/VersionHelper.cs b/src/Spectre.Console.Cli/Internal/VersionHelper.cs similarity index 100% rename from src/Spectre.Console/Cli/Internal/VersionHelper.cs rename to src/Spectre.Console.Cli/Internal/VersionHelper.cs diff --git a/src/Spectre.Console/Cli/PairDeconstructor.cs b/src/Spectre.Console.Cli/PairDeconstructor.cs similarity index 100% rename from src/Spectre.Console/Cli/PairDeconstructor.cs rename to src/Spectre.Console.Cli/PairDeconstructor.cs diff --git a/src/Spectre.Console.Cli/Properties/Usings.cs b/src/Spectre.Console.Cli/Properties/Usings.cs new file mode 100644 index 0000000..0716be8 --- /dev/null +++ b/src/Spectre.Console.Cli/Properties/Usings.cs @@ -0,0 +1,15 @@ +global using System; +global using System.Collections; +global using System.Collections.Generic; +global using System.ComponentModel; +global using System.Diagnostics; +global using System.Diagnostics.CodeAnalysis; +global using System.Globalization; +global using System.IO; +global using System.Linq; +global using System.Reflection; +global using System.Text; +global using System.Threading.Tasks; +global using System.Xml; +global using Spectre.Console.Cli.Unsafe; +global using Spectre.Console.Rendering; diff --git a/src/Spectre.Console.Cli/Spectre.Console.Cli.csproj b/src/Spectre.Console.Cli/Spectre.Console.Cli.csproj new file mode 100644 index 0000000..881d7cb --- /dev/null +++ b/src/Spectre.Console.Cli/Spectre.Console.Cli.csproj @@ -0,0 +1,34 @@ + + + + net6.0;net5.0;netstandard2.0 + enable + true + SA1633 + + + + + + + + + + + + + + + + + all + runtime; build; native; contentfiles; analyzers; buildtransitive + + + + + 3.0.0 + False + + + diff --git a/src/Spectre.Console/Cli/Unsafe/IUnsafeBranchConfigurator.cs b/src/Spectre.Console.Cli/Unsafe/IUnsafeBranchConfigurator.cs similarity index 100% rename from src/Spectre.Console/Cli/Unsafe/IUnsafeBranchConfigurator.cs rename to src/Spectre.Console.Cli/Unsafe/IUnsafeBranchConfigurator.cs diff --git a/src/Spectre.Console/Cli/Unsafe/IUnsafeConfigurator.cs b/src/Spectre.Console.Cli/Unsafe/IUnsafeConfigurator.cs similarity index 100% rename from src/Spectre.Console/Cli/Unsafe/IUnsafeConfigurator.cs rename to src/Spectre.Console.Cli/Unsafe/IUnsafeConfigurator.cs diff --git a/src/Spectre.Console/Cli/Unsafe/UnsafeConfiguratorExtensions.cs b/src/Spectre.Console.Cli/Unsafe/UnsafeConfiguratorExtensions.cs similarity index 100% rename from src/Spectre.Console/Cli/Unsafe/UnsafeConfiguratorExtensions.cs rename to src/Spectre.Console.Cli/Unsafe/UnsafeConfiguratorExtensions.cs diff --git a/test/Spectre.Console.Tests/Utilities/Extensions/ShouldlyExtensions.cs b/src/Spectre.Console.Testing/Extensions/ShouldlyExtensions.cs similarity index 87% rename from test/Spectre.Console.Tests/Utilities/Extensions/ShouldlyExtensions.cs rename to src/Spectre.Console.Testing/Extensions/ShouldlyExtensions.cs index fc84316..112cd18 100644 --- a/test/Spectre.Console.Tests/Utilities/Extensions/ShouldlyExtensions.cs +++ b/src/Spectre.Console.Testing/Extensions/ShouldlyExtensions.cs @@ -1,6 +1,6 @@ namespace Spectre.Console; -public static class ShouldlyExtensions +internal static class ShouldlyExtensions { [DebuggerStepThrough] public static T And(this T item, Action action) diff --git a/test/Spectre.Console.Tests/Utilities/FakeTypeRegistrar.cs b/src/Spectre.Console.Testing/FakeTypeRegistrar.cs similarity index 72% rename from test/Spectre.Console.Tests/Utilities/FakeTypeRegistrar.cs rename to src/Spectre.Console.Testing/FakeTypeRegistrar.cs index 38645c0..91dec0b 100644 --- a/test/Spectre.Console.Tests/Utilities/FakeTypeRegistrar.cs +++ b/src/Spectre.Console.Testing/FakeTypeRegistrar.cs @@ -1,17 +1,30 @@ namespace Spectre.Console.Testing; +/// +/// A fake type registrar suitable for testing. +/// public sealed class FakeTypeRegistrar : ITypeRegistrar { + /// + /// Gets all registrations. + /// public Dictionary> Registrations { get; } - public Dictionary> Instances { get; } - public Func>, Dictionary>, ITypeResolver> TypeResolverFactory { get; set; } + /// + /// Gets all singleton registrations. + /// + public Dictionary> Instances { get; } + + /// + /// Initializes a new instance of the class. + /// public FakeTypeRegistrar() { Registrations = new Dictionary>(); Instances = new Dictionary>(); } + /// public void Register(Type service, Type implementation) { if (!Registrations.ContainsKey(service)) @@ -24,6 +37,7 @@ public sealed class FakeTypeRegistrar : ITypeRegistrar } } + /// public void RegisterInstance(Type service, object implementation) { if (!Instances.ContainsKey(service)) @@ -32,6 +46,7 @@ public sealed class FakeTypeRegistrar : ITypeRegistrar } } + /// public void RegisterLazy(Type service, Func factory) { if (factory is null) @@ -45,8 +60,9 @@ public sealed class FakeTypeRegistrar : ITypeRegistrar } } + /// public ITypeResolver Build() { - return TypeResolverFactory?.Invoke(Registrations, Instances); + return new FakeTypeResolver(Registrations, Instances); } } diff --git a/test/Spectre.Console.Tests/Utilities/FakeTypeResolver.cs b/src/Spectre.Console.Testing/FakeTypeResolver.cs similarity index 66% rename from test/Spectre.Console.Tests/Utilities/FakeTypeResolver.cs rename to src/Spectre.Console.Testing/FakeTypeResolver.cs index dc147c6..0aa9189 100644 --- a/test/Spectre.Console.Tests/Utilities/FakeTypeResolver.cs +++ b/src/Spectre.Console.Testing/FakeTypeResolver.cs @@ -1,10 +1,18 @@ namespace Spectre.Console.Testing; +/// +/// A fake type resolver suitable for testing. +/// public sealed class FakeTypeResolver : ITypeResolver { private readonly Dictionary> _registrations; private readonly Dictionary> _instances; + /// + /// Initializes a new instance of the class. + /// + /// The registrations. + /// The singleton registrations. public FakeTypeResolver( Dictionary> registrations, Dictionary> instances) @@ -13,11 +21,14 @@ public sealed class FakeTypeResolver : ITypeResolver _instances = instances ?? throw new ArgumentNullException(nameof(instances)); } - public static Func>, Dictionary>, ITypeResolver> Factory => - (r, i) => new FakeTypeResolver(r, i); - - public object Resolve(Type type) + /// + public object? Resolve(Type? type) { + if (type == null) + { + return null; + } + if (_instances.TryGetValue(type, out var instances)) { return instances.FirstOrDefault(); diff --git a/src/Spectre.Console.Testing/Properties/Usings.cs b/src/Spectre.Console.Testing/Properties/Usings.cs index 19e56f3..030cad0 100644 --- a/src/Spectre.Console.Testing/Properties/Usings.cs +++ b/src/Spectre.Console.Testing/Properties/Usings.cs @@ -1,6 +1,8 @@ global using System; global using System.Collections.Generic; +global using System.Diagnostics; global using System.IO; +global using System.Linq; global using System.Threading; global using System.Threading.Tasks; global using Spectre.Console.Cli; diff --git a/src/Spectre.Console.Testing/Spectre.Console.Testing.csproj b/src/Spectre.Console.Testing/Spectre.Console.Testing.csproj index 46c6ada..c81ef03 100644 --- a/src/Spectre.Console.Testing/Spectre.Console.Testing.csproj +++ b/src/Spectre.Console.Testing/Spectre.Console.Testing.csproj @@ -8,12 +8,18 @@ Contains testing utilities for Spectre.Console. + + + + + + diff --git a/src/Spectre.Console.sln b/src/Spectre.Console.sln index e738a56..882adb1 100644 --- a/src/Spectre.Console.sln +++ b/src/Spectre.Console.sln @@ -1,7 +1,7 @@  Microsoft Visual Studio Solution File, Format Version 12.00 -# Visual Studio Version 16 -VisualStudioVersion = 16.0.30225.117 +# Visual Studio Version 17 +VisualStudioVersion = 17.1.32414.318 MinimumVisualStudioVersion = 15.0.26124.0 Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Spectre.Console", "Spectre.Console\Spectre.Console.csproj", "{80DCBEF3-99D6-46C0-9C5B-42B4534D9113}" EndProject @@ -30,6 +30,10 @@ Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Plugins", "Plugins", "{E0E4 EndProject Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Spectre.Console.Tests", "..\test\Spectre.Console.Tests\Spectre.Console.Tests.csproj", "{60A4CADD-2B3D-48ED-89C0-1637A1F111AE}" EndProject +Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Spectre.Console.Cli", "Spectre.Console.Cli\Spectre.Console.Cli.csproj", "{1B67B74F-1243-4381-9A2B-86EA66D135C5}" +EndProject +Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Spectre.Console.Cli.Tests", "..\test\Spectre.Console.Cli.Tests\Spectre.Console.Cli.Tests.csproj", "{E07C46D2-714F-4116-BADD-FEE09617A9C4}" +EndProject Global GlobalSection(SolutionConfigurationPlatforms) = preSolution Debug|Any CPU = Debug|Any CPU @@ -88,6 +92,30 @@ Global {60A4CADD-2B3D-48ED-89C0-1637A1F111AE}.Release|x64.Build.0 = Release|Any CPU {60A4CADD-2B3D-48ED-89C0-1637A1F111AE}.Release|x86.ActiveCfg = Release|Any CPU {60A4CADD-2B3D-48ED-89C0-1637A1F111AE}.Release|x86.Build.0 = Release|Any CPU + {1B67B74F-1243-4381-9A2B-86EA66D135C5}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {1B67B74F-1243-4381-9A2B-86EA66D135C5}.Debug|Any CPU.Build.0 = Debug|Any CPU + {1B67B74F-1243-4381-9A2B-86EA66D135C5}.Debug|x64.ActiveCfg = Debug|Any CPU + {1B67B74F-1243-4381-9A2B-86EA66D135C5}.Debug|x64.Build.0 = Debug|Any CPU + {1B67B74F-1243-4381-9A2B-86EA66D135C5}.Debug|x86.ActiveCfg = Debug|Any CPU + {1B67B74F-1243-4381-9A2B-86EA66D135C5}.Debug|x86.Build.0 = Debug|Any CPU + {1B67B74F-1243-4381-9A2B-86EA66D135C5}.Release|Any CPU.ActiveCfg = Release|Any CPU + {1B67B74F-1243-4381-9A2B-86EA66D135C5}.Release|Any CPU.Build.0 = Release|Any CPU + {1B67B74F-1243-4381-9A2B-86EA66D135C5}.Release|x64.ActiveCfg = Release|Any CPU + {1B67B74F-1243-4381-9A2B-86EA66D135C5}.Release|x64.Build.0 = Release|Any CPU + {1B67B74F-1243-4381-9A2B-86EA66D135C5}.Release|x86.ActiveCfg = Release|Any CPU + {1B67B74F-1243-4381-9A2B-86EA66D135C5}.Release|x86.Build.0 = Release|Any CPU + {E07C46D2-714F-4116-BADD-FEE09617A9C4}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {E07C46D2-714F-4116-BADD-FEE09617A9C4}.Debug|Any CPU.Build.0 = Debug|Any CPU + {E07C46D2-714F-4116-BADD-FEE09617A9C4}.Debug|x64.ActiveCfg = Debug|Any CPU + {E07C46D2-714F-4116-BADD-FEE09617A9C4}.Debug|x64.Build.0 = Debug|Any CPU + {E07C46D2-714F-4116-BADD-FEE09617A9C4}.Debug|x86.ActiveCfg = Debug|Any CPU + {E07C46D2-714F-4116-BADD-FEE09617A9C4}.Debug|x86.Build.0 = Debug|Any CPU + {E07C46D2-714F-4116-BADD-FEE09617A9C4}.Release|Any CPU.ActiveCfg = Release|Any CPU + {E07C46D2-714F-4116-BADD-FEE09617A9C4}.Release|Any CPU.Build.0 = Release|Any CPU + {E07C46D2-714F-4116-BADD-FEE09617A9C4}.Release|x64.ActiveCfg = Release|Any CPU + {E07C46D2-714F-4116-BADD-FEE09617A9C4}.Release|x64.Build.0 = Release|Any CPU + {E07C46D2-714F-4116-BADD-FEE09617A9C4}.Release|x86.ActiveCfg = Release|Any CPU + {E07C46D2-714F-4116-BADD-FEE09617A9C4}.Release|x86.Build.0 = Release|Any CPU EndGlobalSection GlobalSection(SolutionProperties) = preSolution HideSolutionNode = FALSE diff --git a/src/Spectre.Console/Properties/Usings.cs b/src/Spectre.Console/Properties/Usings.cs index 45e8172..304b189 100644 --- a/src/Spectre.Console/Properties/Usings.cs +++ b/src/Spectre.Console/Properties/Usings.cs @@ -16,7 +16,6 @@ global using System.Text.RegularExpressions; global using System.Threading; global using System.Threading.Tasks; global using System.Xml; -global using Spectre.Console.Cli.Unsafe; global using Spectre.Console.Enrichment; global using Spectre.Console.Internal; global using Spectre.Console.Rendering; diff --git a/src/Spectre.Console/Spectre.Console.csproj b/src/Spectre.Console/Spectre.Console.csproj index 2c90a3f..f12db11 100644 --- a/src/Spectre.Console/Spectre.Console.csproj +++ b/src/Spectre.Console/Spectre.Console.csproj @@ -16,7 +16,6 @@ - diff --git a/test/Spectre.Console.Tests/Constants.cs b/test/Spectre.Console.Cli.Tests/Constants.cs similarity index 100% rename from test/Spectre.Console.Tests/Constants.cs rename to test/Spectre.Console.Cli.Tests/Constants.cs diff --git a/test/Spectre.Console.Tests/Data/Commands/AnimalCommand.cs b/test/Spectre.Console.Cli.Tests/Data/Commands/AnimalCommand.cs similarity index 100% rename from test/Spectre.Console.Tests/Data/Commands/AnimalCommand.cs rename to test/Spectre.Console.Cli.Tests/Data/Commands/AnimalCommand.cs diff --git a/test/Spectre.Console.Tests/Data/Commands/CatCommand.cs b/test/Spectre.Console.Cli.Tests/Data/Commands/CatCommand.cs similarity index 100% rename from test/Spectre.Console.Tests/Data/Commands/CatCommand.cs rename to test/Spectre.Console.Cli.Tests/Data/Commands/CatCommand.cs diff --git a/test/Spectre.Console.Tests/Data/Commands/DogCommand.cs b/test/Spectre.Console.Cli.Tests/Data/Commands/DogCommand.cs similarity index 100% rename from test/Spectre.Console.Tests/Data/Commands/DogCommand.cs rename to test/Spectre.Console.Cli.Tests/Data/Commands/DogCommand.cs diff --git a/test/Spectre.Console.Tests/Data/Commands/DumpRemainingCommand.cs b/test/Spectre.Console.Cli.Tests/Data/Commands/DumpRemainingCommand.cs similarity index 88% rename from test/Spectre.Console.Tests/Data/Commands/DumpRemainingCommand.cs rename to test/Spectre.Console.Cli.Tests/Data/Commands/DumpRemainingCommand.cs index c769c01..dc8e71d 100644 --- a/test/Spectre.Console.Tests/Data/Commands/DumpRemainingCommand.cs +++ b/test/Spectre.Console.Cli.Tests/Data/Commands/DumpRemainingCommand.cs @@ -9,7 +9,7 @@ public sealed class DumpRemainingCommand : Command _console = console; } - public override int Execute([NotNull] CommandContext context, [NotNull] EmptyCommandSettings settings) + public override int Execute(CommandContext context, EmptyCommandSettings settings) { if (context.Remaining.Raw.Count > 0) { diff --git a/test/Spectre.Console.Tests/Data/Commands/EmptyCommand.cs b/test/Spectre.Console.Cli.Tests/Data/Commands/EmptyCommand.cs similarity index 100% rename from test/Spectre.Console.Tests/Data/Commands/EmptyCommand.cs rename to test/Spectre.Console.Cli.Tests/Data/Commands/EmptyCommand.cs diff --git a/test/Spectre.Console.Tests/Data/Commands/GenericCommand.cs b/test/Spectre.Console.Cli.Tests/Data/Commands/GenericCommand.cs similarity index 100% rename from test/Spectre.Console.Tests/Data/Commands/GenericCommand.cs rename to test/Spectre.Console.Cli.Tests/Data/Commands/GenericCommand.cs diff --git a/test/Spectre.Console.Tests/Data/Commands/GiraffeCommand.cs b/test/Spectre.Console.Cli.Tests/Data/Commands/GiraffeCommand.cs similarity index 100% rename from test/Spectre.Console.Tests/Data/Commands/GiraffeCommand.cs rename to test/Spectre.Console.Cli.Tests/Data/Commands/GiraffeCommand.cs diff --git a/test/Spectre.Console.Tests/Data/Commands/HiddenOptionsCommand.cs b/test/Spectre.Console.Cli.Tests/Data/Commands/HiddenOptionsCommand.cs similarity index 100% rename from test/Spectre.Console.Tests/Data/Commands/HiddenOptionsCommand.cs rename to test/Spectre.Console.Cli.Tests/Data/Commands/HiddenOptionsCommand.cs diff --git a/test/Spectre.Console.Tests/Data/Commands/HorseCommand.cs b/test/Spectre.Console.Cli.Tests/Data/Commands/HorseCommand.cs similarity index 100% rename from test/Spectre.Console.Tests/Data/Commands/HorseCommand.cs rename to test/Spectre.Console.Cli.Tests/Data/Commands/HorseCommand.cs diff --git a/test/Spectre.Console.Tests/Data/Commands/InvalidCommand.cs b/test/Spectre.Console.Cli.Tests/Data/Commands/InvalidCommand.cs similarity index 100% rename from test/Spectre.Console.Tests/Data/Commands/InvalidCommand.cs rename to test/Spectre.Console.Cli.Tests/Data/Commands/InvalidCommand.cs diff --git a/test/Spectre.Console.Tests/Data/Commands/LionCommand.cs b/test/Spectre.Console.Cli.Tests/Data/Commands/LionCommand.cs similarity index 100% rename from test/Spectre.Console.Tests/Data/Commands/LionCommand.cs rename to test/Spectre.Console.Cli.Tests/Data/Commands/LionCommand.cs diff --git a/test/Spectre.Console.Tests/Data/Commands/NoDescriptionCommand.cs b/test/Spectre.Console.Cli.Tests/Data/Commands/NoDescriptionCommand.cs similarity index 67% rename from test/Spectre.Console.Tests/Data/Commands/NoDescriptionCommand.cs rename to test/Spectre.Console.Cli.Tests/Data/Commands/NoDescriptionCommand.cs index 8cb86b6..5e9c0bc 100644 --- a/test/Spectre.Console.Tests/Data/Commands/NoDescriptionCommand.cs +++ b/test/Spectre.Console.Cli.Tests/Data/Commands/NoDescriptionCommand.cs @@ -5,7 +5,7 @@ public sealed class NoDescriptionCommand : Command [CommandOption("-f|--foo ")] public int Foo { get; set; } - public override int Execute([NotNull] CommandContext context, [NotNull] EmptyCommandSettings settings) + public override int Execute(CommandContext context, EmptyCommandSettings settings) { return 0; } diff --git a/test/Spectre.Console.Tests/Data/Commands/OptionVectorCommand.cs b/test/Spectre.Console.Cli.Tests/Data/Commands/OptionVectorCommand.cs similarity index 100% rename from test/Spectre.Console.Tests/Data/Commands/OptionVectorCommand.cs rename to test/Spectre.Console.Cli.Tests/Data/Commands/OptionVectorCommand.cs diff --git a/test/Spectre.Console.Tests/Data/Commands/ThrowingCommand.cs b/test/Spectre.Console.Cli.Tests/Data/Commands/ThrowingCommand.cs similarity index 100% rename from test/Spectre.Console.Tests/Data/Commands/ThrowingCommand.cs rename to test/Spectre.Console.Cli.Tests/Data/Commands/ThrowingCommand.cs diff --git a/test/Spectre.Console.Tests/Data/Converters/CatAgilityConverter.cs b/test/Spectre.Console.Cli.Tests/Data/Converters/CatAgilityConverter.cs similarity index 100% rename from test/Spectre.Console.Tests/Data/Converters/CatAgilityConverter.cs rename to test/Spectre.Console.Cli.Tests/Data/Converters/CatAgilityConverter.cs diff --git a/test/Spectre.Console.Tests/Data/Converters/StringToIntegerConverter.cs b/test/Spectre.Console.Cli.Tests/Data/Converters/StringToIntegerConverter.cs similarity index 100% rename from test/Spectre.Console.Tests/Data/Converters/StringToIntegerConverter.cs rename to test/Spectre.Console.Cli.Tests/Data/Converters/StringToIntegerConverter.cs diff --git a/test/Spectre.Console.Tests/Data/Settings/AnimalSettings.cs b/test/Spectre.Console.Cli.Tests/Data/Settings/AnimalSettings.cs similarity index 100% rename from test/Spectre.Console.Tests/Data/Settings/AnimalSettings.cs rename to test/Spectre.Console.Cli.Tests/Data/Settings/AnimalSettings.cs diff --git a/test/Spectre.Console.Tests/Data/Settings/ArgumentOrderSettings.cs b/test/Spectre.Console.Cli.Tests/Data/Settings/ArgumentOrderSettings.cs similarity index 100% rename from test/Spectre.Console.Tests/Data/Settings/ArgumentOrderSettings.cs rename to test/Spectre.Console.Cli.Tests/Data/Settings/ArgumentOrderSettings.cs diff --git a/test/Spectre.Console.Tests/Data/Settings/ArgumentVectorSettings.cs b/test/Spectre.Console.Cli.Tests/Data/Settings/ArgumentVectorSettings.cs similarity index 100% rename from test/Spectre.Console.Tests/Data/Settings/ArgumentVectorSettings.cs rename to test/Spectre.Console.Cli.Tests/Data/Settings/ArgumentVectorSettings.cs diff --git a/test/Spectre.Console.Tests/Data/Settings/BarCommandSettings.cs b/test/Spectre.Console.Cli.Tests/Data/Settings/BarCommandSettings.cs similarity index 100% rename from test/Spectre.Console.Tests/Data/Settings/BarCommandSettings.cs rename to test/Spectre.Console.Cli.Tests/Data/Settings/BarCommandSettings.cs diff --git a/test/Spectre.Console.Tests/Data/Settings/CatSettings.cs b/test/Spectre.Console.Cli.Tests/Data/Settings/CatSettings.cs similarity index 100% rename from test/Spectre.Console.Tests/Data/Settings/CatSettings.cs rename to test/Spectre.Console.Cli.Tests/Data/Settings/CatSettings.cs diff --git a/test/Spectre.Console.Tests/Data/Settings/DogSettings.cs b/test/Spectre.Console.Cli.Tests/Data/Settings/DogSettings.cs similarity index 100% rename from test/Spectre.Console.Tests/Data/Settings/DogSettings.cs rename to test/Spectre.Console.Cli.Tests/Data/Settings/DogSettings.cs diff --git a/test/Spectre.Console.Tests/Data/Settings/EmptySettings.cs b/test/Spectre.Console.Cli.Tests/Data/Settings/EmptySettings.cs similarity index 100% rename from test/Spectre.Console.Tests/Data/Settings/EmptySettings.cs rename to test/Spectre.Console.Cli.Tests/Data/Settings/EmptySettings.cs diff --git a/test/Spectre.Console.Tests/Data/Settings/FooSettings.cs b/test/Spectre.Console.Cli.Tests/Data/Settings/FooSettings.cs similarity index 100% rename from test/Spectre.Console.Tests/Data/Settings/FooSettings.cs rename to test/Spectre.Console.Cli.Tests/Data/Settings/FooSettings.cs diff --git a/test/Spectre.Console.Tests/Data/Settings/GiraffeSettings.cs b/test/Spectre.Console.Cli.Tests/Data/Settings/GiraffeSettings.cs similarity index 100% rename from test/Spectre.Console.Tests/Data/Settings/GiraffeSettings.cs rename to test/Spectre.Console.Cli.Tests/Data/Settings/GiraffeSettings.cs diff --git a/test/Spectre.Console.Tests/Data/Settings/HiddenOptionSettings.cs b/test/Spectre.Console.Cli.Tests/Data/Settings/HiddenOptionSettings.cs similarity index 100% rename from test/Spectre.Console.Tests/Data/Settings/HiddenOptionSettings.cs rename to test/Spectre.Console.Cli.Tests/Data/Settings/HiddenOptionSettings.cs diff --git a/test/Spectre.Console.Tests/Data/Settings/InvalidSettings.cs b/test/Spectre.Console.Cli.Tests/Data/Settings/InvalidSettings.cs similarity index 100% rename from test/Spectre.Console.Tests/Data/Settings/InvalidSettings.cs rename to test/Spectre.Console.Cli.Tests/Data/Settings/InvalidSettings.cs diff --git a/test/Spectre.Console.Tests/Data/Settings/LionSettings.cs b/test/Spectre.Console.Cli.Tests/Data/Settings/LionSettings.cs similarity index 100% rename from test/Spectre.Console.Tests/Data/Settings/LionSettings.cs rename to test/Spectre.Console.Cli.Tests/Data/Settings/LionSettings.cs diff --git a/test/Spectre.Console.Tests/Data/Settings/MammalSettings.cs b/test/Spectre.Console.Cli.Tests/Data/Settings/MammalSettings.cs similarity index 100% rename from test/Spectre.Console.Tests/Data/Settings/MammalSettings.cs rename to test/Spectre.Console.Cli.Tests/Data/Settings/MammalSettings.cs diff --git a/test/Spectre.Console.Tests/Data/Settings/MultipleArgumentVectorSettings.cs b/test/Spectre.Console.Cli.Tests/Data/Settings/MultipleArgumentVectorSettings.cs similarity index 100% rename from test/Spectre.Console.Tests/Data/Settings/MultipleArgumentVectorSettings.cs rename to test/Spectre.Console.Cli.Tests/Data/Settings/MultipleArgumentVectorSettings.cs diff --git a/test/Spectre.Console.Tests/Data/Settings/OptionVectorSettings.cs b/test/Spectre.Console.Cli.Tests/Data/Settings/OptionVectorSettings.cs similarity index 100% rename from test/Spectre.Console.Tests/Data/Settings/OptionVectorSettings.cs rename to test/Spectre.Console.Cli.Tests/Data/Settings/OptionVectorSettings.cs diff --git a/test/Spectre.Console.Tests/Data/Settings/OptionalArgumentWithDefaultValueSettings.cs b/test/Spectre.Console.Cli.Tests/Data/Settings/OptionalArgumentWithDefaultValueSettings.cs similarity index 100% rename from test/Spectre.Console.Tests/Data/Settings/OptionalArgumentWithDefaultValueSettings.cs rename to test/Spectre.Console.Cli.Tests/Data/Settings/OptionalArgumentWithDefaultValueSettings.cs diff --git a/test/Spectre.Console.Tests/Data/Settings/StringOptionSettings.cs b/test/Spectre.Console.Cli.Tests/Data/Settings/StringOptionSettings.cs similarity index 100% rename from test/Spectre.Console.Tests/Data/Settings/StringOptionSettings.cs rename to test/Spectre.Console.Cli.Tests/Data/Settings/StringOptionSettings.cs diff --git a/test/Spectre.Console.Tests/Data/Validators/EvenNumberValidatorAttribute.cs b/test/Spectre.Console.Cli.Tests/Data/Validators/EvenNumberValidatorAttribute.cs similarity index 100% rename from test/Spectre.Console.Tests/Data/Validators/EvenNumberValidatorAttribute.cs rename to test/Spectre.Console.Cli.Tests/Data/Validators/EvenNumberValidatorAttribute.cs diff --git a/test/Spectre.Console.Tests/Data/Validators/PositiveNumberValidatorAttribute.cs b/test/Spectre.Console.Cli.Tests/Data/Validators/PositiveNumberValidatorAttribute.cs similarity index 100% rename from test/Spectre.Console.Tests/Data/Validators/PositiveNumberValidatorAttribute.cs rename to test/Spectre.Console.Cli.Tests/Data/Validators/PositiveNumberValidatorAttribute.cs diff --git a/test/Spectre.Console.Cli.Tests/Expectations/Arguments/ArgumentCannotContainOptions.Output.verified.txt b/test/Spectre.Console.Cli.Tests/Expectations/Arguments/ArgumentCannotContainOptions.Output.verified.txt new file mode 100644 index 0000000..fbfd4d7 --- /dev/null +++ b/test/Spectre.Console.Cli.Tests/Expectations/Arguments/ArgumentCannotContainOptions.Output.verified.txt @@ -0,0 +1,5 @@ +Error: An error occured when parsing template. + Arguments can not contain options. + + --foo + ^^^^^ Not permitted \ No newline at end of file diff --git a/test/Spectre.Console.Cli.Tests/Expectations/Arguments/InvalidCharacterInOptionName.Output.verified.txt b/test/Spectre.Console.Cli.Tests/Expectations/Arguments/InvalidCharacterInOptionName.Output.verified.txt new file mode 100644 index 0000000..87989bd --- /dev/null +++ b/test/Spectre.Console.Cli.Tests/Expectations/Arguments/InvalidCharacterInOptionName.Output.verified.txt @@ -0,0 +1,5 @@ +Error: An error occured when parsing template. + Encountered invalid character '$' in option name. + + --f$oo + ^ Invalid character \ No newline at end of file diff --git a/test/Spectre.Console.Cli.Tests/Expectations/Arguments/InvalidCharacterInValueName.Output.verified.txt b/test/Spectre.Console.Cli.Tests/Expectations/Arguments/InvalidCharacterInValueName.Output.verified.txt new file mode 100644 index 0000000..6d40834 --- /dev/null +++ b/test/Spectre.Console.Cli.Tests/Expectations/Arguments/InvalidCharacterInValueName.Output.verified.txt @@ -0,0 +1,5 @@ +Error: An error occured when parsing template. + Encountered invalid character '$' in value name. + + -f|--foo + ^ Invalid character \ No newline at end of file diff --git a/test/Spectre.Console.Cli.Tests/Expectations/Arguments/LongOptionMustHaveMoreThanOneCharacter.Output.verified.txt b/test/Spectre.Console.Cli.Tests/Expectations/Arguments/LongOptionMustHaveMoreThanOneCharacter.Output.verified.txt new file mode 100644 index 0000000..1f72ae6 --- /dev/null +++ b/test/Spectre.Console.Cli.Tests/Expectations/Arguments/LongOptionMustHaveMoreThanOneCharacter.Output.verified.txt @@ -0,0 +1,5 @@ +Error: An error occured when parsing template. + Long option names must consist of more than one character. + + --f + ^ Invalid option name \ No newline at end of file diff --git a/test/Spectre.Console.Cli.Tests/Expectations/Arguments/MissingLongAndShortName.Output.verified.txt b/test/Spectre.Console.Cli.Tests/Expectations/Arguments/MissingLongAndShortName.Output.verified.txt new file mode 100644 index 0000000..0c41190 --- /dev/null +++ b/test/Spectre.Console.Cli.Tests/Expectations/Arguments/MissingLongAndShortName.Output.verified.txt @@ -0,0 +1,5 @@ +Error: An error occured when parsing template. + No long or short name for option has been specified. + + + ^^^^^ Missing option. Was this meant to be an argument? \ No newline at end of file diff --git a/test/Spectre.Console.Cli.Tests/Expectations/Arguments/MultipleOptionValuesAreNotSupported.Output.verified.txt b/test/Spectre.Console.Cli.Tests/Expectations/Arguments/MultipleOptionValuesAreNotSupported.Output.verified.txt new file mode 100644 index 0000000..e27e657 --- /dev/null +++ b/test/Spectre.Console.Cli.Tests/Expectations/Arguments/MultipleOptionValuesAreNotSupported.Output.verified.txt @@ -0,0 +1,5 @@ +Error: An error occured when parsing template. + Multiple option values are not supported. + + -f|--foo + ^^^^^ Too many option values \ No newline at end of file diff --git a/test/Spectre.Console.Cli.Tests/Expectations/Arguments/MultipleValuesAreNotSupported.Output.verified.txt b/test/Spectre.Console.Cli.Tests/Expectations/Arguments/MultipleValuesAreNotSupported.Output.verified.txt new file mode 100644 index 0000000..413d129 --- /dev/null +++ b/test/Spectre.Console.Cli.Tests/Expectations/Arguments/MultipleValuesAreNotSupported.Output.verified.txt @@ -0,0 +1,5 @@ +Error: An error occured when parsing template. + Multiple values are not supported. + + + ^^^^^ Too many values \ No newline at end of file diff --git a/test/Spectre.Console.Cli.Tests/Expectations/Arguments/OptionNamesCannotStartWithDigit.Output.verified.txt b/test/Spectre.Console.Cli.Tests/Expectations/Arguments/OptionNamesCannotStartWithDigit.Output.verified.txt new file mode 100644 index 0000000..ff5ff30 --- /dev/null +++ b/test/Spectre.Console.Cli.Tests/Expectations/Arguments/OptionNamesCannotStartWithDigit.Output.verified.txt @@ -0,0 +1,5 @@ +Error: An error occured when parsing template. + Option names cannot start with a digit. + + --1foo + ^^^^ Invalid option name \ No newline at end of file diff --git a/test/Spectre.Console.Cli.Tests/Expectations/Arguments/OptionsMustHaveName.Output.verified.txt b/test/Spectre.Console.Cli.Tests/Expectations/Arguments/OptionsMustHaveName.Output.verified.txt new file mode 100644 index 0000000..3e277d9 --- /dev/null +++ b/test/Spectre.Console.Cli.Tests/Expectations/Arguments/OptionsMustHaveName.Output.verified.txt @@ -0,0 +1,5 @@ +Error: An error occured when parsing template. + Options without name are not allowed. + + --foo|- + ^ Missing option name \ No newline at end of file diff --git a/test/Spectre.Console.Cli.Tests/Expectations/Arguments/ShortOptionMustOnlyBeOneCharacter.Output.verified.txt b/test/Spectre.Console.Cli.Tests/Expectations/Arguments/ShortOptionMustOnlyBeOneCharacter.Output.verified.txt new file mode 100644 index 0000000..d7986d9 --- /dev/null +++ b/test/Spectre.Console.Cli.Tests/Expectations/Arguments/ShortOptionMustOnlyBeOneCharacter.Output.verified.txt @@ -0,0 +1,5 @@ +Error: An error occured when parsing template. + Short option names can not be longer than one character. + + --foo|-bar + ^^^ Invalid option name \ No newline at end of file diff --git a/test/Spectre.Console.Cli.Tests/Expectations/Arguments/UnexpectedCharacter.Output.verified.txt b/test/Spectre.Console.Cli.Tests/Expectations/Arguments/UnexpectedCharacter.Output.verified.txt new file mode 100644 index 0000000..ed7e614 --- /dev/null +++ b/test/Spectre.Console.Cli.Tests/Expectations/Arguments/UnexpectedCharacter.Output.verified.txt @@ -0,0 +1,5 @@ +Error: An error occured when parsing template. + Encountered unexpected character '$'. + + $ + ^ Unexpected character \ No newline at end of file diff --git a/test/Spectre.Console.Cli.Tests/Expectations/Arguments/UnterminatedValueName.Output.verified.txt b/test/Spectre.Console.Cli.Tests/Expectations/Arguments/UnterminatedValueName.Output.verified.txt new file mode 100644 index 0000000..b245f77 --- /dev/null +++ b/test/Spectre.Console.Cli.Tests/Expectations/Arguments/UnterminatedValueName.Output.verified.txt @@ -0,0 +1,5 @@ +Error: An error occured when parsing template. + Encountered unterminated value name 'BAR'. + + --foo|-f + ^^ Missing value name \ No newline at end of file diff --git a/test/Spectre.Console.Cli.Tests/Expectations/Help/ArgumentOrder.Output.verified.txt b/test/Spectre.Console.Cli.Tests/Expectations/Help/ArgumentOrder.Output.verified.txt new file mode 100644 index 0000000..31c0da3 --- /dev/null +++ b/test/Spectre.Console.Cli.Tests/Expectations/Help/ArgumentOrder.Output.verified.txt @@ -0,0 +1,12 @@ +USAGE: + myapp [QUX] [OPTIONS] + +ARGUMENTS: + + + + + [QUX] + +OPTIONS: + -h, --help Prints help information \ No newline at end of file diff --git a/test/Spectre.Console.Cli.Tests/Expectations/Help/Command.Output.verified.txt b/test/Spectre.Console.Cli.Tests/Expectations/Help/Command.Output.verified.txt new file mode 100644 index 0000000..1408721 --- /dev/null +++ b/test/Spectre.Console.Cli.Tests/Expectations/Help/Command.Output.verified.txt @@ -0,0 +1,14 @@ +USAGE: + myapp cat [LEGS] [OPTIONS] + +ARGUMENTS: + [LEGS] The number of legs + +OPTIONS: + -h, --help Prints help information + -a, --alive Indicates whether or not the animal is alive + -n, --name + --agility The agility between 0 and 100 + +COMMANDS: + lion The lion command \ No newline at end of file diff --git a/test/Spectre.Console.Cli.Tests/Expectations/Help/CommandExamples.Output.verified.txt b/test/Spectre.Console.Cli.Tests/Expectations/Help/CommandExamples.Output.verified.txt new file mode 100644 index 0000000..ccadb2c --- /dev/null +++ b/test/Spectre.Console.Cli.Tests/Expectations/Help/CommandExamples.Output.verified.txt @@ -0,0 +1,16 @@ +USAGE: + myapp animal [LEGS] [OPTIONS] + +EXAMPLES: + myapp animal --help + +ARGUMENTS: + [LEGS] The number of legs + +OPTIONS: + -h, --help Prints help information + -a, --alive Indicates whether or not the animal is alive + +COMMANDS: + dog The dog command + horse The horse command \ No newline at end of file diff --git a/test/Spectre.Console.Cli.Tests/Expectations/Help/Default.Output.verified.txt b/test/Spectre.Console.Cli.Tests/Expectations/Help/Default.Output.verified.txt new file mode 100644 index 0000000..f34969b --- /dev/null +++ b/test/Spectre.Console.Cli.Tests/Expectations/Help/Default.Output.verified.txt @@ -0,0 +1,13 @@ +USAGE: + myapp [LEGS] [OPTIONS] + +ARGUMENTS: + The number of teeth the lion has + [LEGS] The number of legs + +OPTIONS: + -h, --help Prints help information + -a, --alive Indicates whether or not the animal is alive + -n, --name + --agility The agility between 0 and 100 + -c The number of children the lion has \ No newline at end of file diff --git a/test/Spectre.Console.Cli.Tests/Expectations/Help/DefaultExamples.Output.verified.txt b/test/Spectre.Console.Cli.Tests/Expectations/Help/DefaultExamples.Output.verified.txt new file mode 100644 index 0000000..725c159 --- /dev/null +++ b/test/Spectre.Console.Cli.Tests/Expectations/Help/DefaultExamples.Output.verified.txt @@ -0,0 +1,16 @@ +USAGE: + myapp [LEGS] [OPTIONS] + +EXAMPLES: + myapp 12 -c 3 + +ARGUMENTS: + The number of teeth the lion has + [LEGS] The number of legs + +OPTIONS: + -h, --help Prints help information + -a, --alive Indicates whether or not the animal is alive + -n, --name + --agility The agility between 0 and 100 + -c The number of children the lion has \ No newline at end of file diff --git a/test/Spectre.Console.Cli.Tests/Expectations/Help/Hidden_Command_Options.Output.verified.txt b/test/Spectre.Console.Cli.Tests/Expectations/Help/Hidden_Command_Options.Output.verified.txt new file mode 100644 index 0000000..fe241ad --- /dev/null +++ b/test/Spectre.Console.Cli.Tests/Expectations/Help/Hidden_Command_Options.Output.verified.txt @@ -0,0 +1,9 @@ +USAGE: + myapp [OPTIONS] + +ARGUMENTS: + Dummy argument FOO + +OPTIONS: + -h, --help Prints help information + --baz Dummy option BAZ \ No newline at end of file diff --git a/test/Spectre.Console.Cli.Tests/Expectations/Help/Hidden_Commands.Output.verified.txt b/test/Spectre.Console.Cli.Tests/Expectations/Help/Hidden_Commands.Output.verified.txt new file mode 100644 index 0000000..6a792da --- /dev/null +++ b/test/Spectre.Console.Cli.Tests/Expectations/Help/Hidden_Commands.Output.verified.txt @@ -0,0 +1,10 @@ +USAGE: + myapp [OPTIONS] + +OPTIONS: + -h, --help Prints help information + -v, --version Prints version information + +COMMANDS: + dog The dog command + horse The horse command \ No newline at end of file diff --git a/test/Spectre.Console.Cli.Tests/Expectations/Help/Leaf.Output.verified.txt b/test/Spectre.Console.Cli.Tests/Expectations/Help/Leaf.Output.verified.txt new file mode 100644 index 0000000..bceaf85 --- /dev/null +++ b/test/Spectre.Console.Cli.Tests/Expectations/Help/Leaf.Output.verified.txt @@ -0,0 +1,9 @@ +USAGE: + myapp cat [LEGS] lion [OPTIONS] + +ARGUMENTS: + The number of teeth the lion has + +OPTIONS: + -h, --help Prints help information + -c The number of children the lion has \ No newline at end of file diff --git a/test/Spectre.Console.Cli.Tests/Expectations/Help/NoDescription.Output.verified.txt b/test/Spectre.Console.Cli.Tests/Expectations/Help/NoDescription.Output.verified.txt new file mode 100644 index 0000000..f214d32 --- /dev/null +++ b/test/Spectre.Console.Cli.Tests/Expectations/Help/NoDescription.Output.verified.txt @@ -0,0 +1,9 @@ +USAGE: + myapp [OPTIONS] + +OPTIONS: + -h, --help Prints help information + -v, --version Prints version information + +COMMANDS: + bar \ No newline at end of file diff --git a/test/Spectre.Console.Cli.Tests/Expectations/Help/Root.Output.verified.txt b/test/Spectre.Console.Cli.Tests/Expectations/Help/Root.Output.verified.txt new file mode 100644 index 0000000..366b6b3 --- /dev/null +++ b/test/Spectre.Console.Cli.Tests/Expectations/Help/Root.Output.verified.txt @@ -0,0 +1,11 @@ +USAGE: + myapp [OPTIONS] + +OPTIONS: + -h, --help Prints help information + -v, --version Prints version information + +COMMANDS: + dog The dog command + horse The horse command + giraffe The giraffe command \ No newline at end of file diff --git a/test/Spectre.Console.Cli.Tests/Expectations/Help/RootExamples.Output.verified.txt b/test/Spectre.Console.Cli.Tests/Expectations/Help/RootExamples.Output.verified.txt new file mode 100644 index 0000000..6f5066a --- /dev/null +++ b/test/Spectre.Console.Cli.Tests/Expectations/Help/RootExamples.Output.verified.txt @@ -0,0 +1,14 @@ +USAGE: + myapp [OPTIONS] + +EXAMPLES: + myapp dog --name Rufus --age 12 --good-boy + myapp horse --name Brutus + +OPTIONS: + -h, --help Prints help information + -v, --version Prints version information + +COMMANDS: + dog The dog command + horse The horse command \ No newline at end of file diff --git a/test/Spectre.Console.Cli.Tests/Expectations/Help/RootExamples_Children.Output.verified.txt b/test/Spectre.Console.Cli.Tests/Expectations/Help/RootExamples_Children.Output.verified.txt new file mode 100644 index 0000000..6f5066a --- /dev/null +++ b/test/Spectre.Console.Cli.Tests/Expectations/Help/RootExamples_Children.Output.verified.txt @@ -0,0 +1,14 @@ +USAGE: + myapp [OPTIONS] + +EXAMPLES: + myapp dog --name Rufus --age 12 --good-boy + myapp horse --name Brutus + +OPTIONS: + -h, --help Prints help information + -v, --version Prints version information + +COMMANDS: + dog The dog command + horse The horse command \ No newline at end of file diff --git a/test/Spectre.Console.Cli.Tests/Expectations/Help/RootExamples_Leafs.Output.verified.txt b/test/Spectre.Console.Cli.Tests/Expectations/Help/RootExamples_Leafs.Output.verified.txt new file mode 100644 index 0000000..7d3b86e --- /dev/null +++ b/test/Spectre.Console.Cli.Tests/Expectations/Help/RootExamples_Leafs.Output.verified.txt @@ -0,0 +1,13 @@ +USAGE: + myapp [OPTIONS] + +EXAMPLES: + myapp animal dog --name Rufus --age 12 --good-boy + myapp animal horse --name Brutus + +OPTIONS: + -h, --help Prints help information + -v, --version Prints version information + +COMMANDS: + animal The animal command \ No newline at end of file diff --git a/test/Spectre.Console.Cli.Tests/Expectations/Parsing/CannotAssignValueToFlag/Test_1.Output.verified.txt b/test/Spectre.Console.Cli.Tests/Expectations/Parsing/CannotAssignValueToFlag/Test_1.Output.verified.txt new file mode 100644 index 0000000..7def92f --- /dev/null +++ b/test/Spectre.Console.Cli.Tests/Expectations/Parsing/CannotAssignValueToFlag/Test_1.Output.verified.txt @@ -0,0 +1,4 @@ +Error: Flags cannot be assigned a value. + + dog --alive foo + ^^^^^^^ Can't assign value \ No newline at end of file diff --git a/test/Spectre.Console.Cli.Tests/Expectations/Parsing/CannotAssignValueToFlag/Test_2.Output.verified.txt b/test/Spectre.Console.Cli.Tests/Expectations/Parsing/CannotAssignValueToFlag/Test_2.Output.verified.txt new file mode 100644 index 0000000..b3381d2 --- /dev/null +++ b/test/Spectre.Console.Cli.Tests/Expectations/Parsing/CannotAssignValueToFlag/Test_2.Output.verified.txt @@ -0,0 +1,4 @@ +Error: Flags cannot be assigned a value. + + dog -a foo + ^^ Can't assign value \ No newline at end of file diff --git a/test/Spectre.Console.Cli.Tests/Expectations/Parsing/InvalidShortOptionName/Test_1.Output.verified.txt b/test/Spectre.Console.Cli.Tests/Expectations/Parsing/InvalidShortOptionName/Test_1.Output.verified.txt new file mode 100644 index 0000000..b6efb4d --- /dev/null +++ b/test/Spectre.Console.Cli.Tests/Expectations/Parsing/InvalidShortOptionName/Test_1.Output.verified.txt @@ -0,0 +1,4 @@ +Error: Short option does not have a valid name. + + dog -f0o + ^ Not a valid name for a short option \ No newline at end of file diff --git a/test/Spectre.Console.Cli.Tests/Expectations/Parsing/LongOptionNameContainSymbol/Test_1.Output.verified.txt b/test/Spectre.Console.Cli.Tests/Expectations/Parsing/LongOptionNameContainSymbol/Test_1.Output.verified.txt new file mode 100644 index 0000000..aced667 --- /dev/null +++ b/test/Spectre.Console.Cli.Tests/Expectations/Parsing/LongOptionNameContainSymbol/Test_1.Output.verified.txt @@ -0,0 +1,4 @@ +Error: Invalid long option name. + + dog --f€oo + ^ Invalid character \ No newline at end of file diff --git a/test/Spectre.Console.Cli.Tests/Expectations/Parsing/LongOptionNameIsMissing/Test_1.Output.verified.txt b/test/Spectre.Console.Cli.Tests/Expectations/Parsing/LongOptionNameIsMissing/Test_1.Output.verified.txt new file mode 100644 index 0000000..62f3c00 --- /dev/null +++ b/test/Spectre.Console.Cli.Tests/Expectations/Parsing/LongOptionNameIsMissing/Test_1.Output.verified.txt @@ -0,0 +1,4 @@ +Error: Invalid long option name. + + dog -- + ^^ Did you forget the option name? \ No newline at end of file diff --git a/test/Spectre.Console.Cli.Tests/Expectations/Parsing/LongOptionNameIsOneCharacter/Test_1.Output.verified.txt b/test/Spectre.Console.Cli.Tests/Expectations/Parsing/LongOptionNameIsOneCharacter/Test_1.Output.verified.txt new file mode 100644 index 0000000..22a5672 --- /dev/null +++ b/test/Spectre.Console.Cli.Tests/Expectations/Parsing/LongOptionNameIsOneCharacter/Test_1.Output.verified.txt @@ -0,0 +1,4 @@ +Error: Invalid long option name. + + dog --f + ^^^ Did you mean -f? \ No newline at end of file diff --git a/test/Spectre.Console.Cli.Tests/Expectations/Parsing/LongOptionNameStartWithDigit/Test_1.Output.verified.txt b/test/Spectre.Console.Cli.Tests/Expectations/Parsing/LongOptionNameStartWithDigit/Test_1.Output.verified.txt new file mode 100644 index 0000000..295fe90 --- /dev/null +++ b/test/Spectre.Console.Cli.Tests/Expectations/Parsing/LongOptionNameStartWithDigit/Test_1.Output.verified.txt @@ -0,0 +1,4 @@ +Error: Invalid long option name. + + dog --1foo + ^^^^^^ Option names cannot start with a digit \ No newline at end of file diff --git a/test/Spectre.Console.Cli.Tests/Expectations/Parsing/NoMatchingArgument/Test_1.Output.verified.txt b/test/Spectre.Console.Cli.Tests/Expectations/Parsing/NoMatchingArgument/Test_1.Output.verified.txt new file mode 100644 index 0000000..1873f49 --- /dev/null +++ b/test/Spectre.Console.Cli.Tests/Expectations/Parsing/NoMatchingArgument/Test_1.Output.verified.txt @@ -0,0 +1,4 @@ +Error: Could not match 'baz' with an argument. + + giraffe foo bar baz + ^^^ Could not match to argument \ No newline at end of file diff --git a/test/Spectre.Console.Cli.Tests/Expectations/Parsing/NoValueForOption/Test_1.Output.verified.txt b/test/Spectre.Console.Cli.Tests/Expectations/Parsing/NoValueForOption/Test_1.Output.verified.txt new file mode 100644 index 0000000..346f4d4 --- /dev/null +++ b/test/Spectre.Console.Cli.Tests/Expectations/Parsing/NoValueForOption/Test_1.Output.verified.txt @@ -0,0 +1,4 @@ +Error: Option 'name' is defined but no value has been provided. + + dog --name + ^^^^^^ No value provided \ No newline at end of file diff --git a/test/Spectre.Console.Cli.Tests/Expectations/Parsing/NoValueForOption/Test_2.Output.verified.txt b/test/Spectre.Console.Cli.Tests/Expectations/Parsing/NoValueForOption/Test_2.Output.verified.txt new file mode 100644 index 0000000..97e0cbd --- /dev/null +++ b/test/Spectre.Console.Cli.Tests/Expectations/Parsing/NoValueForOption/Test_2.Output.verified.txt @@ -0,0 +1,4 @@ +Error: Option 'name' is defined but no value has been provided. + + dog -n + ^^ No value provided \ No newline at end of file diff --git a/test/Spectre.Console.Cli.Tests/Expectations/Parsing/OptionWithoutName/Test_1.Output.verified.txt b/test/Spectre.Console.Cli.Tests/Expectations/Parsing/OptionWithoutName/Test_1.Output.verified.txt new file mode 100644 index 0000000..8733f9d --- /dev/null +++ b/test/Spectre.Console.Cli.Tests/Expectations/Parsing/OptionWithoutName/Test_1.Output.verified.txt @@ -0,0 +1,4 @@ +Error: Option does not have a name. + + dog - + ^ Did you forget the option name? \ No newline at end of file diff --git a/test/Spectre.Console.Cli.Tests/Expectations/Parsing/OptionWithoutName/Test_2.Output.verified.txt b/test/Spectre.Console.Cli.Tests/Expectations/Parsing/OptionWithoutName/Test_2.Output.verified.txt new file mode 100644 index 0000000..52d5bcb --- /dev/null +++ b/test/Spectre.Console.Cli.Tests/Expectations/Parsing/OptionWithoutName/Test_2.Output.verified.txt @@ -0,0 +1,4 @@ +Error: Expected an option value. + + dog --foo= + ^ Did you forget the option value? \ No newline at end of file diff --git a/test/Spectre.Console.Cli.Tests/Expectations/Parsing/OptionWithoutName/Test_3.Output.verified.txt b/test/Spectre.Console.Cli.Tests/Expectations/Parsing/OptionWithoutName/Test_3.Output.verified.txt new file mode 100644 index 0000000..5ae49a6 --- /dev/null +++ b/test/Spectre.Console.Cli.Tests/Expectations/Parsing/OptionWithoutName/Test_3.Output.verified.txt @@ -0,0 +1,4 @@ +Error: Expected an option value. + + dog --foo: + ^ Did you forget the option value? \ No newline at end of file diff --git a/test/Spectre.Console.Cli.Tests/Expectations/Parsing/OptionWithoutName/Test_4.Output.verified.txt b/test/Spectre.Console.Cli.Tests/Expectations/Parsing/OptionWithoutName/Test_4.Output.verified.txt new file mode 100644 index 0000000..bd61abc --- /dev/null +++ b/test/Spectre.Console.Cli.Tests/Expectations/Parsing/OptionWithoutName/Test_4.Output.verified.txt @@ -0,0 +1,4 @@ +Error: Expected an option value. + + dog -f= + ^ Did you forget the option value? \ No newline at end of file diff --git a/test/Spectre.Console.Cli.Tests/Expectations/Parsing/OptionWithoutName/Test_5.Output.verified.txt b/test/Spectre.Console.Cli.Tests/Expectations/Parsing/OptionWithoutName/Test_5.Output.verified.txt new file mode 100644 index 0000000..2dafc04 --- /dev/null +++ b/test/Spectre.Console.Cli.Tests/Expectations/Parsing/OptionWithoutName/Test_5.Output.verified.txt @@ -0,0 +1,4 @@ +Error: Expected an option value. + + dog -f: + ^ Did you forget the option value? \ No newline at end of file diff --git a/test/Spectre.Console.Cli.Tests/Expectations/Parsing/Quoted_Strings.Output.verified.txt b/test/Spectre.Console.Cli.Tests/Expectations/Parsing/Quoted_Strings.Output.verified.txt new file mode 100644 index 0000000..1c05483 --- /dev/null +++ b/test/Spectre.Console.Cli.Tests/Expectations/Parsing/Quoted_Strings.Output.verified.txt @@ -0,0 +1,3 @@ +# Raw +/c +set && pause \ No newline at end of file diff --git a/test/Spectre.Console.Cli.Tests/Expectations/Parsing/UnexpectedOption/Test_1.Output.verified.txt b/test/Spectre.Console.Cli.Tests/Expectations/Parsing/UnexpectedOption/Test_1.Output.verified.txt new file mode 100644 index 0000000..67b7cff --- /dev/null +++ b/test/Spectre.Console.Cli.Tests/Expectations/Parsing/UnexpectedOption/Test_1.Output.verified.txt @@ -0,0 +1,4 @@ +Error: Unexpected option 'foo'. + + --foo + ^^^^^ Did you forget the command? \ No newline at end of file diff --git a/test/Spectre.Console.Cli.Tests/Expectations/Parsing/UnexpectedOption/Test_2.Output.verified.txt b/test/Spectre.Console.Cli.Tests/Expectations/Parsing/UnexpectedOption/Test_2.Output.verified.txt new file mode 100644 index 0000000..4371967 --- /dev/null +++ b/test/Spectre.Console.Cli.Tests/Expectations/Parsing/UnexpectedOption/Test_2.Output.verified.txt @@ -0,0 +1,4 @@ +Error: Unexpected option 'f'. + + -f + ^^ Did you forget the command? \ No newline at end of file diff --git a/test/Spectre.Console.Cli.Tests/Expectations/Parsing/UnknownCommand/Test_1.Output.verified.txt b/test/Spectre.Console.Cli.Tests/Expectations/Parsing/UnknownCommand/Test_1.Output.verified.txt new file mode 100644 index 0000000..8a61b33 --- /dev/null +++ b/test/Spectre.Console.Cli.Tests/Expectations/Parsing/UnknownCommand/Test_1.Output.verified.txt @@ -0,0 +1,4 @@ +Error: Unknown command 'cat'. + + cat 14 + ^^^ No such command \ No newline at end of file diff --git a/test/Spectre.Console.Cli.Tests/Expectations/Parsing/UnknownCommand/Test_2.Output.verified.txt b/test/Spectre.Console.Cli.Tests/Expectations/Parsing/UnknownCommand/Test_2.Output.verified.txt new file mode 100644 index 0000000..ac7a69d --- /dev/null +++ b/test/Spectre.Console.Cli.Tests/Expectations/Parsing/UnknownCommand/Test_2.Output.verified.txt @@ -0,0 +1,4 @@ +Error: Unknown command 'other'. + + empty other + ^^^^^ No such command \ No newline at end of file diff --git a/test/Spectre.Console.Cli.Tests/Expectations/Parsing/UnknownCommand/Test_3.Output.verified.txt b/test/Spectre.Console.Cli.Tests/Expectations/Parsing/UnknownCommand/Test_3.Output.verified.txt new file mode 100644 index 0000000..cbea5ea --- /dev/null +++ b/test/Spectre.Console.Cli.Tests/Expectations/Parsing/UnknownCommand/Test_3.Output.verified.txt @@ -0,0 +1,4 @@ +Error: Unknown command 'bat'. + + dog bat 14 + ^^^ Did you mean 'cat'? \ No newline at end of file diff --git a/test/Spectre.Console.Cli.Tests/Expectations/Parsing/UnknownCommand/Test_4.Output.verified.txt b/test/Spectre.Console.Cli.Tests/Expectations/Parsing/UnknownCommand/Test_4.Output.verified.txt new file mode 100644 index 0000000..bc8a096 --- /dev/null +++ b/test/Spectre.Console.Cli.Tests/Expectations/Parsing/UnknownCommand/Test_4.Output.verified.txt @@ -0,0 +1,4 @@ +Error: Unknown command 'bat'. + + bat 14 + ^^^ Did you mean 'cat'? \ No newline at end of file diff --git a/test/Spectre.Console.Cli.Tests/Expectations/Parsing/UnknownCommand/Test_5.Output.verified.txt b/test/Spectre.Console.Cli.Tests/Expectations/Parsing/UnknownCommand/Test_5.Output.verified.txt new file mode 100644 index 0000000..225f86e --- /dev/null +++ b/test/Spectre.Console.Cli.Tests/Expectations/Parsing/UnknownCommand/Test_5.Output.verified.txt @@ -0,0 +1,4 @@ +Error: Unknown command 'bat'. + + bat + ^^^ Did you mean 'cat'? \ No newline at end of file diff --git a/test/Spectre.Console.Cli.Tests/Expectations/Parsing/UnknownCommand/Test_6.Output.verified.txt b/test/Spectre.Console.Cli.Tests/Expectations/Parsing/UnknownCommand/Test_6.Output.verified.txt new file mode 100644 index 0000000..cdabe28 --- /dev/null +++ b/test/Spectre.Console.Cli.Tests/Expectations/Parsing/UnknownCommand/Test_6.Output.verified.txt @@ -0,0 +1,4 @@ +Error: Unknown command 'bat'. + + dog bat + ^^^ Did you mean 'cat'? \ No newline at end of file diff --git a/test/Spectre.Console.Cli.Tests/Expectations/Parsing/UnknownCommand/Test_7.Output.verified.txt b/test/Spectre.Console.Cli.Tests/Expectations/Parsing/UnknownCommand/Test_7.Output.verified.txt new file mode 100644 index 0000000..d9eacbb --- /dev/null +++ b/test/Spectre.Console.Cli.Tests/Expectations/Parsing/UnknownCommand/Test_7.Output.verified.txt @@ -0,0 +1,4 @@ +Error: Unknown command 'bat'. + + qux bat + ^^^ Did you mean 'bar'? \ No newline at end of file diff --git a/test/Spectre.Console.Cli.Tests/Expectations/Parsing/UnknownCommand/Test_8.Output.verified.txt b/test/Spectre.Console.Cli.Tests/Expectations/Parsing/UnknownCommand/Test_8.Output.verified.txt new file mode 100644 index 0000000..94f805b --- /dev/null +++ b/test/Spectre.Console.Cli.Tests/Expectations/Parsing/UnknownCommand/Test_8.Output.verified.txt @@ -0,0 +1,4 @@ +Error: Unknown command 'bat'. + + foo qux bat + ^^^ Did you mean 'bar'? \ No newline at end of file diff --git a/test/Spectre.Console.Cli.Tests/Expectations/Parsing/UnknownOption/Test_1.Output.verified.txt b/test/Spectre.Console.Cli.Tests/Expectations/Parsing/UnknownOption/Test_1.Output.verified.txt new file mode 100644 index 0000000..d23f5a6 --- /dev/null +++ b/test/Spectre.Console.Cli.Tests/Expectations/Parsing/UnknownOption/Test_1.Output.verified.txt @@ -0,0 +1,4 @@ +Error: Unknown option 'unknown'. + + dog --unknown + ^^^^^^^^^ Unknown option \ No newline at end of file diff --git a/test/Spectre.Console.Cli.Tests/Expectations/Parsing/UnknownOption/Test_2.Output.verified.txt b/test/Spectre.Console.Cli.Tests/Expectations/Parsing/UnknownOption/Test_2.Output.verified.txt new file mode 100644 index 0000000..d86e8ec --- /dev/null +++ b/test/Spectre.Console.Cli.Tests/Expectations/Parsing/UnknownOption/Test_2.Output.verified.txt @@ -0,0 +1,4 @@ +Error: Unknown option 'u'. + + dog -u + ^^ Unknown option \ No newline at end of file diff --git a/test/Spectre.Console.Cli.Tests/Expectations/Parsing/UnterminatedQuote/Test_1.Output.verified.txt b/test/Spectre.Console.Cli.Tests/Expectations/Parsing/UnterminatedQuote/Test_1.Output.verified.txt new file mode 100644 index 0000000..a6d7032 --- /dev/null +++ b/test/Spectre.Console.Cli.Tests/Expectations/Parsing/UnterminatedQuote/Test_1.Output.verified.txt @@ -0,0 +1,4 @@ +Error: Encountered unterminated quoted string 'Rufus'. + + --name "Rufus + ^^^^^^ Did you forget the closing quotation mark? \ No newline at end of file diff --git a/test/Spectre.Console.Cli.Tests/Expectations/Xml/Hidden_Command_Options.Output.verified.txt b/test/Spectre.Console.Cli.Tests/Expectations/Xml/Hidden_Command_Options.Output.verified.txt new file mode 100644 index 0000000..d2f2d0b --- /dev/null +++ b/test/Spectre.Console.Cli.Tests/Expectations/Xml/Hidden_Command_Options.Output.verified.txt @@ -0,0 +1,14 @@ + + + + + + + Dummy argument FOO + + + + + \ 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 new file mode 100644 index 0000000..13ed69d --- /dev/null +++ b/test/Spectre.Console.Cli.Tests/Expectations/Xml/Test_1.Output.verified.txt @@ -0,0 +1,37 @@ + + + + + + + The number of legs. + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/test/Spectre.Console.Cli.Tests/Expectations/Xml/Test_2.Output.verified.txt b/test/Spectre.Console.Cli.Tests/Expectations/Xml/Test_2.Output.verified.txt new file mode 100644 index 0000000..9f34630 --- /dev/null +++ b/test/Spectre.Console.Cli.Tests/Expectations/Xml/Test_2.Output.verified.txt @@ -0,0 +1,21 @@ + + + + + + + The number of legs. + + + + + + + + + + \ No newline at end of file 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 new file mode 100644 index 0000000..f2a9c3f --- /dev/null +++ b/test/Spectre.Console.Cli.Tests/Expectations/Xml/Test_3.Output.verified.txt @@ -0,0 +1,32 @@ + + + + + + + The number of legs. + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/test/Spectre.Console.Cli.Tests/Expectations/Xml/Test_4.Output.verified.txt b/test/Spectre.Console.Cli.Tests/Expectations/Xml/Test_4.Output.verified.txt new file mode 100644 index 0000000..5949189 --- /dev/null +++ b/test/Spectre.Console.Cli.Tests/Expectations/Xml/Test_4.Output.verified.txt @@ -0,0 +1,26 @@ + + + + + + + The number of legs. + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/test/Spectre.Console.Cli.Tests/Expectations/Xml/Test_5.Output.verified.txt b/test/Spectre.Console.Cli.Tests/Expectations/Xml/Test_5.Output.verified.txt new file mode 100644 index 0000000..2b44695 --- /dev/null +++ b/test/Spectre.Console.Cli.Tests/Expectations/Xml/Test_5.Output.verified.txt @@ -0,0 +1,10 @@ + + + + + + + + \ No newline at end of file diff --git a/test/Spectre.Console.Cli.Tests/Expectations/Xml/Test_6.Output.verified.txt b/test/Spectre.Console.Cli.Tests/Expectations/Xml/Test_6.Output.verified.txt new file mode 100644 index 0000000..8ece874 --- /dev/null +++ b/test/Spectre.Console.Cli.Tests/Expectations/Xml/Test_6.Output.verified.txt @@ -0,0 +1,37 @@ + + + + + + + The number of legs. + + + + + + + + + + + + + + The number of legs. + + + + + + + + + \ No newline at end of file diff --git a/test/Spectre.Console.Cli.Tests/Properties/Usings.cs b/test/Spectre.Console.Cli.Tests/Properties/Usings.cs new file mode 100644 index 0000000..41d63b8 --- /dev/null +++ b/test/Spectre.Console.Cli.Tests/Properties/Usings.cs @@ -0,0 +1,17 @@ +global using System; +global using System.Collections.Generic; +global using System.ComponentModel; +global using System.Diagnostics.CodeAnalysis; +global using System.Globalization; +global using System.Linq; +global using System.Runtime.CompilerServices; +global using System.Threading.Tasks; +global using Shouldly; +global using Spectre.Console.Cli; +global using Spectre.Console.Cli.Unsafe; +global using Spectre.Console.Testing; +global using Spectre.Console.Tests.Data; +global using Spectre.Verify.Extensions; +global using VerifyTests; +global using VerifyXunit; +global using Xunit; \ No newline at end of file diff --git a/test/Spectre.Console.Cli.Tests/Spectre.Console.Cli.Tests.csproj b/test/Spectre.Console.Cli.Tests/Spectre.Console.Cli.Tests.csproj new file mode 100644 index 0000000..c9c33c7 --- /dev/null +++ b/test/Spectre.Console.Cli.Tests/Spectre.Console.Cli.Tests.csproj @@ -0,0 +1,34 @@ + + + + net6.0;net5.0;net48 + net6.0;net5.0 + + + + + + + + + + + + + + + + + + all + runtime; build; native; contentfiles; analyzers; buildtransitive + + + + + + + + + + diff --git a/test/Spectre.Console.Tests/Unit/Cli/Annotations/CommandArgumentAttributeTests.Rendering.cs b/test/Spectre.Console.Cli.Tests/Unit/Annotations/CommandArgumentAttributeTests.Rendering.cs similarity index 98% rename from test/Spectre.Console.Tests/Unit/Cli/Annotations/CommandArgumentAttributeTests.Rendering.cs rename to test/Spectre.Console.Cli.Tests/Unit/Annotations/CommandArgumentAttributeTests.Rendering.cs index 8664fc2..500f7f6 100644 --- a/test/Spectre.Console.Tests/Unit/Cli/Annotations/CommandArgumentAttributeTests.Rendering.cs +++ b/test/Spectre.Console.Cli.Tests/Unit/Annotations/CommandArgumentAttributeTests.Rendering.cs @@ -1,6 +1,6 @@ namespace Spectre.Console.Tests.Unit.Cli.Annotations; -[ExpectationPath("Cli/Arguments")] +[ExpectationPath("Arguments")] public sealed partial class CommandArgumentAttributeTests { [UsesVerify] diff --git a/test/Spectre.Console.Tests/Unit/Cli/Annotations/CommandArgumentAttributeTests.cs b/test/Spectre.Console.Cli.Tests/Unit/Annotations/CommandArgumentAttributeTests.cs similarity index 100% rename from test/Spectre.Console.Tests/Unit/Cli/Annotations/CommandArgumentAttributeTests.cs rename to test/Spectre.Console.Cli.Tests/Unit/Annotations/CommandArgumentAttributeTests.cs diff --git a/test/Spectre.Console.Tests/Unit/Cli/Annotations/CommandOptionAttributeTests.Rendering.cs b/test/Spectre.Console.Cli.Tests/Unit/Annotations/CommandOptionAttributeTests.Rendering.cs similarity index 99% rename from test/Spectre.Console.Tests/Unit/Cli/Annotations/CommandOptionAttributeTests.Rendering.cs rename to test/Spectre.Console.Cli.Tests/Unit/Annotations/CommandOptionAttributeTests.Rendering.cs index ae7a857..a17e7ae 100644 --- a/test/Spectre.Console.Tests/Unit/Cli/Annotations/CommandOptionAttributeTests.Rendering.cs +++ b/test/Spectre.Console.Cli.Tests/Unit/Annotations/CommandOptionAttributeTests.Rendering.cs @@ -1,6 +1,6 @@ namespace Spectre.Console.Tests.Unit.Cli.Annotations; -[ExpectationPath("Cli/Arguments")] +[ExpectationPath("Arguments")] public sealed partial class CommandOptionAttributeTests { [UsesVerify] diff --git a/test/Spectre.Console.Tests/Unit/Cli/Annotations/CommandOptionAttributeTests.cs b/test/Spectre.Console.Cli.Tests/Unit/Annotations/CommandOptionAttributeTests.cs similarity index 100% rename from test/Spectre.Console.Tests/Unit/Cli/Annotations/CommandOptionAttributeTests.cs rename to test/Spectre.Console.Cli.Tests/Unit/Annotations/CommandOptionAttributeTests.cs diff --git a/test/Spectre.Console.Tests/Unit/Cli/CommandAppTests.Constructor.cs b/test/Spectre.Console.Cli.Tests/Unit/CommandAppTests.Constructor.cs similarity index 100% rename from test/Spectre.Console.Tests/Unit/Cli/CommandAppTests.Constructor.cs rename to test/Spectre.Console.Cli.Tests/Unit/CommandAppTests.Constructor.cs diff --git a/test/Spectre.Console.Tests/Unit/Cli/CommandAppTests.Exceptions.cs b/test/Spectre.Console.Cli.Tests/Unit/CommandAppTests.Exceptions.cs similarity index 100% rename from test/Spectre.Console.Tests/Unit/Cli/CommandAppTests.Exceptions.cs rename to test/Spectre.Console.Cli.Tests/Unit/CommandAppTests.Exceptions.cs diff --git a/test/Spectre.Console.Tests/Unit/Cli/CommandAppTests.FlagValues.cs b/test/Spectre.Console.Cli.Tests/Unit/CommandAppTests.FlagValues.cs similarity index 100% rename from test/Spectre.Console.Tests/Unit/Cli/CommandAppTests.FlagValues.cs rename to test/Spectre.Console.Cli.Tests/Unit/CommandAppTests.FlagValues.cs diff --git a/test/Spectre.Console.Tests/Unit/Cli/CommandAppTests.Help.cs b/test/Spectre.Console.Cli.Tests/Unit/CommandAppTests.Help.cs similarity index 99% rename from test/Spectre.Console.Tests/Unit/Cli/CommandAppTests.Help.cs rename to test/Spectre.Console.Cli.Tests/Unit/CommandAppTests.Help.cs index a014e39..d2eeee0 100644 --- a/test/Spectre.Console.Tests/Unit/Cli/CommandAppTests.Help.cs +++ b/test/Spectre.Console.Cli.Tests/Unit/CommandAppTests.Help.cs @@ -3,7 +3,7 @@ namespace Spectre.Console.Tests.Unit.Cli; public sealed partial class CommandAppTests { [UsesVerify] - [ExpectationPath("Cli/Help")] + [ExpectationPath("Help")] public class Help { [Fact] diff --git a/test/Spectre.Console.Tests/Unit/Cli/CommandAppTests.Injection.cs b/test/Spectre.Console.Cli.Tests/Unit/CommandAppTests.Injection.cs similarity index 96% rename from test/Spectre.Console.Tests/Unit/Cli/CommandAppTests.Injection.cs rename to test/Spectre.Console.Cli.Tests/Unit/CommandAppTests.Injection.cs index b30472d..b49bbbe 100644 --- a/test/Spectre.Console.Tests/Unit/Cli/CommandAppTests.Injection.cs +++ b/test/Spectre.Console.Cli.Tests/Unit/CommandAppTests.Injection.cs @@ -62,7 +62,7 @@ public sealed partial class CommandAppTests { // Given var dependency = new FakeDependency(); - var registrar = new FakeTypeRegistrar { TypeResolverFactory = FakeTypeResolver.Factory }; + var registrar = new FakeTypeRegistrar(); registrar.RegisterInstance(typeof(FakeDependency), dependency); var app = new CommandAppTester(registrar); diff --git a/test/Spectre.Console.Tests/Unit/Cli/CommandAppTests.Pairs.cs b/test/Spectre.Console.Cli.Tests/Unit/CommandAppTests.Pairs.cs similarity index 100% rename from test/Spectre.Console.Tests/Unit/Cli/CommandAppTests.Pairs.cs rename to test/Spectre.Console.Cli.Tests/Unit/CommandAppTests.Pairs.cs diff --git a/test/Spectre.Console.Tests/Unit/Cli/CommandAppTests.Parsing.cs b/test/Spectre.Console.Cli.Tests/Unit/CommandAppTests.Parsing.cs similarity index 99% rename from test/Spectre.Console.Tests/Unit/Cli/CommandAppTests.Parsing.cs rename to test/Spectre.Console.Cli.Tests/Unit/CommandAppTests.Parsing.cs index 0b9893c..3ee8305 100644 --- a/test/Spectre.Console.Tests/Unit/Cli/CommandAppTests.Parsing.cs +++ b/test/Spectre.Console.Cli.Tests/Unit/CommandAppTests.Parsing.cs @@ -3,7 +3,7 @@ namespace Spectre.Console.Tests.Unit.Cli; public sealed partial class CommandAppTests { [UsesVerify] - [ExpectationPath("Cli/Parsing")] + [ExpectationPath("Parsing")] public sealed class Parsing { [UsesVerify] diff --git a/test/Spectre.Console.Tests/Unit/Cli/CommandAppTests.Remaining.cs b/test/Spectre.Console.Cli.Tests/Unit/CommandAppTests.Remaining.cs similarity index 100% rename from test/Spectre.Console.Tests/Unit/Cli/CommandAppTests.Remaining.cs rename to test/Spectre.Console.Cli.Tests/Unit/CommandAppTests.Remaining.cs diff --git a/test/Spectre.Console.Tests/Unit/Cli/CommandAppTests.Sensitivity.cs b/test/Spectre.Console.Cli.Tests/Unit/CommandAppTests.Sensitivity.cs similarity index 100% rename from test/Spectre.Console.Tests/Unit/Cli/CommandAppTests.Sensitivity.cs rename to test/Spectre.Console.Cli.Tests/Unit/CommandAppTests.Sensitivity.cs diff --git a/test/Spectre.Console.Tests/Unit/Cli/CommandAppTests.Settings.cs b/test/Spectre.Console.Cli.Tests/Unit/CommandAppTests.Settings.cs similarity index 100% rename from test/Spectre.Console.Tests/Unit/Cli/CommandAppTests.Settings.cs rename to test/Spectre.Console.Cli.Tests/Unit/CommandAppTests.Settings.cs diff --git a/test/Spectre.Console.Tests/Unit/Cli/CommandAppTests.TypeConverters.cs b/test/Spectre.Console.Cli.Tests/Unit/CommandAppTests.TypeConverters.cs similarity index 100% rename from test/Spectre.Console.Tests/Unit/Cli/CommandAppTests.TypeConverters.cs rename to test/Spectre.Console.Cli.Tests/Unit/CommandAppTests.TypeConverters.cs diff --git a/test/Spectre.Console.Tests/Unit/Cli/CommandAppTests.Unsafe.cs b/test/Spectre.Console.Cli.Tests/Unit/CommandAppTests.Unsafe.cs similarity index 100% rename from test/Spectre.Console.Tests/Unit/Cli/CommandAppTests.Unsafe.cs rename to test/Spectre.Console.Cli.Tests/Unit/CommandAppTests.Unsafe.cs diff --git a/test/Spectre.Console.Tests/Unit/Cli/CommandAppTests.Validation.cs b/test/Spectre.Console.Cli.Tests/Unit/CommandAppTests.Validation.cs similarity index 100% rename from test/Spectre.Console.Tests/Unit/Cli/CommandAppTests.Validation.cs rename to test/Spectre.Console.Cli.Tests/Unit/CommandAppTests.Validation.cs diff --git a/test/Spectre.Console.Tests/Unit/Cli/CommandAppTests.ValueProviders.cs b/test/Spectre.Console.Cli.Tests/Unit/CommandAppTests.ValueProviders.cs similarity index 100% rename from test/Spectre.Console.Tests/Unit/Cli/CommandAppTests.ValueProviders.cs rename to test/Spectre.Console.Cli.Tests/Unit/CommandAppTests.ValueProviders.cs diff --git a/test/Spectre.Console.Tests/Unit/Cli/CommandAppTests.Vectors.cs b/test/Spectre.Console.Cli.Tests/Unit/CommandAppTests.Vectors.cs similarity index 100% rename from test/Spectre.Console.Tests/Unit/Cli/CommandAppTests.Vectors.cs rename to test/Spectre.Console.Cli.Tests/Unit/CommandAppTests.Vectors.cs diff --git a/test/Spectre.Console.Tests/Unit/Cli/CommandAppTests.Version.cs b/test/Spectre.Console.Cli.Tests/Unit/CommandAppTests.Version.cs similarity index 100% rename from test/Spectre.Console.Tests/Unit/Cli/CommandAppTests.Version.cs rename to test/Spectre.Console.Cli.Tests/Unit/CommandAppTests.Version.cs diff --git a/test/Spectre.Console.Tests/Unit/Cli/CommandAppTests.Xml.cs b/test/Spectre.Console.Cli.Tests/Unit/CommandAppTests.Xml.cs similarity index 99% rename from test/Spectre.Console.Tests/Unit/Cli/CommandAppTests.Xml.cs rename to test/Spectre.Console.Cli.Tests/Unit/CommandAppTests.Xml.cs index beefc46..1c5348f 100644 --- a/test/Spectre.Console.Tests/Unit/Cli/CommandAppTests.Xml.cs +++ b/test/Spectre.Console.Cli.Tests/Unit/CommandAppTests.Xml.cs @@ -3,7 +3,7 @@ namespace Spectre.Console.Tests.Unit.Cli; public sealed partial class CommandAppTests { [UsesVerify] - [ExpectationPath("Cli/Xml")] + [ExpectationPath("Xml")] public sealed class Xml { [Fact] diff --git a/test/Spectre.Console.Tests/Unit/Cli/CommandAppTests.cs b/test/Spectre.Console.Cli.Tests/Unit/CommandAppTests.cs similarity index 100% rename from test/Spectre.Console.Tests/Unit/Cli/CommandAppTests.cs rename to test/Spectre.Console.Cli.Tests/Unit/CommandAppTests.cs diff --git a/test/Spectre.Console.Tests/Unit/Cli/DefaultTypeRegistrarTests.cs b/test/Spectre.Console.Cli.Tests/Unit/DefaultTypeRegistrarTests.cs similarity index 100% rename from test/Spectre.Console.Tests/Unit/Cli/DefaultTypeRegistrarTests.cs rename to test/Spectre.Console.Cli.Tests/Unit/DefaultTypeRegistrarTests.cs diff --git a/test/Spectre.Console.Tests/Utilities/Extensions/CommandContextExtensions.cs b/test/Spectre.Console.Cli.Tests/Utilities/CommandContextExtensions.cs similarity index 100% rename from test/Spectre.Console.Tests/Utilities/Extensions/CommandContextExtensions.cs rename to test/Spectre.Console.Cli.Tests/Utilities/CommandContextExtensions.cs diff --git a/test/Spectre.Console.Cli.Tests/Utilities/ModuleInitializerAttribute.cs b/test/Spectre.Console.Cli.Tests/Utilities/ModuleInitializerAttribute.cs new file mode 100644 index 0000000..6f93cb4 --- /dev/null +++ b/test/Spectre.Console.Cli.Tests/Utilities/ModuleInitializerAttribute.cs @@ -0,0 +1,8 @@ +#if !NET5_0_OR_GREATER +namespace System.Runtime.CompilerServices; + +[AttributeUsage(AttributeTargets.Method, Inherited = false)] +public sealed class ModuleInitializerAttribute : Attribute +{ +} +#endif \ No newline at end of file diff --git a/test/Spectre.Console.Cli.Tests/VerifyConfiguration.cs b/test/Spectre.Console.Cli.Tests/VerifyConfiguration.cs new file mode 100644 index 0000000..770ec2b --- /dev/null +++ b/test/Spectre.Console.Cli.Tests/VerifyConfiguration.cs @@ -0,0 +1,10 @@ +namespace Spectre.Console.Tests; + +public static class VerifyConfiguration +{ + [ModuleInitializer] + public static void Init() + { + VerifierSettings.DerivePathInfo(Expectations.Initialize); + } +} diff --git a/test/Spectre.Console.Tests/Properties/Usings.cs b/test/Spectre.Console.Tests/Properties/Usings.cs index a76e400..95304af 100644 --- a/test/Spectre.Console.Tests/Properties/Usings.cs +++ b/test/Spectre.Console.Tests/Properties/Usings.cs @@ -1,8 +1,5 @@ global using System; global using System.Collections.Generic; -global using System.ComponentModel; -global using System.Diagnostics; -global using System.Diagnostics.CodeAnalysis; global using System.Globalization; global using System.IO; global using System.Linq; @@ -13,8 +10,6 @@ global using System.Threading; global using System.Threading.Tasks; global using Shouldly; global using Spectre.Console.Advanced; -global using Spectre.Console.Cli; -global using Spectre.Console.Cli.Unsafe; global using Spectre.Console.Rendering; global using Spectre.Console.Testing; global using Spectre.Console.Tests.Data; diff --git a/test/Spectre.Console.Tests/Spectre.Console.Tests.csproj b/test/Spectre.Console.Tests/Spectre.Console.Tests.csproj index dddacfc..cd498d7 100644 --- a/test/Spectre.Console.Tests/Spectre.Console.Tests.csproj +++ b/test/Spectre.Console.Tests/Spectre.Console.Tests.csproj @@ -1,19 +1,13 @@ - - - - net6.0;net5.0;net48 net6.0;net5.0 + - - - @@ -34,6 +28,7 @@ + diff --git a/test/Spectre.Console.Tests/Unit/Prompts/MultiSelectionPromptTests.cs b/test/Spectre.Console.Tests/Unit/Prompts/MultiSelectionPromptTests.cs index 1f3b026..70a27ba 100644 --- a/test/Spectre.Console.Tests/Unit/Prompts/MultiSelectionPromptTests.cs +++ b/test/Spectre.Console.Tests/Unit/Prompts/MultiSelectionPromptTests.cs @@ -14,7 +14,7 @@ public sealed class MultiSelectionPromptTests return x.X == y.X && x.Y == y.Y; } - public int GetHashCode([DisallowNull] CustomItem obj) + public int GetHashCode(CustomItem obj) { throw new NotSupportedException(); } diff --git a/test/Spectre.Console.Tests/Unit/Prompts/SelectionPromptTests.cs b/test/Spectre.Console.Tests/Unit/Prompts/SelectionPromptTests.cs index 3e63dae..1885143 100644 --- a/test/Spectre.Console.Tests/Unit/Prompts/SelectionPromptTests.cs +++ b/test/Spectre.Console.Tests/Unit/Prompts/SelectionPromptTests.cs @@ -3,7 +3,6 @@ namespace Spectre.Console.Tests.Unit; public sealed class SelectionPromptTests { [Fact] - [GitHubIssue(608)] public void Should_Not_Throw_When_Selecting_An_Item_With_Escaped_Markup() { // Given diff --git a/test/Spectre.Console.Tests/Unit/Prompts/TextPromptTests.cs b/test/Spectre.Console.Tests/Unit/Prompts/TextPromptTests.cs index aceb2a1..1410b64 100644 --- a/test/Spectre.Console.Tests/Unit/Prompts/TextPromptTests.cs +++ b/test/Spectre.Console.Tests/Unit/Prompts/TextPromptTests.cs @@ -227,7 +227,6 @@ public sealed class TextPromptTests [Fact] [Expectation("NoSuffix")] - [GitHubIssue(413)] public Task Should_Not_Append_Questionmark_Or_Colon_If_No_Choices_Are_Set() { // Given diff --git a/test/Spectre.Console.Tests/Utilities/GitHubIssueAttribute.cs b/test/Spectre.Console.Tests/Utilities/GitHubIssueAttribute.cs deleted file mode 100644 index c01ce95..0000000 --- a/test/Spectre.Console.Tests/Utilities/GitHubIssueAttribute.cs +++ /dev/null @@ -1,12 +0,0 @@ -namespace Spectre.Console.Tests; - -[AttributeUsage(AttributeTargets.Method)] -public sealed class GitHubIssueAttribute : Attribute -{ - public int IssueId { get; } - - public GitHubIssueAttribute(int issueId) - { - IssueId = issueId; - } -} diff --git a/test/Spectre.Console.Tests/Utilities/Extensions/TestConsoleExtensions.cs b/test/Spectre.Console.Tests/Utilities/TestConsoleExtensions.cs similarity index 100% rename from test/Spectre.Console.Tests/Utilities/Extensions/TestConsoleExtensions.cs rename to test/Spectre.Console.Tests/Utilities/TestConsoleExtensions.cs