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:
parent
4467037353
commit
c10ccd567d
@ -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)
|
||||
}
|
||||
|
@ -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)
|
||||
}
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user