@@ -663,6 +663,7 @@ func TestInterpolationIntoModel(t *testing.T) {
663663 require .Equal (t , "Some default value." , flag .Default )
664664 require .Equal (t , "Help, I need chickens!" , flag .Help )
665665 require .Equal (t , map [string ]bool {"a" : true , "b" : true , "c" : true , "d" : true }, flag .EnumMap ())
666+ require .Equal (t , []string {"a" , "b" , "c" , "d" }, flag .EnumSlice ())
666667 require .Equal (t , "One of a,b" , flag2 .Help )
667668 require .Equal (t , "SAVE_THE_QUEEN" , flag3 .Env )
668669 require .Equal (t , "God SAVE_THE_QUEEN" , flag3 .Help )
@@ -787,6 +788,14 @@ func TestEnum(t *testing.T) {
787788 require .EqualError (t , err , "--flag must be one of \" a\" ,\" b\" ,\" c\" but got \" d\" " )
788789}
789790
791+ func TestEnumMeaningfulOrder (t * testing.T ) {
792+ var cli struct {
793+ Flag string `enum:"first,second,third,fourth,fifth" required:""`
794+ }
795+ _ , err := mustNew (t , & cli ).Parse ([]string {"--flag" , "sixth" })
796+ require .EqualError (t , err , "--flag must be one of \" first\" ,\" second\" ,\" third\" ,\" fourth\" ,\" fifth\" but got \" sixth\" " )
797+ }
798+
790799type commandWithHook struct {
791800 value string
792801}
0 commit comments