From 0444d697c14907b42b4369459f25785c1c946e97 Mon Sep 17 00:00:00 2001 From: Rob Pike Date: Thu, 20 Nov 2008 18:10:46 -0800 Subject: [PATCH] automatically add tabs after newlines R=gri DELTA=12 (10 added, 0 deleted, 2 changed) OCL=19758 CL=19758 --- src/lib/testing.go | 14 ++++++++++++-- 1 file changed, 12 insertions(+), 2 deletions(-) diff --git a/src/lib/testing.go b/src/lib/testing.go index 3a95d61d7bf..0bcdcffcd36 100644 --- a/src/lib/testing.go +++ b/src/lib/testing.go @@ -14,6 +14,16 @@ func init() { flag.Bool("chatty", false, &chatty, "chatty"); } +// Insert tabs after newlines - but not the last one +func Tabify(s string) string { + for i := 0; i < len(s) - 1; i++ { // -1 because if last char is newline, don't bother + if s[i] == '\n' { + return s[0:i+1] + "\t" + Tabify(s[i+1:len(s)]); + } + } + return s +} + export type T struct { errors string; failed bool; @@ -31,11 +41,11 @@ func (t *T) FailNow() { } func (t *T) Log(args ...) { - t.errors += "\t" + fmt.sprintln(args); + t.errors += "\t" + Tabify(fmt.sprintln(args)); } func (t *T) Logf(format string, args ...) { - t.errors += fmt.sprintf("\t" + format, args); + t.errors += Tabify(fmt.sprintf("\t" + format, args)); l := len(t.errors); if l > 0 && t.errors[l-1] != '\n' { t.errors += "\n"