...
1
16
17 package issue_test
18
19 import (
20 . `github.com/bytedance/sonic`
21 `testing`
22
23 `github.com/bytedance/sonic/decoder`
24 `github.com/stretchr/testify/require`
25 )
26
27 type Issue82String string
28
29 func (s *Issue82String) UnmarshalJSON(b []byte) error {
30 *s = Issue82String(b)
31 return nil
32 }
33
34 func TestIssue82_MapValueIsStringUnmarshaler(t *testing.T) {
35 var v map[string]Issue82String
36 err := Unmarshal([]byte(`{"a":123}`), &v)
37 if err != nil {
38 println(err.(decoder.SyntaxError).Description())
39 require.NoError(t, err)
40 }
41 require.Equal(t, map[string]Issue82String{"a": "123"}, v)
42 }
43
View as plain text