mirror of
https://github.com/spf13/cobra
synced 2025-05-06 13:27:26 +00:00
Added tests for generating additional help topics
This commit is contained in:
parent
ace5fe16e9
commit
d703b98665
2 changed files with 43 additions and 0 deletions
|
@ -28,6 +28,7 @@ func init() {
|
|||
|
||||
echoCmd.AddCommand(timesCmd, echoSubCmd, deprecatedCmd)
|
||||
rootCmd.AddCommand(printCmd, echoCmd)
|
||||
rootCmd.AddCommand(helpDoc)
|
||||
}
|
||||
|
||||
var rootCmd = &cobra.Command{
|
||||
|
@ -73,6 +74,19 @@ var printCmd = &cobra.Command{
|
|||
Long: `an absolutely utterly useless command for testing.`,
|
||||
}
|
||||
|
||||
var helpText = `Long text describing the subject.
|
||||
|
||||
And more and more text.
|
||||
And more and more text.
|
||||
|
||||
`
|
||||
|
||||
var helpDoc = &cobra.Command{
|
||||
Use: "subject",
|
||||
Short: "Help on subject",
|
||||
Long: helpText,
|
||||
}
|
||||
|
||||
func checkStringContains(t *testing.T, got, expected string) {
|
||||
if !strings.Contains(got, expected) {
|
||||
t.Errorf("Expected to contain: \n %v\nGot:\n %v\n", expected, got)
|
||||
|
|
|
@ -81,6 +81,35 @@ func TestGenMdTree(t *testing.T) {
|
|||
}
|
||||
}
|
||||
|
||||
func TestGenTreeWithAdditionalHelpTopics(t *testing.T) {
|
||||
tmpdir, err := ioutil.TempDir("", "test-gen-md-tree")
|
||||
if err != nil {
|
||||
t.Fatalf("Failed to create tmpdir: %v", err)
|
||||
}
|
||||
defer os.RemoveAll(tmpdir)
|
||||
|
||||
if err := GenMarkdownTree(rootCmd, tmpdir); err != nil {
|
||||
t.Fatal(err)
|
||||
}
|
||||
|
||||
filesToTest := []string{"root.md", "root_print.md", "root_subject.md"}
|
||||
for _, f := range filesToTest {
|
||||
if _, err := os.Stat(filepath.Join(tmpdir, f)); err != nil {
|
||||
t.Fatalf("Expected file '%s' to exist", f)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
func TestGenMdWithAdditionalHelpTopics(t *testing.T) {
|
||||
buf := new(bytes.Buffer)
|
||||
if err := GenMarkdown(rootCmd, buf); err != nil {
|
||||
t.Fatal(err)
|
||||
}
|
||||
|
||||
output := buf.String()
|
||||
checkStringContains(t, output, "Help on subject")
|
||||
}
|
||||
|
||||
func BenchmarkGenMarkdownToFile(b *testing.B) {
|
||||
file, err := ioutil.TempFile("", "")
|
||||
if err != nil {
|
||||
|
|
Loading…
Add table
Reference in a new issue