Files
config/value/jbytes_test.go
andrey 6d42e1a5f0
All checks were successful
Go Action / goaction (pull_request) Successful in 30s
Go Action / goaction (push) Successful in 48s
update values
2025-12-26 20:59:11 +03:00

43 lines
926 B
Go

package value_test
import (
"encoding/json"
"testing"
"gitoa.ru/go-4devs/config"
"gitoa.ru/go-4devs/config/test/require"
"gitoa.ru/go-4devs/config/value"
)
func TestJBytes_String(t *testing.T) {
t.Parallel()
data := value.JBytes([]byte("\"data\""))
res, err := data.ParseString()
require.NoError(t, err)
require.Equal(t, res, "data")
dataErr := value.JBytes([]byte("data"))
res2, err2 := dataErr.ParseString()
require.ErrorIs(t, err2, config.ErrInvalidValue)
require.Equal(t, "", res2)
}
func TestJBytes_Unmarshal(t *testing.T) {
t.Parallel()
data, err := json.Marshal([]string{"test1", "test2"})
require.NoError(t, err)
sta := value.JBytes(data)
ac := ""
aca := []string{}
require.NoError(t, sta.Unmarshal(&aca))
require.Equal(t, []string{"test1", "test2"}, aca)
require.ErrorIs(t, sta.Unmarshal(ac), config.ErrInvalidValue)
require.ErrorIs(t, sta.Unmarshal(&ac), config.ErrInvalidValue)
}