/
githubmirror
/
pop
Обзор
Документация
Войти
/
githubmirror
/
pop
Код
Запросы
0
Пакеты
0
Релизы
0
Аналитика
Безопасность
main
slices/string_test.go
56 строк
1 KB
Mark Bates
ngerous serialization in slices.Strings, broken behavior fixes #342 (#343)
16 фев 2019, 00:43
16 фев 2019, 00:43
87b1998
Код
Авторство
О чём код?
package slices import ( "encoding/json" "testing" "github.com/stretchr/testify/require" ) func Test_String_Scan(t *testing.T) { r := require.New(t) in := `{"This has a comma,","This has a double quote\"","Also a single'"}` s := &String{} r.NoError(s.Scan(in)) ss := []string(*s) r.Len(ss, 3) r.Equal([]string{"This has a comma,", "This has a double quote\"", "Also a single'"}, ss) } func Test_String_Value(t *testing.T) { r := require.New(t) s := String{"This has a comma,", "This has a double quote\"", "Also a single'"} v, err := s.Value() r.NoError(err) r.Equal(`{"This has a comma,","This has a double quote\"","Also a single'"}`, v) } func Test_String_UnmarshalText(t *testing.T) { r := require.New(t) in := "foo,bar,\"baz,bax\"" s := &String{} r.NoError(s.UnmarshalText([]byte(in))) ss := []string(*s) r.Len(ss, 3) r.Equal([]string{"foo", "bar", "baz,bax"}, ss) } func Test_String_JSON_Unmarshal(t *testing.T) { r := require.New(t) x := `["foo", "bar"]` s := String{} r.NoError(json.Unmarshal([]byte(x), &s)) r.Equal(String{"foo", "bar"}, s) } func Test_String_JSON_Marshal(t *testing.T) { r := require.New(t) x := `["foo","bar"]` s := String{"foo", "bar"} b, err := json.Marshal(s) r.NoError(err) r.Equal(x, string(b)) }