From 788c166025870bc4653adb5986d03f99c1d14af2 Mon Sep 17 00:00:00 2001 From: Alex Flint Date: Sun, 31 Jan 2021 19:15:49 -0800 Subject: test that short-only options are printed first in the help message --- usage_test.go | 21 ++++++++++++++++++++- 1 file changed, 20 insertions(+), 1 deletion(-) (limited to 'usage_test.go') diff --git a/usage_test.go b/usage_test.go index 8e28dc5..6dee402 100644 --- a/usage_test.go +++ b/usage_test.go @@ -310,7 +310,7 @@ Global options: assert.Equal(t, expectedHelp, help.String()) } -func TestUsageWithOptionalLongNames(t *testing.T) { +func TestUsageWithoutLongNames(t *testing.T) { expectedHelp := `Usage: example [-a PLACEHOLDER] -b SHORTONLY2 Options: @@ -329,6 +329,25 @@ Options: assert.Equal(t, expectedHelp, help.String()) } +func TestUsageWithShortFirst(t *testing.T) { + expectedHelp := `Usage: example [-c CAT] [--dog DOG] + +Options: + -c CAT + --dog DOG + --help, -h display this help and exit +` + var args struct { + Dog string + Cat string `arg:"-c,--"` + } + p, err := NewParser(Config{Program: "example"}, &args) + assert.NoError(t, err) + var help bytes.Buffer + p.WriteHelp(&help) + assert.Equal(t, expectedHelp, help.String()) +} + func TestUsageWithEnvOptions(t *testing.T) { expectedHelp := `Usage: example [-s SHORT] -- cgit v1.2.3