From ab87db8b46fcd987f0d42ecdd03c149288bc9383 Mon Sep 17 00:00:00 2001 From: cuiweixie Date: Sun, 4 Sep 2022 17:44:30 +0800 Subject: [PATCH] encoding: use strings.Builder Change-Id: Ib07699df8ea41fd8d1bca8ad050859fac24623de Reviewed-on: https://go-review.googlesource.com/c/go/+/428258 Reviewed-by: Robert Griesemer Reviewed-by: Ian Lance Taylor TryBot-Result: Gopher Robot Run-TryBot: Ian Lance Taylor Auto-Submit: Ian Lance Taylor --- src/encoding/ascii85/ascii85_test.go | 4 ++-- src/encoding/base32/base32_test.go | 6 +++--- src/encoding/base64/base64_test.go | 4 ++-- src/encoding/csv/writer_test.go | 3 ++- src/encoding/gob/codec_test.go | 2 +- src/encoding/hex/hex_test.go | 4 ++-- src/encoding/json/stream_test.go | 6 +++--- src/encoding/xml/marshal_test.go | 8 ++++---- src/encoding/xml/xml_test.go | 2 +- 9 files changed, 20 insertions(+), 19 deletions(-) diff --git a/src/encoding/ascii85/ascii85_test.go b/src/encoding/ascii85/ascii85_test.go index 9e6b34e997..578829eecc 100644 --- a/src/encoding/ascii85/ascii85_test.go +++ b/src/encoding/ascii85/ascii85_test.go @@ -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 diff --git a/src/encoding/base32/base32_test.go b/src/encoding/base32/base32_test.go index 323d04e68b..5996b08cd8 100644 --- a/src/encoding/base32/base32_test.go +++ b/src/encoding/base32/base32_test.go @@ -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() diff --git a/src/encoding/base64/base64_test.go b/src/encoding/base64/base64_test.go index 852446dd8b..0ad88ebb3a 100644 --- a/src/encoding/base64/base64_test.go +++ b/src/encoding/base64/base64_test.go @@ -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 diff --git a/src/encoding/csv/writer_test.go b/src/encoding/csv/writer_test.go index ab28b0d7c3..de023479a0 100644 --- a/src/encoding/csv/writer_test.go +++ b/src/encoding/csv/writer_test.go @@ -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 { diff --git a/src/encoding/gob/codec_test.go b/src/encoding/gob/codec_test.go index 1ca9d878ee..649d75b7bb 100644 --- a/src/encoding/gob/codec_test.go +++ b/src/encoding/gob/codec_test.go @@ -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 { diff --git a/src/encoding/hex/hex_test.go b/src/encoding/hex/hex_test.go index 7593e20db5..a820fe7a15 100644 --- a/src/encoding/hex/hex_test.go +++ b/src/encoding/hex/hex_test.go @@ -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() diff --git a/src/encoding/json/stream_test.go b/src/encoding/json/stream_test.go index 712293de0f..97f9fbd6d8 100644 --- a/src/encoding/json/stream_test.go +++ b/src/encoding/json/stream_test.go @@ -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":"\"foobar\""}`, }, } { - 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) diff --git a/src/encoding/xml/marshal_test.go b/src/encoding/xml/marshal_test.go index 774793a6c5..f6bcc7fd30 100644 --- a/src/encoding/xml/marshal_test.go +++ b/src/encoding/xml/marshal_test.go @@ -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") diff --git a/src/encoding/xml/xml_test.go b/src/encoding/xml/xml_test.go index 8f0d97b6a6..7266b8fc99 100644 --- a/src/encoding/xml/xml_test.go +++ b/src/encoding/xml/xml_test.go @@ -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) } -- 2.50.0