diff options
author | Jaime Martinez <jmartinez@gitlab.com> | 2020-01-15 01:47:55 +0300 |
---|---|---|
committer | Jaime Martinez <jmartinez@gitlab.com> | 2020-01-15 01:49:23 +0300 |
commit | aa2e20c6b1b2d144d0fd814fe30a65e68c5b6f54 (patch) | |
tree | d1c094dc49bd78cb3b94432da06e344c3305a71f /multi_string_flag_test.go | |
parent | 48d721e7487d92de03f342b322a781a29947535d (diff) |
skip empty string when spliting MultiStringFlag
Diffstat (limited to 'multi_string_flag_test.go')
-rw-r--r-- | multi_string_flag_test.go | 32 |
1 files changed, 32 insertions, 0 deletions
diff --git a/multi_string_flag_test.go b/multi_string_flag_test.go index 20cac831..edbb7107 100644 --- a/multi_string_flag_test.go +++ b/multi_string_flag_test.go @@ -2,6 +2,7 @@ package main import ( "flag" + "reflect" "testing" "github.com/stretchr/testify/require" @@ -18,3 +19,34 @@ func TestMultiStringFlagAppendsOnSet(t *testing.T) { require.Equal(t, MultiStringFlag{"foo", "bar"}, concrete) } + +func TestMultiStringFlag_Split(t *testing.T) { + tests := []struct { + name string + s *MultiStringFlag + wantResult []string + }{ + { + name: "empty_string", + s: &MultiStringFlag{}, // -flag "" + wantResult: nil, + }, + { + name: "one_value", + s: &MultiStringFlag{"value1"}, // -flag "value1" + wantResult: []string{"value1"}, + }, + { + name: "multiple_values", + s: &MultiStringFlag{"value1", "value2", "value3"}, // -flag "value1" + wantResult: []string{"value1", "value2", "value3"}, + }, + } + for _, tt := range tests { + t.Run(tt.name, func(t *testing.T) { + if gotResult := tt.s.Split(); !reflect.DeepEqual(gotResult, tt.wantResult) { + t.Errorf("MultiStringFlag.Split() = %v, want %v", gotResult, tt.wantResult) + } + }) + } +} |