1 // Copyright 2012 The Go Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style
3 // license that can be found in the LICENSE file.
11 var comments
= []struct {
16 {[]string{"// "}, ""},
17 {[]string{"//", "//", "// "}, ""},
18 {[]string{"// foo "}, "foo\n"},
19 {[]string{"//", "//", "// foo"}, "foo\n"},
20 {[]string{"// foo bar "}, "foo bar\n"},
21 {[]string{"// foo", "// bar"}, "foo\nbar\n"},
22 {[]string{"// foo", "//", "//", "//", "// bar"}, "foo\n\nbar\n"},
23 {[]string{"// foo", "/* bar */"}, "foo\n bar\n"},
24 {[]string{"//", "//", "//", "// foo", "//", "//", "//"}, "foo\n"},
26 {[]string{"/**/"}, ""},
27 {[]string{"/* */"}, ""},
28 {[]string{"/**/", "/**/", "/* */"}, ""},
29 {[]string{"/* Foo */"}, " Foo\n"},
30 {[]string{"/* Foo Bar */"}, " Foo Bar\n"},
31 {[]string{"/* Foo*/", "/* Bar*/"}, " Foo\n Bar\n"},
32 {[]string{"/* Foo*/", "/**/", "/**/", "/**/", "// Bar"}, " Foo\n\nBar\n"},
33 {[]string{"/* Foo*/", "/*\n*/", "//", "/*\n*/", "// Bar"}, " Foo\n\nBar\n"},
34 {[]string{"/* Foo*/", "// Bar"}, " Foo\nBar\n"},
35 {[]string{"/* Foo\n Bar*/"}, " Foo\n Bar\n"},
38 func TestCommentText(t
*testing
.T
) {
39 for i
, c
:= range comments
{
40 list
:= make([]*Comment
, len(c
.list
))
41 for i
, s
:= range c
.list
{
42 list
[i
] = &Comment
{Text
: s
}
45 text
:= (&CommentGroup
{list
}).Text()
47 t
.Errorf("case %d: got %q; expected %q", i
, text
, c
.text
)