Welcome to mirror list, hosted at ThFree Co, Russian Federation.

gitlab.com/gitlab-org/gitlab-pages.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJaime Martinez <jmartinez@gitlab.com>2020-01-15 01:47:55 +0300
committerJaime Martinez <jmartinez@gitlab.com>2020-01-15 01:49:23 +0300
commitaa2e20c6b1b2d144d0fd814fe30a65e68c5b6f54 (patch)
treed1c094dc49bd78cb3b94432da06e344c3305a71f /multi_string_flag_test.go
parent48d721e7487d92de03f342b322a781a29947535d (diff)
skip empty string when spliting MultiStringFlag
Diffstat (limited to 'multi_string_flag_test.go')
-rw-r--r--multi_string_flag_test.go32
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)
+ }
+ })
+ }
+}