1
0
mirror of https://github.com/golang/go synced 2024-11-11 23:50:22 -07:00

template: fixed html formatter bug where it would turn a []byte

into a string of decimal numbers.

R=r, rsc
CC=golang-dev
https://golang.org/cl/624041
This commit is contained in:
Andrew Gerrand 2010-03-19 09:46:39 +11:00
parent 4467037353
commit c10ccd567d
2 changed files with 18 additions and 3 deletions

View File

@ -61,7 +61,11 @@ func HTMLEscape(w io.Writer, s []byte) {
// HTMLFormatter formats arbitrary values for HTML
func HTMLFormatter(w io.Writer, value interface{}, format string) {
var b bytes.Buffer
fmt.Fprint(&b, value)
HTMLEscape(w, b.Bytes())
b, ok := value.([]byte)
if !ok {
var buf bytes.Buffer
fmt.Fprint(&buf, value)
b = buf.Bytes()
}
HTMLEscape(w, b)
}

View File

@ -565,3 +565,14 @@ func TestVarIndirection(t *testing.T) {
t.Errorf("for %q: expected %q got %q", input, expect, buf.String())
}
}
func TestHTMLFormatterWithByte(t *testing.T) {
s := "Test string."
b := []byte(s)
var buf bytes.Buffer
HTMLFormatter(&buf, b, "")
bs := buf.String()
if bs != s {
t.Errorf("munged []byte, expected: %s got: %s", s, bs)
}
}