Commit 177746ba authored by Rob Pike's avatar Rob Pike

fmt.Printf: write tests for %T.

Fix a bug that caused it to ignore field widths.

R=rsc
CC=golang-dev
https://golang.org/cl/1704041
parent d482c163
...@@ -314,6 +314,12 @@ var fmttests = []fmtTest{ ...@@ -314,6 +314,12 @@ var fmttests = []fmtTest{
fmtTest{"%v", renamedComplex64(3 + 4i), "(3+4i)"}, fmtTest{"%v", renamedComplex64(3 + 4i), "(3+4i)"},
fmtTest{"%v", renamedComplex128(4 - 3i), "(4-3i)"}, fmtTest{"%v", renamedComplex128(4 - 3i), "(4-3i)"},
// %T
fmtTest{"%T", (4 - 3i), "complex"},
fmtTest{"%T", renamedComplex128(4 - 3i), "fmt_test.renamedComplex128"},
fmtTest{"%T", intVal, "int"},
fmtTest{"%6T", &intVal, " *int"},
// erroneous things // erroneous things
fmtTest{"%d", "hello", "%d(string=hello)"}, fmtTest{"%d", "hello", "%d(string=hello)"},
fmtTest{"no args", "hello", "no args?(extra string=hello)"}, fmtTest{"no args", "hello", "no args?(extra string=hello)"},
......
...@@ -959,7 +959,7 @@ func (p *pp) doPrintf(format string, a []interface{}) { ...@@ -959,7 +959,7 @@ func (p *pp) doPrintf(format string, a []interface{}) {
p.buf.Write(nilAngleBytes) p.buf.Write(nilAngleBytes)
break break
} }
p.buf.WriteString(reflect.Typeof(field).String()) p.printField(reflect.Typeof(field).String(), 's', false, false, 0)
continue continue
} }
......
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