| // Test for name linting. |
| |
| // Package pkg_with_underscores ... |
| package pkg_with_underscores // MATCH /underscore.*package name/ |
| |
| var var_name int // MATCH /underscore.*var.*var_name/ |
| |
| type t_wow struct { // MATCH /underscore.*type.*t_wow/ |
| x_damn int // MATCH /underscore.*field.*x_damn/ |
| Url *url.URL // MATCH /struct field.*Url.*URL/ |
| } |
| |
| const fooId = "blah" // MATCH /fooId.*fooID/ |
| |
| func f_it() { // MATCH /underscore.*func.*f_it/ |
| more_underscore := 4 // MATCH /underscore.*var.*more_underscore/ |
| if isEof := (err == io.EOF); isEof { // MATCH /var.*isEof.*isEOF/ |
| more_underscore = 7 // should be okay |
| } |
| |
| x := foo_proto.Blah{} // should be okay |
| |
| for _, theIp := range ips { // MATCH /range var.*theIp.*theIP/ |
| } |
| |
| switch myJson := g(); { // MATCH /var.*myJson.*myJSON/ |
| } |
| switch tApi := x.(type) { // MATCH /var.*tApi.*tAPI/ |
| } |
| |
| select { |
| case qId := <-c: // MATCH /var.*qId.*qID/ |
| } |
| } |
| |
| // Common styles in other languages that don't belong in Go. |
| const ( |
| CPP_CONST = 1 // MATCH /ALL_CAPS.*CamelCase/ |
| kLeadingKay = 2 // MATCH /k.*leadingKay/ |
| |
| HTML = 3 // okay; no underscore |
| X509B = 4 // ditto |
| ) |
| |
| func f(bad_name int) {} // MATCH /underscore.*func parameter.*bad_name/ |
| func g() (no_way int) {} // MATCH /underscore.*func result.*no_way/ |
| func (t *t_wow) f(more_under string) {} // MATCH /underscore.*method parameter.*more_under/ |
| func (t *t_wow) g() (still_more string) {} // MATCH /underscore.*method result.*still_more/ |
| |
| type i interface { |
| CheckHtmlPath() string // MATCH /interface method.*CheckHtmlPath.*CheckHTMLPath/ |
| } |