github.com/grantbow/fit@v0.7.1-0.20220916164603-1f7c88ac81e6/fitapp/Help_test.go (about)

     1  package fitapp
     2  
     3  import (
     4  	"fmt"
     5  	//"io/ioutil"
     6  	//"os"
     7  	"regexp"
     8  	"testing"
     9  )
    10  
    11  func runhelp(t *testing.T, expected string, args ...string) {
    12  	stdout, stderr := captureOutput(func() {
    13  		Help(args...)
    14  	}, t)
    15  	if stderr != "" {
    16  		t.Error("Unexpected error: " + stderr)
    17  	}
    18  	re := regexp.MustCompile(expected)
    19  	matched := re.MatchString(stdout)
    20  	if !matched {
    21  		t.Errorf("Unexpected output on STDOUT for fitapp/Find_test %v", args)
    22  		fmt.Printf("Expected: %s\nGot: %s\n", expected, stdout)
    23  	}
    24  }
    25  
    26  func TestHelpNilArg(t *testing.T) {
    27  	runhelp(t, "usage:.*")
    28  }
    29  func TestHelpEmptyArg(t *testing.T) {
    30  	runhelp(t, "usage:.*", "")
    31  }
    32  func TestHelpAnyArg(t *testing.T) {
    33  	runhelp(t, "usage:.*", "any")
    34  }
    35  func TestHelpHelpArg(t *testing.T) {
    36  	runhelp(t, "usage:.*", "help")
    37  }
    38  func TestHelpValidArg(t *testing.T) {
    39  	runhelp(t, "usage:.*", "help", "create")
    40  	runhelp(t, "usage:.*", "help", "list")
    41  	runhelp(t, "usage:.*", "help", "edit")
    42  	runhelp(t, "usage:.*", "help", "status")
    43  	runhelp(t, "usage:.*", "help", "priority")
    44  	runhelp(t, "usage:.*", "help", "milestone")
    45  	runhelp(t, "usage:.*", "help", "retitle")
    46  	runhelp(t, "usage:.*", "help", "rm")
    47  	runhelp(t, "usage:.*", "help", "find")
    48  	runhelp(t, "usage:.*", "help", "purge")
    49  	runhelp(t, "usage:.*", "help", "commit")
    50  	runhelp(t, "usage:.*", "help", "env")
    51  	runhelp(t, "usage:.*", "help", "dir")
    52  	runhelp(t, "usage:.*", "help", "tag")
    53  	runhelp(t, "usage:.*", "help", "roadmap")
    54  	runhelp(t, "usage:.*", "help", "id")
    55  	runhelp(t, "usage:.*", "help", "about")
    56  	runhelp(t, "Issues can be.*", "help", "identifiers")
    57  }
    58  func TestHelpValidArgs(t *testing.T) {
    59  	runhelp(t, "usage:.*", "create", "list")
    60  }