Commit 43a39bfd authored by Dominik Honnef's avatar Dominik Honnef Committed by Andrew Gerrand

encoding/xml: flush buffer after encoding token

R=rsc, bradfitz, adg
CC=golang-dev
https://golang.org/cl/13004046
parent 7fb121aa
......@@ -196,7 +196,6 @@ func (enc *Encoder) EncodeToken(t Token) error {
p.WriteString("<!--")
p.Write(t)
p.WriteString("-->")
return p.cachedWriteError()
case ProcInst:
if t.Target == "xml" || !isNameString(t.Target) {
return fmt.Errorf("xml: EncodeToken of ProcInst with invalid Target")
......@@ -219,7 +218,7 @@ func (enc *Encoder) EncodeToken(t Token) error {
p.Write(t)
p.WriteString(">")
}
return p.cachedWriteError()
return p.Flush()
}
type printer struct {
......
......@@ -1076,6 +1076,15 @@ func TestMarshalWriteIOErrors(t *testing.T) {
}
}
func TestEncodeTokenFlush(t *testing.T) {
var buf bytes.Buffer
enc := NewEncoder(&buf)
enc.EncodeToken(StartElement{Name: Name{Local: "some-tag"}})
if g, w := buf.String(), "<some-tag>"; g != w {
t.Errorf("Encoder wrote %q, want %q", g, w)
}
}
func BenchmarkMarshal(b *testing.B) {
for i := 0; i < b.N; i++ {
Marshal(atomValue)
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment