skip_test.go 668 B

12345678910111213141516171819202122232425262728293031323334
  1. package test
  2. import (
  3. "encoding/json"
  4. "errors"
  5. "github.com/json-iterator/go"
  6. "github.com/stretchr/testify/require"
  7. "io"
  8. "testing"
  9. )
  10. func Test_skip(t *testing.T) {
  11. for _, input := range inputs {
  12. t.Run(input, func(t *testing.T) {
  13. should := require.New(t)
  14. var dst typeForTest
  15. stdErr := json.Unmarshal([]byte(input), &dst)
  16. iter := jsoniter.ParseString(jsoniter.ConfigDefault, input)
  17. iter.Skip()
  18. iter.ReadNil() // trigger looking forward
  19. err := iter.Error
  20. if err == io.EOF {
  21. err = nil
  22. } else {
  23. err = errors.New("remaining bytes")
  24. }
  25. if stdErr == nil {
  26. should.Nil(err)
  27. } else {
  28. should.NotNil(err)
  29. }
  30. })
  31. }
  32. }