def test_render_global_options_with_preferred_long_name(io): config = ApplicationConfig() config.add_option("global-option", "g", Option.PREFER_LONG_NAME, 'Description of "global-option"') app = ConsoleApplication(config) help = ApplicationHelp(app) help.render(io) expected = """\ Console Tool USAGE console [--global-option] <command> [<arg1>] ... [<argN>] ARGUMENTS <command> The command to execute <arg> The arguments of the command GLOBAL OPTIONS --global-option (-g) Description of "global-option" """ assert expected == io.fetch_output()
def test_render(io): config = ApplicationConfig() config.set_name("test-bin") config.add_argument("global-argument", 0, 'Description of "global-argument"') config.add_option("global-option", None, 0, 'Description of "global-option"') with config.command("command") as c: c.set_description('Description of "command"') c.set_help( 'Help of "command {command_name} of {script_name}"\n\nSecond paragraph' ) c.add_alias("command-alias") c.add_argument("argument", 0, 'Description of "argument"') c.add_option("option", None, 0, 'Description of "option"') app = ConsoleApplication(config) help = CommandHelp(app.get_command("command")) help.render(io) expected = """\ USAGE test-bin command [--option] [<global-argument>] [<argument>] aliases: command-alias ARGUMENTS <global-argument> Description of "global-argument" <argument> Description of "argument" OPTIONS --option Description of "option" GLOBAL OPTIONS --global-option Description of "global-option" DESCRIPTION Help of "command command of test-bin" Second paragraph """ assert expected == io.fetch_output()
def test_render(io): config = ApplicationConfig("test-bin") config.set_display_name("The Application") config.add_argument("global-argument", description='Description of "global-argument"') config.add_option("global-option", description='Description of "global-option"') with config.command("command1") as c: c.set_description('Description of "command1"') with config.command("command2") as c: c.set_description('Description of "command2"') with config.command("longer-command3") as c: c.set_description('Description of "longer-command3"') app = ConsoleApplication(config) help = ApplicationHelp(app) help.render(io) expected = """\ The Application USAGE test-bin [--global-option] <command> [<arg1>] ... [<argN>] ARGUMENTS <command> The command to execute <arg> The arguments of the command GLOBAL OPTIONS --global-option Description of "global-option" AVAILABLE COMMANDS command1 Description of "command1" command2 Description of "command2" longer-command3 Description of "longer-command3" """ assert expected == io.fetch_output()
def test_render_command_with_sub_commands(io): config = ApplicationConfig() config.set_name("test-bin") config.add_option("global-option", "g", description='Description of "global-option"') with config.command("command") as c: c.add_argument("argument", 0, 'Description of "argument"') c.add_option("option", None, 0, 'Description of "option"') with c.sub_command("add") as sc1: sc1.set_description('Description of "add"') sc1.add_argument("sub-argument1", 0, 'Description of "sub-argument1"') sc1.add_argument("sub-argument2", 0, 'Description of "sub-argument2"') sc1.add_option("sub-option1", "o", 0, 'Description of "sub-option1"') sc1.add_option("sub-option2", None, 0, 'Description of "sub-option2"') with c.sub_command("delete") as sc2: sc2.set_description('Description of "delete"') app = ConsoleApplication(config) help = CommandHelp(app.get_command("command")) help.render(io) expected = """\ USAGE test-bin command [--option] [<argument>] or: test-bin command add [-o] [--sub-option2] [<argument>] [<sub-argument1>] [<sub-argument2>] or: test-bin command delete [<argument>] ARGUMENTS <argument> Description of "argument" COMMANDS add Description of "add" <sub-argument1> Description of "sub-argument1" <sub-argument2> Description of "sub-argument2" -o (--sub-option1) Description of "sub-option1" --sub-option2 Description of "sub-option2" delete Description of "delete" OPTIONS --option Description of "option" GLOBAL OPTIONS -g (--global-option) Description of "global-option" """ assert expected == io.fetch_output()