예제 #1
0
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()
예제 #2
0
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()