@@ -654,6 +654,7 @@ func TestApp_FlagsFromExtPackage(t *testing.T) {
654654 }()
655655
656656 a := & App {
657+ AllowExtFlags : true ,
657658 Flags : []Flag {
658659 & StringFlag {
659660 Name : "carly" ,
@@ -677,6 +678,28 @@ func TestApp_FlagsFromExtPackage(t *testing.T) {
677678 if someint != 10 {
678679 t .Errorf ("Expected 10 got %d for someint" , someint )
679680 }
681+
682+ a = & App {
683+ Flags : []Flag {
684+ & StringFlag {
685+ Name : "carly" ,
686+ Aliases : []string {"c" },
687+ Required : false ,
688+ },
689+ & BoolFlag {
690+ Name : "jimbob" ,
691+ Aliases : []string {"j" },
692+ Required : false ,
693+ Value : true ,
694+ },
695+ },
696+ }
697+
698+ // this should return an error since epflag shouldnt be registered
699+ err = a .Run ([]string {"foo" , "-c" , "cly" , "--epflag" , "10" })
700+ if err == nil {
701+ t .Error ("Expected error" )
702+ }
680703}
681704
682705func TestApp_Setup_defaultsReader (t * testing.T ) {
@@ -790,6 +813,24 @@ func TestApp_CommandWithNoFlagBeforeTerminator(t *testing.T) {
790813 expect (t , args .Get (2 ), "notAFlagAtAll" )
791814}
792815
816+ func TestApp_SkipFlagParsing (t * testing.T ) {
817+ var args Args
818+
819+ app := & App {
820+ SkipFlagParsing : true ,
821+ Action : func (c * Context ) error {
822+ args = c .Args ()
823+ return nil
824+ },
825+ }
826+
827+ _ = app .Run ([]string {"" , "--" , "my-arg" , "notAFlagAtAll" })
828+
829+ expect (t , args .Get (0 ), "--" )
830+ expect (t , args .Get (1 ), "my-arg" )
831+ expect (t , args .Get (2 ), "notAFlagAtAll" )
832+ }
833+
793834func TestApp_VisibleCommands (t * testing.T ) {
794835 app := & App {
795836 Commands : []* Command {
0 commit comments