forked from mirror/go-json
Fix read timing and test case
This commit is contained in:
parent
59f5713178
commit
699ab766f5
|
@ -14,6 +14,7 @@ import (
|
|||
"bytes"
|
||||
"compress/gzip"
|
||||
"fmt"
|
||||
"io"
|
||||
"io/ioutil"
|
||||
"os"
|
||||
"strings"
|
||||
|
@ -373,9 +374,11 @@ func BenchmarkCodeDecoder(b *testing.B) {
|
|||
buf.WriteByte('\n')
|
||||
buf.WriteByte('\n')
|
||||
if err := dec.Decode(&r); err != nil {
|
||||
if err != io.EOF {
|
||||
b.Fatal("Decode:", err)
|
||||
}
|
||||
}
|
||||
}
|
||||
})
|
||||
b.SetBytes(int64(len(codeJSON)))
|
||||
}
|
||||
|
@ -390,8 +393,10 @@ func BenchmarkUnicodeDecoder(b *testing.B) {
|
|||
b.ResetTimer()
|
||||
for i := 0; i < b.N; i++ {
|
||||
if err := dec.Decode(&out); err != nil {
|
||||
if err != io.EOF {
|
||||
b.Fatal("Decode:", err)
|
||||
}
|
||||
}
|
||||
r.Seek(0, 0)
|
||||
}
|
||||
}
|
||||
|
@ -414,10 +419,12 @@ func BenchmarkDecoderStream(b *testing.B) {
|
|||
}
|
||||
x = nil
|
||||
if err := dec.Decode(&x); err != nil || x != 1.0 {
|
||||
if err != io.EOF {
|
||||
b.Fatalf("Decode: %v after %d", err, i)
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
func BenchmarkCodeUnmarshal(b *testing.B) {
|
||||
b.ReportAllocs()
|
||||
|
|
|
@ -61,7 +61,6 @@ const (
|
|||
// read data from r beyond the JSON values requested.
|
||||
func NewDecoder(r io.Reader) *Decoder {
|
||||
s := newStream(r)
|
||||
s.read()
|
||||
return &Decoder{
|
||||
s: s,
|
||||
}
|
||||
|
|
|
@ -26,6 +26,7 @@ func newStream(r io.Reader) *stream {
|
|||
return &stream{
|
||||
r: r,
|
||||
bufSize: initBufSize,
|
||||
buf: []byte{nul},
|
||||
}
|
||||
}
|
||||
|
||||
|
|
Loading…
Reference in New Issue