@@ -112,19 +112,23 @@ public void ShowHelp()
112
112
app . Option ( "--rStrOpt <E>" , "restricted str option desc." , CommandOptionType . SingleValue , o => o . IsRequired ( ) . Accepts ( ) . Values ( "Foo" , "Bar" ) ) ;
113
113
app . Option < int > ( "--intOpt <E>" , "int option desc." , CommandOptionType . SingleValue ) ;
114
114
app . Option < SomeEnum > ( "--enumOpt <E>" , "enum option desc." , CommandOptionType . SingleValue ) ;
115
+ app . Option < SomeEnum > ( "--rEnumOpt <E>" , "restricted enum option desc." , CommandOptionType . SingleValue , o => o . Accepts ( ) . Values ( "None" , "Normal" ) ) ;
115
116
app . Argument ( "SomeStringArgument" , "string arg desc." ) ;
116
117
app . Argument ( "RestrictedStringArgument" , "restricted string arg desc." , a => a . IsRequired ( ) . Accepts ( ) . Values ( "Foo" , "Bar" ) ) ;
117
118
app . Argument < SomeEnum > ( "SomeEnumArgument" , "enum arg desc." ) ;
119
+ app . Argument < SomeEnum > ( "RestrictedEnumArgument" , "restricted enum arg desc." , a => a . Accepts ( ) . Values ( "None" , "Normal" ) ) ;
118
120
var helpText = GetHelpText ( app ) ;
119
121
120
- Assert . Equal ( @"Usage: [options] <SomeStringArgument> <RestrictedStringArgument> <SomeEnumArgument>
122
+ Assert . Equal ( @"Usage: [options] <SomeStringArgument> <RestrictedStringArgument> <SomeEnumArgument> <RestrictedEnumArgument>
121
123
122
124
Arguments:
123
125
SomeStringArgument string arg desc.
124
126
RestrictedStringArgument restricted string arg desc.
125
127
Allowed values are: Foo, Bar.
126
128
SomeEnumArgument enum arg desc.
127
129
Allowed values are: None, Normal, Extreme.
130
+ RestrictedEnumArgument restricted enum arg desc.
131
+ Allowed values are: None, Normal.
128
132
129
133
Options:
130
134
-?|-h|--help Show help information.
@@ -134,6 +138,8 @@ SomeEnumArgument enum arg desc.
134
138
--intOpt <E> int option desc.
135
139
--enumOpt <E> enum option desc.
136
140
Allowed values are: None, Normal, Extreme.
141
+ --rEnumOpt <E> restricted enum option desc.
142
+ Allowed values are: None, Normal.
137
143
138
144
" ,
139
145
helpText ,
@@ -148,14 +154,16 @@ public void ShowHelpFromAttributes()
148
154
app . Conventions . UseDefaultConventions ( ) ;
149
155
var helpText = GetHelpText ( app ) ;
150
156
151
- Assert . Equal ( @"Usage: test [options] <SomeStringArgument> <RestrictedStringArgument> <SomeEnumArgument>
157
+ Assert . Equal ( @"Usage: test [options] <SomeStringArgument> <RestrictedStringArgument> <SomeEnumArgument> <RestrictedEnumArgument>
152
158
153
159
Arguments:
154
160
SomeStringArgument string arg desc.
155
161
RestrictedStringArgument restricted string arg desc.
156
162
Allowed values are: Foo, Bar.
157
163
SomeEnumArgument enum arg desc.
158
164
Allowed values are: None, Normal, Extreme.
165
+ RestrictedEnumArgument restricted enum arg desc.
166
+ Allowed values are: None, Normal.
159
167
160
168
Options:
161
169
-strOpt|--str-opt <STR_OPT> str option desc.
@@ -164,6 +172,8 @@ SomeEnumArgument enum arg desc.
164
172
-intOpt|--int-opt <INT_OPT> int option desc.
165
173
-enumOpt|--verbosity <VERBOSITY> enum option desc.
166
174
Allowed values are: None, Normal, Extreme.
175
+ -rEnumOpt|--verb2 <VERB2> restricted enum option desc.
176
+ Allowed values are: None, Normal.
167
177
-?|-h|--help Show help information.
168
178
169
179
" ,
@@ -187,6 +197,10 @@ public class MyApp
187
197
[ Option ( ShortName = "enumOpt" , Description = "enum option desc." ) ]
188
198
public SomeEnum Verbosity { get ; set ; }
189
199
200
+ [ Option ( ShortName = "rEnumOpt" , Description = "restricted enum option desc." ) ]
201
+ [ AllowedValues ( "None" , "Normal" ) ]
202
+ public SomeEnum Verb2 { get ; set ; }
203
+
190
204
[ Argument ( 0 , Description = "string arg desc." ) ]
191
205
public string SomeStringArgument { get ; set ; }
192
206
@@ -197,6 +211,10 @@ public class MyApp
197
211
198
212
[ Argument ( 2 , Description = "enum arg desc." ) ]
199
213
public SomeEnum SomeEnumArgument { get ; set ; }
214
+
215
+ [ Argument ( 3 , Description = "restricted enum arg desc." ) ]
216
+ [ AllowedValues ( "None" , "Normal" ) ]
217
+ public SomeEnum RestrictedEnumArgument { get ; set ; }
200
218
}
201
219
202
220
[ Theory ]
0 commit comments