github.com/powerman/golang-tools@v0.1.11-0.20220410185822-5ad214d8d803/go/analysis/passes/tests/testdata/src/a/a_test.go (about)

     1  package a
     2  
     3  import (
     4  	"testing"
     5  )
     6  
     7  // Buf is a ...
     8  type Buf []byte
     9  
    10  // Append ...
    11  func (*Buf) Append([]byte) {}
    12  
    13  func (Buf) Reset() {}
    14  
    15  func (Buf) Len() int { return 0 }
    16  
    17  // DefaultBuf is a ...
    18  var DefaultBuf Buf
    19  
    20  func Example() {} // OK because is package-level.
    21  
    22  func Example_goodSuffix() {} // OK because refers to suffix annotation.
    23  
    24  func Example_BadSuffix() {} // want "Example_BadSuffix has malformed example suffix: BadSuffix"
    25  
    26  func ExampleBuf() {} // OK because refers to known top-level type.
    27  
    28  func ExampleBuf_Append() {} // OK because refers to known method.
    29  
    30  func ExampleBuf_Clear() {} // want "ExampleBuf_Clear refers to unknown field or method: Buf.Clear"
    31  
    32  func ExampleBuf_suffix() {} // OK because refers to suffix annotation.
    33  
    34  func ExampleBuf_Append_Bad() {} // want "ExampleBuf_Append_Bad has malformed example suffix: Bad"
    35  
    36  func ExampleBuf_Append_suffix() {} // OK because refers to known method with valid suffix.
    37  
    38  func ExampleDefaultBuf() {} // OK because refers to top-level identifier.
    39  
    40  func ExampleBuf_Reset() bool { return true } // want "ExampleBuf_Reset should return nothing"
    41  
    42  func ExampleBuf_Len(i int) {} // want "ExampleBuf_Len should be niladic"
    43  
    44  // "Puffer" is German for "Buffer".
    45  
    46  func ExamplePuffer() {} // want "ExamplePuffer refers to unknown identifier: Puffer"
    47  
    48  func ExamplePuffer_Append() {} // want "ExamplePuffer_Append refers to unknown identifier: Puffer"
    49  
    50  func ExamplePuffer_suffix() {} // want "ExamplePuffer_suffix refers to unknown identifier: Puffer"
    51  
    52  func ExampleFoo() {} // OK because a.Foo exists
    53  
    54  func ExampleBar() {} // want "ExampleBar refers to unknown identifier: Bar"
    55  
    56  func Example_withOutput() {
    57  	// Output:
    58  	// meow
    59  } // OK because output is the last comment block
    60  
    61  func Example_withBadOutput() {
    62  	// Output: // want "output comment block must be the last comment block"
    63  	// meow
    64  
    65  	// todo: change to bark
    66  }
    67  
    68  func Example_withBadUnorderedOutput() {
    69  	// Unordered Output: // want "output comment block must be the last comment block"
    70  	// meow
    71  
    72  	// todo: change to bark
    73  }
    74  
    75  func Example_withCommentAfterFunc() {
    76  	// Output: // OK because it is the last comment block
    77  	// meow
    78  } // todo: change to bark
    79  
    80  func Example_withOutputCommentAfterFunc() {
    81  	// Output:
    82  	// meow
    83  } // Output: bark // OK because output is not inside of an example
    84  
    85  func Example_withMultipleOutputs() {
    86  	// Output: // want "there can only be one output comment block per example"
    87  	// meow
    88  
    89  	// Output: // want "there can only be one output comment block per example"
    90  	// bark
    91  
    92  	// Output: // OK because it is the last output comment block
    93  	// ribbit
    94  }
    95  
    96  func nonTest() {} // OK because it doesn't start with "Test".
    97  
    98  func (Buf) TesthasReceiver() {} // OK because it has a receiver.
    99  
   100  func TestOKSuffix(*testing.T) {} // OK because first char after "Test" is Uppercase.
   101  
   102  func TestÜnicodeWorks(*testing.T) {} // OK because the first char after "Test" is Uppercase.
   103  
   104  func TestbadSuffix(*testing.T) {} // want "first letter after 'Test' must not be lowercase"
   105  
   106  func TestemptyImportBadSuffix(*testing.T) {} // want "first letter after 'Test' must not be lowercase"
   107  
   108  func Test(*testing.T) {} // OK "Test" on its own is considered a test.
   109  
   110  func Testify() {} // OK because it takes no parameters.
   111  
   112  func TesttooManyParams(*testing.T, string) {} // OK because it takes too many parameters.
   113  
   114  func TesttooManyNames(a, b *testing.T) {} // OK because it takes too many names.
   115  
   116  func TestnoTParam(string) {} // OK because it doesn't take a *testing.T
   117  
   118  func BenchmarkbadSuffix(*testing.B) {} // want "first letter after 'Benchmark' must not be lowercase"