| 1064 | } |
| 1065 | |
| 1066 | func TestLongOptionsErrorHandling(t *testing.T) { |
| 1067 | _, err := Parse("Usage: prog", []string{"--non-existent"}, true, "", false, false) |
| 1068 | if _, ok := err.(*UserError); !ok { |
| 1069 | t.Error(fmt.Sprintf("(%s) %s", reflect.TypeOf(err), err)) |
| 1070 | } |
| 1071 | _, err = Parse("Usage: prog [--version --verbose]\nOptions: --version\n --verbose", |
| 1072 | []string{"--ver"}, true, "", false, false) |
| 1073 | if _, ok := err.(*UserError); !ok { |
| 1074 | t.Error(err) |
| 1075 | } |
| 1076 | _, err = Parse("Usage: prog --long\nOptions: --long ARG", []string{}, true, "", false, false) |
| 1077 | if _, ok := err.(*LanguageError); !ok { |
| 1078 | t.Error(err) |
| 1079 | } |
| 1080 | _, err = Parse("Usage: prog --long ARG\nOptions: --long ARG", |
| 1081 | []string{"--long"}, true, "", false, false) |
| 1082 | if _, ok := err.(*UserError); !ok { |
| 1083 | t.Error(fmt.Sprintf("(%s) %s", reflect.TypeOf(err), err)) |
| 1084 | } |
| 1085 | _, err = Parse("Usage: prog --long=ARG\nOptions: --long", []string{}, true, "", false, false) |
| 1086 | if _, ok := err.(*LanguageError); !ok { |
| 1087 | t.Error(err) |
| 1088 | } |
| 1089 | _, err = Parse("Usage: prog --long\nOptions: --long", |
| 1090 | []string{}, true, "--long=ARG", false, false) |
| 1091 | if _, ok := err.(*UserError); !ok { |
| 1092 | t.Error(err) |
| 1093 | } |
| 1094 | } |
| 1095 | |
| 1096 | func TestShortOptionsErrorHandling(t *testing.T) { |
| 1097 | _, err := Parse("Usage: prog -x\nOptions: -x this\n -x that", []string{}, true, "", false, false) |