| package pretty |
| |
| import ( |
| "fmt" |
| "testing" |
| ) |
| |
| type test struct { |
| v interface{} |
| s string |
| } |
| |
| type LongStructTypeName struct { |
| longFieldName interface{} |
| otherLongFieldName interface{} |
| } |
| |
| type T struct { |
| x, y int |
| } |
| |
| var long = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789" |
| |
| var gosyntax = []test{ |
| {1, "1"}, |
| {long, `"`+long[:50]+"\" +\n\""+long[50:]+`"`}, |
| { |
| LongStructTypeName{ |
| longFieldName: LongStructTypeName{ |
| }, |
| otherLongFieldName: long, |
| }, |
| `pretty.LongStructTypeName{ |
| longFieldName: pretty.LongStructTypeName{}, |
| otherLongFieldName: "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOP" + |
| "QRSTUVWXYZ0123456789", |
| }`, |
| }, |
| { |
| []LongStructTypeName{ |
| {nil, nil}, |
| {3, 3}, |
| {long, nil}, |
| }, |
| `[]pretty.LongStructTypeName{ |
| {}, |
| {longFieldName:3, otherLongFieldName:3}, |
| { |
| longFieldName: "abcdefghijklmnopqrstuvwxyzABCDEFGH" + |
| "IJKLMNOPQRSTUVWXYZ0123456789", |
| otherLongFieldName: <nil>, |
| }, |
| }`, |
| }, |
| { |
| []interface{}{ |
| LongStructTypeName{nil, nil}, |
| []byte{1, 2, 3}, |
| T{3, 4}, |
| LongStructTypeName{long, nil}, |
| }, |
| `[]interface { }{ |
| pretty.LongStructTypeName{}, |
| []byte{0x1, 0x2, 0x3}, |
| pretty.T{x:3, y:4}, |
| pretty.LongStructTypeName{ |
| longFieldName: "abcdefghijklmnopqrstuvwxyzABCDEFGH" + |
| "IJKLMNOPQRSTUVWXYZ0123456789", |
| otherLongFieldName: <nil>, |
| }, |
| }`, |
| }, |
| } |
| |
| |
| func TestGoSyntax(t *testing.T) { |
| for _, tt := range gosyntax { |
| s := fmt.Sprintf("%# v", Formatter(tt.v)) |
| if tt.s != s { |
| t.Errorf("expected %q\n", tt.s) |
| t.Errorf("got %q\n", s) |
| t.Errorf("expraw %s\n", tt.s) |
| t.Errorf("gotraw %s\n", s) |
| } |
| } |
| } |