mirror of
https://github.com/Tyrrrz/CliFx.git
synced 2025-10-25 15:19:17 +00:00
77 lines
2.3 KiB
C#
77 lines
2.3 KiB
C#
using System;
|
|
using System.Threading.Tasks;
|
|
using CliFx.Attributes;
|
|
using CliFx.Exceptions;
|
|
|
|
namespace CliFx.Tests
|
|
{
|
|
public partial class ErrorReportingSpecs
|
|
{
|
|
[Command("exc")]
|
|
private class GenericExceptionCommand : ICommand
|
|
{
|
|
[CommandOption("msg", 'm')]
|
|
public string? Message { get; set; }
|
|
|
|
public ValueTask ExecuteAsync(IConsole console) => throw new Exception(Message);
|
|
}
|
|
|
|
[Command("exc")]
|
|
private class CommandExceptionCommand : ICommand
|
|
{
|
|
[CommandOption("code", 'c')]
|
|
public int ExitCode { get; set; } = 1337;
|
|
|
|
[CommandOption("msg", 'm')]
|
|
public string? Message { get; set; }
|
|
|
|
public ValueTask ExecuteAsync(IConsole console) => throw new CommandException(Message, ExitCode);
|
|
}
|
|
|
|
[Command("exc")]
|
|
private class ShowHelpTextOnlyCommand : ICommand
|
|
{
|
|
public ValueTask ExecuteAsync(IConsole console) => throw new CommandException(null, showHelp: true);
|
|
}
|
|
|
|
[Command("exc sub")]
|
|
private class ShowHelpTextOnlySubCommand : ICommand
|
|
{
|
|
public ValueTask ExecuteAsync(IConsole console) => default;
|
|
}
|
|
|
|
[Command("exc")]
|
|
private class ShowErrorMessageThenHelpTextCommand : ICommand
|
|
{
|
|
public ValueTask ExecuteAsync(IConsole console) =>
|
|
throw new CommandException("Error message.", showHelp: true);
|
|
}
|
|
|
|
[Command("exc sub")]
|
|
private class ShowErrorMessageThenHelpTextSubCommand : ICommand
|
|
{
|
|
public ValueTask ExecuteAsync(IConsole console) => default;
|
|
}
|
|
|
|
[Command("exc")]
|
|
private class StackTraceOnlyCommand : ICommand
|
|
{
|
|
[CommandOption("msg", 'm')]
|
|
public string? Message { get; set; }
|
|
|
|
public ValueTask ExecuteAsync(IConsole console) => throw new CommandException(null);
|
|
}
|
|
|
|
[Command("inv")]
|
|
private class InvalidUserInputCommand : ICommand
|
|
{
|
|
[CommandOption("required", 'r')]
|
|
public string? RequiredOption { get; }
|
|
|
|
public ValueTask ExecuteAsync(IConsole console)
|
|
{
|
|
throw new NotImplementedException();
|
|
}
|
|
}
|
|
}
|
|
} |