aboutsummaryrefslogtreecommitdiff
path: root/flag_test.go
diff options
context:
space:
mode:
authorEric Paris <[email protected]>2015-06-01 17:00:40 -0500
committerEric Paris <[email protected]>2015-06-01 17:00:40 -0500
commit5644820622454e71517561946e3d94b9f9db6842 (patch)
tree8cd5bb3d4e4da14bf5c892b1bced4b4c5d2a6b35 /flag_test.go
parent8a0b846eb11d294deee8f68f697d48ac62aa372f (diff)
parent2453ff68aaa73a45c0fa1208d390775920faa764 (diff)
Merge pull request #26 from eparis/moar-tests
Moar tests
Diffstat (limited to 'flag_test.go')
-rw-r--r--flag_test.go41
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)
}