diff options
| author | Mitch Connors <[email protected]> | 2019-09-17 09:43:30 -0700 |
|---|---|---|
| committer | GitHub <[email protected]> | 2019-09-17 09:43:30 -0700 |
| commit | 7b22f689a41a1727c42eb02aaa1492d26402c592 (patch) | |
| tree | ca8ae6c13649d5a76f09cd8c7a4ca5011c870c85 /ip_slice_test.go | |
| parent | 972238283c0625cf3e881de7699ba8f2524c340a (diff) | |
| parent | 8e39cc44d9bd06ee2d9ef3109c93809072d5e551 (diff) | |
Merge pull request #216 from therealmitchconnors/elegant
Implement SliceValue for better list semantics
Diffstat (limited to 'ip_slice_test.go')
| -rw-r--r-- | ip_slice_test.go | 23 |
1 files changed, 23 insertions, 0 deletions
diff --git a/ip_slice_test.go b/ip_slice_test.go index b0c681c..d189276 100644 --- a/ip_slice_test.go +++ b/ip_slice_test.go @@ -141,6 +141,29 @@ func TestIPSCalledTwice(t *testing.T) { } } +func TestIPSAsSliceValue(t *testing.T) { + var ips []net.IP + f := setUpIPSFlagSet(&ips) + + in := []string{"192.168.1.1", "0:0:0:0:0:0:0:1"} + argfmt := "--ips=%s" + arg1 := fmt.Sprintf(argfmt, in[0]) + arg2 := fmt.Sprintf(argfmt, in[1]) + err := f.Parse([]string{arg1, arg2}) + if err != nil { + t.Fatal("expected no error; got", err) + } + + f.VisitAll(func(f *Flag) { + if val, ok := f.Value.(SliceValue); ok { + _ = val.Replace([]string{"192.168.1.2"}) + } + }) + if len(ips) != 1 || !ips[0].Equal(net.ParseIP("192.168.1.2")) { + t.Fatalf("Expected ss to be overwritten with '192.168.1.2', but got: %v", ips) + } +} + func TestIPSBadQuoting(t *testing.T) { tests := []struct { |
