From 08fdacc08254a53169a19ff7f14cfad4c70655c1 Mon Sep 17 00:00:00 2001 From: Marcell Martini Date: Sun, 27 Dec 2020 18:19:33 -0400 Subject: feat: Remove if inside loop from String() --- cmd/echoip/main.go | 10 ++-------- 1 file changed, 2 insertions(+), 8 deletions(-) diff --git a/cmd/echoip/main.go b/cmd/echoip/main.go index 737a4f4..f3d4c94 100644 --- a/cmd/echoip/main.go +++ b/cmd/echoip/main.go @@ -3,6 +3,7 @@ package main import ( "flag" "log" + "strings" "os" @@ -14,14 +15,7 @@ import ( type multiValueFlag []string func (f *multiValueFlag) String() string { - vs := "" - for i, v := range *f { - vs += v - if i < len(*f)-1 { - vs += ", " - } - } - return vs + return strings.Join([]string(*f), ", ") } func (f *multiValueFlag) Set(v string) error { -- cgit v1.2.3 From a4d13ad0edcc3c9dd591ad1aa26d2b50b8528168 Mon Sep 17 00:00:00 2001 From: Marcell Martini Date: Sun, 27 Dec 2020 18:21:02 -0400 Subject: feat: Adding test to main.go --- cmd/echoip/main_test.go | 42 ++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 42 insertions(+) create mode 100644 cmd/echoip/main_test.go diff --git a/cmd/echoip/main_test.go b/cmd/echoip/main_test.go new file mode 100644 index 0000000..045a82a --- /dev/null +++ b/cmd/echoip/main_test.go @@ -0,0 +1,42 @@ +package main + +import "testing" + +func TestMultiValueFlagString(t *testing.T) { + var xmvf = []struct { + values multiValueFlag + expect string + }{ + { + values: multiValueFlag{ + "test", + "with multiples", + "flags", + }, + expect: `test, with multiples, flags`, + }, + { + values: multiValueFlag{ + "test", + }, + expect: `test`, + }, + { + values: multiValueFlag{ + "", + }, + expect: ``, + }, + { + values: nil, + expect: ``, + }, + } + + for _, mvf := range xmvf { + got := mvf.values.String() + if got != mvf.expect { + t.Errorf("\nFor: %#v\nExpected: %v\nGot: %v", mvf.values, mvf.expect, got) + } + } +} -- cgit v1.2.3