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 }