Sfoglia il codice sorgente

#130 loadMore should use iter.captured

Tao Wen 8 anni fa
parent
commit
4b33139ad0
2 ha cambiato i file con 58 aggiunte e 1 eliminazioni
  1. 1 1
      feature_iter.go
  2. 57 0
      jsoniter_reader_test.go

+ 1 - 1
feature_iter.go

@@ -236,7 +236,7 @@ func (iter *Iterator) loadMore() bool {
 		}
 		return false
 	}
-	if iter.captureStartedAt != -1 {
+	if iter.captured != nil {
 		iter.captured = append(iter.captured,
 			iter.buf[iter.captureStartedAt:iter.tail]...)
 		iter.captureStartedAt = 0

+ 57 - 0
jsoniter_reader_test.go

@@ -0,0 +1,57 @@
+package jsoniter
+
+import (
+	"testing"
+	"time"
+	"strings"
+	"github.com/stretchr/testify/require"
+)
+
+func Test_reader_and_load_more(t *testing.T) {
+	should := require.New(t)
+	type TestObject struct {
+		CreatedAt time.Time
+	}
+	reader := strings.NewReader(`
+{
+	"agency": null,
+	"candidateId": 0,
+	"candidate": "Blah Blah",
+	"bookingId": 0,
+	"shiftId": 1,
+	"shiftTypeId": 0,
+	"shift": "Standard",
+	"bonus": 0,
+	"bonusNI": 0,
+	"days": [],
+	"totalHours": 27,
+	"expenses": [],
+	"weekEndingDateSystem": "2016-10-09",
+	"weekEndingDateClient": "2016-10-09",
+	"submittedAt": null,
+	"submittedById": null,
+	"approvedAt": "2016-10-10T18:38:04Z",
+	"approvedById": 0,
+	"authorisedAt": "2016-10-10T18:38:04Z",
+	"authorisedById": 0,
+	"invoicedAt": "2016-10-10T20:00:00Z",
+	"revokedAt": null,
+	"revokedById": null,
+	"revokeReason": null,
+	"rejectedAt": null,
+	"rejectedById": null,
+	"rejectReasonCode": null,
+	"rejectReason": null,
+	"createdAt": "2016-10-03T00:00:00Z",
+	"updatedAt": "2016-11-09T10:26:13Z",
+	"updatedById": null,
+	"overrides": [],
+	"bookingApproverId": null,
+	"bookingApprover": null,
+	"status": "approved"
+}
+	`)
+	decoder := ConfigCompatibleWithStandardLibrary.NewDecoder(reader)
+	obj := TestObject{}
+	should.Nil(decoder.Decode(&obj))
+}