lightning-runner/test/test-help

103 lines
2.1 KiB
Plaintext
Raw Normal View History

2021-12-21 02:44:51 +00:00
#!/usr/bin/env bash
testUsageIsShownWhenNoCommandIsSpecified() {
echo '
#!/usr/bin/env bash
' > go
echo "source $(dirname $BASH_SOURCE)/../⚡️" >> go
chmod +x go
try ./go
assertContains "$STDOUT" "Usage"
}
testHelpSubcommandCannotBeOverridden() {
echo '
#!/usr/bin/env bash
help() { echo "ah hah hah" ; }
' > go
echo "source $(dirname $BASH_SOURCE)/../⚡️" >> go
chmod +x go
try ./go help
assertContains "$STDOUT" "Usage"
}
testHelpIncludesInvocationInstructions() {
SCRIPT_NAME="foo-$RANDOM"
echo '
#!/usr/bin/env bash
' > $SCRIPT_NAME
echo "source $(dirname $BASH_SOURCE)/../⚡️" >> $SCRIPT_NAME
chmod +x $SCRIPT_NAME
try ./$SCRIPT_NAME help
assertContains "$STDOUT" "$SCRIPT_NAME SUBCOMMAND"
}
testHelpListsAllAvailableLightningCommands() {
echo '
#!/usr/bin/env bash
foo() { echo "ah hah hah" ; }
bar() { echo "ah hah hah" ; }
baz() { echo "ah hah hah" ; }
potato() { echo "ah hah hah" ; }
' > go
echo "source $(dirname $BASH_SOURCE)/../⚡️" >> go
chmod +x go
try ./go help
assertContains "$STDOUT" "foo"
assertContains "$STDOUT" "bar"
assertContains "$STDOUT" "baz"
assertContains "$STDOUT" "potato"
assertContains "$STDOUT" "help"
}
testHelpLinesFromDefinedCommandsAreShown() {
echo '
#!/usr/bin/env bash
hello() {
_help-line "Say Hello" "$@"
echo "Hello, World!" ;
}
' > go
echo "source $(dirname $BASH_SOURCE)/../⚡️" >> go
chmod +x go
try ./go
assertContains "$STDOUT" "Say Hello"
}
testHelpDoesNotExecuteFunctionsWithNoHelpLine() {
echo '
#!/usr/bin/env bash
hello() { echo "Hello, World!" ; }
' > go
echo "source $(dirname $BASH_SOURCE)/../⚡️" >> go
chmod +x go
try ./go
assertNotContains "$STDOUT" "Hello, World"
}
testLightningShouldNotBeIncludedInSubcommandNames() {
echo '
#!/usr/bin/env bash
hello() { echo "Hello, World!" ; }
' > go
echo "source $(dirname $BASH_SOURCE)/../⚡️" >> go
chmod +x go
try ./go
assertNotContains "$STDOUT" "⚡hello"
}
source $(dirname $0)/runner