(t *testing.T)
| 178 | } |
| 179 | |
| 180 | func TestInvalidArgHelp(t *testing.T) { |
| 181 | var fo string |
| 182 | var fr string |
| 183 | var fl string |
| 184 | var b bytes.Buffer |
| 185 | cmd := &cobra.Command{} |
| 186 | cmd.Flags().StringVarP(&fo, "flag", "F", "", "A flag") |
| 187 | cmd.Flags().StringVarP(&fr, "req", "R", "", "A second flag") |
| 188 | cmd.Flags().StringVarP(&fl, "limit", "L", "", "Limit") |
| 189 | cmd.MarkFlagRequired("req") |
| 190 | cmd.SetHelpFunc(invalidArgHelp("flag")) |
| 191 | cmd.SetOutput(&b) |
| 192 | if err := cmd.Execute(); err != nil { |
| 193 | t.Fatalf("exepected nil; got %v", err) |
| 194 | } |
| 195 | if got, exp := b.String(), "Missing or invalid arguments:\n -F, --flag string\n -R, --req string\n"; got != exp { |
| 196 | t.Fatalf("expected %q; got %q", exp, got) |
| 197 | } |
| 198 | |
| 199 | b.Reset() |
| 200 | cmd.SetHelpFunc(invalidArgHelp("limit")) |
| 201 | if err := cmd.Execute(); err != nil { |
| 202 | t.Fatalf("exepected nil; got %v", err) |
| 203 | } |
| 204 | if got, exp := b.String(), "For free users the maximum allowed number nodes for a single test is 20. Please change your limit.\n"; got != exp { |
| 205 | t.Fatalf("expected %q; got %q", exp, got) |
| 206 | } |
| 207 | } |
| 208 | |
| 209 | func cmpError(a, b error) bool { |
| 210 | return a == b || (a != nil && b != nil && a.Error() == b.Error()) |
nothing calls this directly
no test coverage detected