Added an API and test case for number of flags set
This commit is contained in:
parent
50c77ecec0
commit
bcec9b08c7
@ -106,6 +106,11 @@ func (c *Context) GlobalGeneric(name string) interface{} {
|
|||||||
return lookupGeneric(name, c.globalSet)
|
return lookupGeneric(name, c.globalSet)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// Returns the number of flags set
|
||||||
|
func (c *Context) NumFlags() int {
|
||||||
|
return c.flagSet.NFlag()
|
||||||
|
}
|
||||||
|
|
||||||
// Determines if the flag was actually set
|
// Determines if the flag was actually set
|
||||||
func (c *Context) IsSet(name string) bool {
|
func (c *Context) IsSet(name string) bool {
|
||||||
if c.setFlags == nil {
|
if c.setFlags == nil {
|
||||||
|
@ -97,3 +97,15 @@ func TestContext_GlobalIsSet(t *testing.T) {
|
|||||||
expect(t, c.GlobalIsSet("myflagGlobalUnset"), false)
|
expect(t, c.GlobalIsSet("myflagGlobalUnset"), false)
|
||||||
expect(t, c.GlobalIsSet("bogusGlobal"), false)
|
expect(t, c.GlobalIsSet("bogusGlobal"), false)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
func TestContext_NumFlags(t *testing.T) {
|
||||||
|
set := flag.NewFlagSet("test", 0)
|
||||||
|
set.Bool("myflag", false, "doc")
|
||||||
|
set.String("otherflag", "hello world", "doc")
|
||||||
|
globalSet := flag.NewFlagSet("test", 0)
|
||||||
|
globalSet.Bool("myflagGlobal", true, "doc")
|
||||||
|
c := cli.NewContext(nil, set, globalSet)
|
||||||
|
set.Parse([]string{"--myflag", "--otherflag=foo"})
|
||||||
|
globalSet.Parse([]string{"--myflagGlobal"})
|
||||||
|
expect(t, c.NumFlags(), 2)
|
||||||
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user