github.com/khulnasoft-lab/defsec@v1.0.5-0.20230827010352-5e9f46893d95/pkg/scanners/azure/arm/parser/armjson/reader_test.go (about) 1 package armjson 2 3 import ( 4 "strings" 5 "testing" 6 7 "github.com/stretchr/testify/assert" 8 "github.com/stretchr/testify/require" 9 ) 10 11 var input = `abcdefghijklmnopqrstuvwxyz` 12 13 func Test_Peeker(t *testing.T) { 14 peeker := NewPeekReader(strings.NewReader(input)) 15 16 var b rune 17 var err error 18 19 for i := 0; i < 30; i++ { 20 b, err = peeker.Peek() 21 require.NoError(t, err) 22 assert.Equal(t, ('a'), b) 23 } 24 25 b, err = peeker.Next() 26 require.NoError(t, err) 27 assert.Equal(t, ('a'), b) 28 29 b, err = peeker.Next() 30 require.NoError(t, err) 31 assert.Equal(t, ('b'), b) 32 33 b, err = peeker.Peek() 34 require.NoError(t, err) 35 assert.Equal(t, ('c'), b) 36 37 for i := 0; i < 5; i++ { 38 b, err = peeker.Next() 39 require.NoError(t, err) 40 assert.Equal(t, []rune(input)[2+i], b) 41 } 42 43 b, err = peeker.Peek() 44 require.NoError(t, err) 45 assert.Equal(t, ('h'), b) 46 47 b, err = peeker.Next() 48 require.NoError(t, err) 49 assert.Equal(t, ('h'), b) 50 for i := 0; i < 18; i++ { 51 b, err = peeker.Next() 52 require.NoError(t, err) 53 assert.Equal(t, []rune(input)[8+i], b) 54 } 55 56 _, err = peeker.Peek() 57 require.Error(t, err) 58 59 _, err = peeker.Next() 60 require.Error(t, err) 61 62 }