| 186 | } |
| 187 | |
| 188 | func testParse(f *FlagSet, t *testing.T) { |
| 189 | if f.Parsed() { |
| 190 | t.Error("f.Parse() = true before Parse") |
| 191 | } |
| 192 | boolFlag := f.Bool("bool", false, "bool value") |
| 193 | bool2Flag := f.Bool("bool2", false, "bool2 value") |
| 194 | bool3Flag := f.Bool("bool3", false, "bool3 value") |
| 195 | intFlag := f.Int("int", 0, "int value") |
| 196 | int8Flag := f.Int8("int8", 0, "int value") |
| 197 | int16Flag := f.Int16("int16", 0, "int value") |
| 198 | int32Flag := f.Int32("int32", 0, "int value") |
| 199 | int64Flag := f.Int64("int64", 0, "int64 value") |
| 200 | uintFlag := f.Uint("uint", 0, "uint value") |
| 201 | uint8Flag := f.Uint8("uint8", 0, "uint value") |
| 202 | uint16Flag := f.Uint16("uint16", 0, "uint value") |
| 203 | uint32Flag := f.Uint32("uint32", 0, "uint value") |
| 204 | uint64Flag := f.Uint64("uint64", 0, "uint64 value") |
| 205 | stringFlag := f.String("string", "0", "string value") |
| 206 | float32Flag := f.Float32("float32", 0, "float32 value") |
| 207 | float64Flag := f.Float64("float64", 0, "float64 value") |
| 208 | ipFlag := f.IP("ip", net.ParseIP("127.0.0.1"), "ip value") |
| 209 | maskFlag := f.IPMask("mask", ParseIPv4Mask("0.0.0.0"), "mask value") |
| 210 | durationFlag := f.Duration("duration", 5*time.Second, "time.Duration value") |
| 211 | optionalIntNoValueFlag := f.Int("optional-int-no-value", 0, "int value") |
| 212 | f.Lookup("optional-int-no-value").NoOptDefVal = "9" |
| 213 | optionalIntWithValueFlag := f.Int("optional-int-with-value", 0, "int value") |
| 214 | f.Lookup("optional-int-no-value").NoOptDefVal = "9" |
| 215 | extra := "one-extra-argument" |
| 216 | args := []string{ |
| 217 | "--bool", |
| 218 | "--bool2=true", |
| 219 | "--bool3=false", |
| 220 | "--int=22", |
| 221 | "--int8=-8", |
| 222 | "--int16=-16", |
| 223 | "--int32=-32", |
| 224 | "--int64=0x23", |
| 225 | "--uint", "24", |
| 226 | "--uint8=8", |
| 227 | "--uint16=16", |
| 228 | "--uint32=32", |
| 229 | "--uint64=25", |
| 230 | "--string=hello", |
| 231 | "--float32=-172e12", |
| 232 | "--float64=2718e28", |
| 233 | "--ip=10.11.12.13", |
| 234 | "--mask=255.255.255.0", |
| 235 | "--duration=2m", |
| 236 | "--optional-int-no-value", |
| 237 | "--optional-int-with-value=42", |
| 238 | extra, |
| 239 | } |
| 240 | if err := f.Parse(args); err != nil { |
| 241 | t.Fatal(err) |
| 242 | } |
| 243 | if !f.Parsed() { |
| 244 | t.Error("f.Parse() = false after Parse") |
| 245 | } |