...
Run Format

Source file src/go/ast/ast_test.go

Documentation: go/ast

  // Copyright 2012 The Go Authors. All rights reserved.
  // Use of this source code is governed by a BSD-style
  // license that can be found in the LICENSE file.
  
  package ast
  
  import (
  	"testing"
  )
  
  var comments = []struct {
  	list []string
  	text string
  }{
  	{[]string{"//"}, ""},
  	{[]string{"//   "}, ""},
  	{[]string{"//", "//", "//   "}, ""},
  	{[]string{"// foo   "}, "foo\n"},
  	{[]string{"//", "//", "// foo"}, "foo\n"},
  	{[]string{"// foo  bar  "}, "foo  bar\n"},
  	{[]string{"// foo", "// bar"}, "foo\nbar\n"},
  	{[]string{"// foo", "//", "//", "//", "// bar"}, "foo\n\nbar\n"},
  	{[]string{"// foo", "/* bar */"}, "foo\n bar\n"},
  	{[]string{"//", "//", "//", "// foo", "//", "//", "//"}, "foo\n"},
  
  	{[]string{"/**/"}, ""},
  	{[]string{"/*   */"}, ""},
  	{[]string{"/**/", "/**/", "/*   */"}, ""},
  	{[]string{"/* Foo   */"}, " Foo\n"},
  	{[]string{"/* Foo  Bar  */"}, " Foo  Bar\n"},
  	{[]string{"/* Foo*/", "/* Bar*/"}, " Foo\n Bar\n"},
  	{[]string{"/* Foo*/", "/**/", "/**/", "/**/", "// Bar"}, " Foo\n\nBar\n"},
  	{[]string{"/* Foo*/", "/*\n*/", "//", "/*\n*/", "// Bar"}, " Foo\n\nBar\n"},
  	{[]string{"/* Foo*/", "// Bar"}, " Foo\nBar\n"},
  	{[]string{"/* Foo\n Bar*/"}, " Foo\n Bar\n"},
  }
  
  func TestCommentText(t *testing.T) {
  	for i, c := range comments {
  		list := make([]*Comment, len(c.list))
  		for i, s := range c.list {
  			list[i] = &Comment{Text: s}
  		}
  
  		text := (&CommentGroup{list}).Text()
  		if text != c.text {
  			t.Errorf("case %d: got %q; expected %q", i, text, c.text)
  		}
  	}
  }
  

View as plain text