1package flags 2 3import ( 4 "flag" 5 "reflect" 6 "testing" 7) 8 9func TestAppendSliceValue_implements(t *testing.T) { 10 t.Parallel() 11 var raw interface{} 12 raw = new(AppendSliceValue) 13 if _, ok := raw.(flag.Value); !ok { 14 t.Fatalf("AppendSliceValue should be a Value") 15 } 16} 17 18func TestAppendSliceValueSet(t *testing.T) { 19 t.Parallel() 20 sv := new(AppendSliceValue) 21 err := sv.Set("foo") 22 if err != nil { 23 t.Fatalf("err: %s", err) 24 } 25 26 err = sv.Set("bar") 27 if err != nil { 28 t.Fatalf("err: %s", err) 29 } 30 31 expected := []string{"foo", "bar"} 32 if !reflect.DeepEqual([]string(*sv), expected) { 33 t.Fatalf("Bad: %#v", sv) 34 } 35} 36