...

Source file src/github.com/launchdarkly/go-jsonstream/v3/jreader/reader_unmarshal_test.go

Documentation: github.com/launchdarkly/go-jsonstream/v3/jreader

     1  package jreader
     2  
     3  import (
     4  	"testing"
     5  
     6  	"github.com/launchdarkly/go-jsonstream/v3/internal/commontest"
     7  
     8  	"github.com/stretchr/testify/require"
     9  )
    10  
    11  func TestUnmarshalJSONWithReader(t *testing.T) {
    12  	var val ExampleStructWrapper
    13  	err := UnmarshalJSONWithReader(commontest.ExampleStructData, &val)
    14  	require.NoError(t, err)
    15  	require.Equal(t, ExampleStructWrapper(commontest.ExampleStructValue), val)
    16  }
    17  
    18  func TestUnmarshalJSONWithReaderReturnsErrorForNonWhitespaceDatasAfterEnd(t *testing.T) {
    19  	var val ExampleStructWrapper
    20  	badJSON := string(commontest.ExampleStructData) + "xxx"
    21  	err := UnmarshalJSONWithReader([]byte(badJSON), &val)
    22  	require.Error(t, err)
    23  	require.Contains(t, err.Error(), "unexpected data after end")
    24  }
    25  
    26  func TestUnmarshalJSONWithReaderDisregardsWhitespaceAfterEnd(t *testing.T) {
    27  	var val ExampleStructWrapper
    28  	okJSON := string(commontest.ExampleStructData) + "   \t\n\r  "
    29  	err := UnmarshalJSONWithReader([]byte(okJSON), &val)
    30  	require.NoError(t, err)
    31  	require.Equal(t, ExampleStructWrapper(commontest.ExampleStructValue), val)
    32  }
    33  

View as plain text