diff options
| author | Eric Paris <[email protected]> | 2015-06-01 17:52:01 -0400 |
|---|---|---|
| committer | Eric Paris <[email protected]> | 2015-06-01 17:52:01 -0400 |
| commit | 2453ff68aaa73a45c0fa1208d390775920faa764 (patch) | |
| tree | 8cd5bb3d4e4da14bf5c892b1bced4b4c5d2a6b35 /flag_test.go | |
| parent | c87d53dfe15155eb0e930d4369603db4ca16c1ea (diff) | |
Moar flag_test!
Diffstat (limited to 'flag_test.go')
| -rw-r--r-- | flag_test.go | 41 |
1 files changed, 41 insertions, 0 deletions
diff --git a/flag_test.go b/flag_test.go index 765dfe0..d3c1714 100644 --- a/flag_test.go +++ b/flag_test.go @@ -9,6 +9,7 @@ import ( "fmt" "io" "io/ioutil" + "net" "os" "sort" "strings" @@ -114,11 +115,19 @@ func testParse(f *FlagSet, t *testing.T) { bool2Flag := f.Bool("bool2", false, "bool2 value") bool3Flag := f.Bool("bool3", false, "bool3 value") intFlag := f.Int("int", 0, "int value") + int8Flag := f.Int8("int8", 0, "int value") + int32Flag := f.Int32("int32", 0, "int value") int64Flag := f.Int64("int64", 0, "int64 value") uintFlag := f.Uint("uint", 0, "uint value") + uint8Flag := f.Uint8("uint8", 0, "uint value") + uint16Flag := f.Uint16("uint16", 0, "uint value") + uint32Flag := f.Uint32("uint32", 0, "uint value") uint64Flag := f.Uint64("uint64", 0, "uint64 value") stringFlag := f.String("string", "0", "string value") + float32Flag := f.Float32("float32", 0, "float32 value") float64Flag := f.Float64("float64", 0, "float64 value") + ipFlag := f.IP("ip", net.ParseIP("127.0.0.1"), "ip value") + maskFlag := f.IPMask("mask", ParseIPv4Mask("0.0.0.0"), "mask value") durationFlag := f.Duration("duration", 5*time.Second, "time.Duration value") extra := "one-extra-argument" args := []string{ @@ -126,11 +135,19 @@ func testParse(f *FlagSet, t *testing.T) { "--bool2=true", "--bool3=false", "--int=22", + "--int8=-8", + "--int32=-32", "--int64=0x23", "--uint=24", + "--uint8=8", + "--uint16=16", + "--uint32=32", "--uint64=25", "--string=hello", + "--float32=-172e12", "--float64=2718e28", + "--ip=10.11.12.13", + "--mask=255.255.255.0", "--duration=2m", extra, } @@ -152,21 +169,45 @@ func testParse(f *FlagSet, t *testing.T) { if *intFlag != 22 { t.Error("int flag should be 22, is ", *intFlag) } + if *int8Flag != -8 { + t.Error("int8 flag should be 0x23, is ", *int8Flag) + } + if *int32Flag != -32 { + t.Error("int32 flag should be 0x23, is ", *int32Flag) + } if *int64Flag != 0x23 { t.Error("int64 flag should be 0x23, is ", *int64Flag) } if *uintFlag != 24 { t.Error("uint flag should be 24, is ", *uintFlag) } + if *uint8Flag != 8 { + t.Error("uint8 flag should be 8, is ", *uint8Flag) + } + if *uint16Flag != 16 { + t.Error("uint16 flag should be 16, is ", *uint16Flag) + } + if *uint32Flag != 32 { + t.Error("uint32 flag should be 32, is ", *uint32Flag) + } if *uint64Flag != 25 { t.Error("uint64 flag should be 25, is ", *uint64Flag) } if *stringFlag != "hello" { t.Error("string flag should be `hello`, is ", *stringFlag) } + if *float32Flag != -172e12 { + t.Error("float64 flag should be -172e12, is ", *float64Flag) + } if *float64Flag != 2718e28 { t.Error("float64 flag should be 2718e28, is ", *float64Flag) } + if (*maskFlag).String() != ParseIPv4Mask("255.255.255.0").String() { + t.Error("mask flag should be 255.255.255.0, is ", (*maskFlag).String()) + } + if !(*ipFlag).Equal(net.ParseIP("10.11.12.13")) { + t.Error("ip flag should be 10.11.12.13, is ", *ipFlag) + } if *durationFlag != 2*time.Minute { t.Error("duration flag should be 2m, is ", *durationFlag) } |
