mirror of
https://github.com/pyenv/pyenv.git
synced 2025-11-16 23:33:45 -05:00
Import tests from rbenv with sed -e s/rbenv/pyenv/g
This commit is contained in:
115
test/help.bats
Normal file
115
test/help.bats
Normal file
@@ -0,0 +1,115 @@
|
||||
#!/usr/bin/env bats
|
||||
|
||||
load test_helper
|
||||
|
||||
@test "without args shows summary of common commands" {
|
||||
run pyenv-help
|
||||
assert_success
|
||||
assert_line "Usage: pyenv <command> [<args>]"
|
||||
assert_line "Some useful pyenv commands are:"
|
||||
}
|
||||
|
||||
@test "invalid command" {
|
||||
run pyenv-help hello
|
||||
assert_failure "pyenv: no such command \`hello'"
|
||||
}
|
||||
|
||||
@test "shows help for a specific command" {
|
||||
mkdir -p "${PYENV_TEST_DIR}/bin"
|
||||
cat > "${PYENV_TEST_DIR}/bin/pyenv-hello" <<SH
|
||||
#!shebang
|
||||
# Usage: pyenv hello <world>
|
||||
# Summary: Says "hello" to you, from pyenv
|
||||
# This command is useful for saying hello.
|
||||
echo hello
|
||||
SH
|
||||
|
||||
run pyenv-help hello
|
||||
assert_success
|
||||
assert_output <<SH
|
||||
Usage: pyenv hello <world>
|
||||
|
||||
This command is useful for saying hello.
|
||||
SH
|
||||
}
|
||||
|
||||
@test "replaces missing extended help with summary text" {
|
||||
mkdir -p "${PYENV_TEST_DIR}/bin"
|
||||
cat > "${PYENV_TEST_DIR}/bin/pyenv-hello" <<SH
|
||||
#!shebang
|
||||
# Usage: pyenv hello <world>
|
||||
# Summary: Says "hello" to you, from pyenv
|
||||
echo hello
|
||||
SH
|
||||
|
||||
run pyenv-help hello
|
||||
assert_success
|
||||
assert_output <<SH
|
||||
Usage: pyenv hello <world>
|
||||
|
||||
Says "hello" to you, from pyenv
|
||||
SH
|
||||
}
|
||||
|
||||
@test "extracts only usage" {
|
||||
mkdir -p "${PYENV_TEST_DIR}/bin"
|
||||
cat > "${PYENV_TEST_DIR}/bin/pyenv-hello" <<SH
|
||||
#!shebang
|
||||
# Usage: pyenv hello <world>
|
||||
# Summary: Says "hello" to you, from pyenv
|
||||
# This extended help won't be shown.
|
||||
echo hello
|
||||
SH
|
||||
|
||||
run pyenv-help --usage hello
|
||||
assert_success "Usage: pyenv hello <world>"
|
||||
}
|
||||
|
||||
@test "multiline usage section" {
|
||||
mkdir -p "${PYENV_TEST_DIR}/bin"
|
||||
cat > "${PYENV_TEST_DIR}/bin/pyenv-hello" <<SH
|
||||
#!shebang
|
||||
# Usage: pyenv hello <world>
|
||||
# pyenv hi [everybody]
|
||||
# pyenv hola --translate
|
||||
# Summary: Says "hello" to you, from pyenv
|
||||
# Help text.
|
||||
echo hello
|
||||
SH
|
||||
|
||||
run pyenv-help hello
|
||||
assert_success
|
||||
assert_output <<SH
|
||||
Usage: pyenv hello <world>
|
||||
pyenv hi [everybody]
|
||||
pyenv hola --translate
|
||||
|
||||
Help text.
|
||||
SH
|
||||
}
|
||||
|
||||
@test "multiline extended help section" {
|
||||
mkdir -p "${PYENV_TEST_DIR}/bin"
|
||||
cat > "${PYENV_TEST_DIR}/bin/pyenv-hello" <<SH
|
||||
#!shebang
|
||||
# Usage: pyenv hello <world>
|
||||
# Summary: Says "hello" to you, from pyenv
|
||||
# This is extended help text.
|
||||
# It can contain multiple lines.
|
||||
#
|
||||
# And paragraphs.
|
||||
|
||||
echo hello
|
||||
SH
|
||||
|
||||
run pyenv-help hello
|
||||
assert_success
|
||||
assert_output <<SH
|
||||
Usage: pyenv hello <world>
|
||||
|
||||
This is extended help text.
|
||||
It can contain multiple lines.
|
||||
|
||||
And paragraphs.
|
||||
SH
|
||||
}
|
||||
Reference in New Issue
Block a user