...
1
2
3
4 package jreader
5
6 import (
7 "testing"
8
9 "github.com/mailru/easyjson/jlexer"
10 "github.com/stretchr/testify/require"
11 )
12
13 func TestNewReaderFromEasyJSONLexer(t *testing.T) {
14 data := []byte(`[1,{"property":2},3]`)
15 lexer := jlexer.Lexer{Data: data}
16
17
18 lexer.Delim('[')
19 require.NoError(t, lexer.Error())
20 n := lexer.Int()
21 require.Equal(t, 1, n)
22 require.NoError(t, lexer.Error())
23 lexer.WantComma()
24
25
26 reader := NewReaderFromEasyJSONLexer(&lexer)
27 obj := reader.Object()
28 require.NoError(t, reader.Error())
29 require.True(t, obj.Next())
30 require.Equal(t, "property", string(obj.Name()))
31 n = reader.Int()
32 require.NoError(t, reader.Error())
33 require.Equal(t, 2, n)
34 require.False(t, obj.Next())
35
36
37 require.NoError(t, lexer.Error())
38 lexer.WantComma()
39 n = lexer.Int()
40 require.Equal(t, 3, n)
41 require.NoError(t, lexer.Error())
42 lexer.WantComma()
43 lexer.Delim(']')
44 require.NoError(t, lexer.Error())
45 }
46
View as plain text