encoding: use strings.Builder

Change-Id: Ib07699df8ea41fd8d1bca8ad050859fac24623de
Reviewed-on: https://go-review.googlesource.com/c/go/+/428258
Reviewed-by: Robert Griesemer <gri@google.com>
Reviewed-by: Ian Lance Taylor <iant@google.com>
TryBot-Result: Gopher Robot <gobot@golang.org>
Run-TryBot: Ian Lance Taylor <iant@google.com>
Auto-Submit: Ian Lance Taylor <iant@google.com>
This commit is contained in:
cuiweixie 2022-09-04 17:44:30 +08:00 committed by Gopher Robot
parent a89c3d76ba
commit ab87db8b46
9 changed files with 20 additions and 19 deletions

View file

@ -75,7 +75,7 @@ func TestEncode(t *testing.T) {
func TestEncoder(t *testing.T) {
for _, p := range pairs {
bb := &bytes.Buffer{}
bb := &strings.Builder{}
encoder := NewEncoder(bb)
encoder.Write([]byte(p.decoded))
encoder.Close()
@ -86,7 +86,7 @@ func TestEncoder(t *testing.T) {
func TestEncoderBuffering(t *testing.T) {
input := []byte(bigtest.decoded)
for bs := 1; bs <= 12; bs++ {
bb := &bytes.Buffer{}
bb := &strings.Builder{}
encoder := NewEncoder(bb)
for pos := 0; pos < len(input); pos += bs {
end := pos + bs

View file

@ -60,7 +60,7 @@ func TestEncode(t *testing.T) {
func TestEncoder(t *testing.T) {
for _, p := range pairs {
bb := &bytes.Buffer{}
bb := &strings.Builder{}
encoder := NewEncoder(StdEncoding, bb)
encoder.Write([]byte(p.decoded))
encoder.Close()
@ -71,7 +71,7 @@ func TestEncoder(t *testing.T) {
func TestEncoderBuffering(t *testing.T) {
input := []byte(bigtest.decoded)
for bs := 1; bs <= 12; bs++ {
bb := &bytes.Buffer{}
bb := &strings.Builder{}
encoder := NewEncoder(StdEncoding, bb)
for pos := 0; pos < len(input); pos += bs {
end := pos + bs
@ -737,7 +737,7 @@ func TestWithoutPaddingClose(t *testing.T) {
for _, encoding := range encodings {
for _, testpair := range pairs {
var buf bytes.Buffer
var buf strings.Builder
encoder := NewEncoder(encoding, &buf)
encoder.Write([]byte(testpair.decoded))
encoder.Close()

View file

@ -119,7 +119,7 @@ func TestEncode(t *testing.T) {
func TestEncoder(t *testing.T) {
for _, p := range pairs {
bb := &bytes.Buffer{}
bb := &strings.Builder{}
encoder := NewEncoder(StdEncoding, bb)
encoder.Write([]byte(p.decoded))
encoder.Close()
@ -130,7 +130,7 @@ func TestEncoder(t *testing.T) {
func TestEncoderBuffering(t *testing.T) {
input := []byte(bigtest.decoded)
for bs := 1; bs <= 12; bs++ {
bb := &bytes.Buffer{}
bb := &strings.Builder{}
encoder := NewEncoder(StdEncoding, bb)
for pos := 0; pos < len(input); pos += bs {
end := pos + bs

View file

@ -7,6 +7,7 @@ package csv
import (
"bytes"
"errors"
"strings"
"testing"
)
@ -50,7 +51,7 @@ var writeTests = []struct {
func TestWrite(t *testing.T) {
for n, tt := range writeTests {
b := &bytes.Buffer{}
b := &strings.Builder{}
f := NewWriter(b)
f.UseCRLF = tt.UseCRLF
if tt.Comma != 0 {

View file

@ -1467,7 +1467,7 @@ func TestFuzzOneByte(t *testing.T) {
t.Skipf("disabled; run with -gob.fuzz to enable")
}
buf := new(bytes.Buffer)
buf := new(strings.Builder)
Register(OnTheFly{})
dt := newDT()
if err := NewEncoder(buf).Encode(dt); err != nil {

View file

@ -188,7 +188,7 @@ func TestDumper(t *testing.T) {
}
func TestDumper_doubleclose(t *testing.T) {
var out bytes.Buffer
var out strings.Builder
dumper := Dumper(&out)
dumper.Write([]byte(`gopher`))
@ -204,7 +204,7 @@ func TestDumper_doubleclose(t *testing.T) {
}
func TestDumper_earlyclose(t *testing.T) {
var out bytes.Buffer
var out strings.Builder
dumper := Dumper(&out)
dumper.Close()

View file

@ -42,7 +42,7 @@ false
func TestEncoder(t *testing.T) {
for i := 0; i <= len(streamTest); i++ {
var buf bytes.Buffer
var buf strings.Builder
enc := NewEncoder(&buf)
// Check that enc.SetIndent("", "") turns off indentation.
enc.SetIndent(">", ".")
@ -115,7 +115,7 @@ false
`
func TestEncoderIndent(t *testing.T) {
var buf bytes.Buffer
var buf strings.Builder
enc := NewEncoder(&buf)
enc.SetIndent(">", ".")
for _, v := range streamTest {
@ -185,7 +185,7 @@ func TestEncoderSetEscapeHTML(t *testing.T) {
`{"bar":"\"<html>foobar</html>\""}`,
},
} {
var buf bytes.Buffer
var buf strings.Builder
enc := NewEncoder(&buf)
if err := enc.Encode(tt.v); err != nil {
t.Errorf("Encode(%s): %s", tt.name, err)

View file

@ -1894,13 +1894,13 @@ func TestMarshalWriteIOErrors(t *testing.T) {
}
func TestMarshalFlush(t *testing.T) {
var buf bytes.Buffer
var buf strings.Builder
enc := NewEncoder(&buf)
if err := enc.EncodeToken(CharData("hello world")); err != nil {
t.Fatalf("enc.EncodeToken: %v", err)
}
if buf.Len() > 0 {
t.Fatalf("enc.EncodeToken caused actual write: %q", buf.Bytes())
t.Fatalf("enc.EncodeToken caused actual write: %q", buf.String())
}
if err := enc.Flush(); err != nil {
t.Fatalf("enc.Flush: %v", err)
@ -2317,7 +2317,7 @@ var encodeTokenTests = []struct {
func TestEncodeToken(t *testing.T) {
loop:
for i, tt := range encodeTokenTests {
var buf bytes.Buffer
var buf strings.Builder
enc := NewEncoder(&buf)
var err error
for j, tok := range tt.toks {
@ -2437,7 +2437,7 @@ func TestIsValidDirective(t *testing.T) {
// Issue 11719. EncodeToken used to silently eat tokens with an invalid type.
func TestSimpleUseOfEncodeToken(t *testing.T) {
var buf bytes.Buffer
var buf strings.Builder
enc := NewEncoder(&buf)
if err := enc.EncodeToken(&StartElement{Name: Name{"", "object1"}}); err == nil {
t.Errorf("enc.EncodeToken: pointer type should be rejected")

View file

@ -894,7 +894,7 @@ func TestEscapeTextInvalidChar(t *testing.T) {
input := []byte("A \x00 terminated string.")
expected := "A \uFFFD terminated string."
buff := new(bytes.Buffer)
buff := new(strings.Builder)
if err := EscapeText(buff, input); err != nil {
t.Fatalf("have %v, want nil", err)
}