...
1
16
17 package issue_test
18
19 import (
20 `encoding/json`
21 `strings`
22 `testing`
23
24 `github.com/bytedance/sonic/decoder`
25 )
26
27 func TestIssue293(t *testing.T) {
28 left := `{"a":`
29 var data = left+strings.Repeat(" ", 4096 - len(left)-3) + "33.0}"
30 sd := decoder.NewStreamDecoder(strings.NewReader(data))
31 var v = struct{
32 A json.RawMessage
33 }{}
34 err := sd.Decode(&v)
35 if err != nil {
36 t.Fatal(err)
37 }
38 }
39
40 func TestIssue293Sign(t *testing.T) {
41 left := `{"a":`
42 var data = left+strings.Repeat(" ", 4096 - len(left)-1) + "-33.0}"
43 sd := decoder.NewStreamDecoder(strings.NewReader(data))
44 var v = struct{
45 A json.RawMessage
46 }{}
47 err := sd.Decode(&v)
48 if err != nil {
49 if e, ok := err.(decoder.SyntaxError); ok {
50 t.Fatal(e.Description())
51 }
52 t.Fatal(err)
53 }
54 }
View as plain text