Merge pull request #160 from eparis/len-at-dash
Provide the length of Args when a -- is found in commandline
This commit is contained in:
		@ -416,8 +416,11 @@ func TestGrandChildSameName(t *testing.T) {
 | 
				
			|||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
func TestFlagLong(t *testing.T) {
 | 
					func TestFlagLong(t *testing.T) {
 | 
				
			||||||
	noRRSetupTest("echo --intone=13 something here")
 | 
						noRRSetupTest("echo --intone=13 something -- here")
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						if cmdEcho.ArgsLenAtDash() != 1 {
 | 
				
			||||||
 | 
							t.Errorf("expected argsLenAtDash: %d but got %d", 1, cmdRootNoRun.ArgsLenAtDash())
 | 
				
			||||||
 | 
						}
 | 
				
			||||||
	if strings.Join(te, " ") != "something here" {
 | 
						if strings.Join(te, " ") != "something here" {
 | 
				
			||||||
		t.Errorf("flags didn't leave proper args remaining..%s given", te)
 | 
							t.Errorf("flags didn't leave proper args remaining..%s given", te)
 | 
				
			||||||
	}
 | 
						}
 | 
				
			||||||
@ -430,8 +433,11 @@ func TestFlagLong(t *testing.T) {
 | 
				
			|||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
func TestFlagShort(t *testing.T) {
 | 
					func TestFlagShort(t *testing.T) {
 | 
				
			||||||
	noRRSetupTest("echo -i13 something here")
 | 
						noRRSetupTest("echo -i13 -- something here")
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						if cmdEcho.ArgsLenAtDash() != 0 {
 | 
				
			||||||
 | 
							t.Errorf("expected argsLenAtDash: %d but got %d", 0, cmdRootNoRun.ArgsLenAtDash())
 | 
				
			||||||
 | 
						}
 | 
				
			||||||
	if strings.Join(te, " ") != "something here" {
 | 
						if strings.Join(te, " ") != "something here" {
 | 
				
			||||||
		t.Errorf("flags didn't leave proper args remaining..%s given", te)
 | 
							t.Errorf("flags didn't leave proper args remaining..%s given", te)
 | 
				
			||||||
	}
 | 
						}
 | 
				
			||||||
 | 
				
			|||||||
@ -470,6 +470,10 @@ func (c *Command) Root() *Command {
 | 
				
			|||||||
	return findRoot(c)
 | 
						return findRoot(c)
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					func (c *Command) ArgsLenAtDash() int {
 | 
				
			||||||
 | 
						return c.Flags().ArgsLenAtDash()
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
func (c *Command) execute(a []string) (err error) {
 | 
					func (c *Command) execute(a []string) (err error) {
 | 
				
			||||||
	if c == nil {
 | 
						if c == nil {
 | 
				
			||||||
		return fmt.Errorf("Called Execute() on a nil Command")
 | 
							return fmt.Errorf("Called Execute() on a nil Command")
 | 
				
			||||||
 | 
				
			|||||||
		Reference in New Issue
	
	Block a user