diff options
Diffstat (limited to 'test/ken/intervar.go')
-rw-r--r-- | test/ken/intervar.go | 25 |
1 files changed, 14 insertions, 11 deletions
diff --git a/test/ken/intervar.go b/test/ken/intervar.go index c2aaaa870..73d1b0660 100644 --- a/test/ken/intervar.go +++ b/test/ken/intervar.go @@ -7,7 +7,7 @@ package main type Iputs interface { - puts (s string); + puts (s string) string; } // --------- @@ -17,9 +17,9 @@ type Print struct { put Iputs; } -func (p *Print) dop() { - print(" print ", p.whoami); - p.put.puts("abc"); +func (p *Print) dop() string { + r := " print " + string(p.whoami + '0') + return r + p.put.puts("abc"); } // --------- @@ -29,9 +29,9 @@ type Bio struct { put Iputs; } -func (b *Bio) puts(s string) { - print(" bio ", b.whoami); - b.put.puts(s); +func (b *Bio) puts(s string) string { + r := " bio " + string(b.whoami + '0') + return r + b.put.puts(s); } // --------- @@ -41,8 +41,8 @@ type File struct { put Iputs; } -func (f *File) puts(s string) { - print(" file ", f.whoami, " -- ", s); +func (f *File) puts(s string) string { + return " file " + string(f.whoami + '0') + " -- " + s } func @@ -59,6 +59,9 @@ main() { f.whoami = 3; - p.dop(); - print("\n"); + r := p.dop(); + expected := " print 1 bio 2 file 3 -- abc" + if r != expected { + panic(r + " != " + expected) + } } |