| package errors |
| |
| import ( |
| "encoding/json" |
| "regexp" |
| "testing" |
| ) |
| |
| func TestFrameMarshalText(t *testing.T) { |
| var tests = []struct { |
| Frame |
| want string |
| }{{ |
| initpc, |
| `^github.com/pkg/errors\.init(\.ializers)? .+/github\.com/pkg/errors/stack_test.go:\d+$`, |
| }, { |
| 0, |
| `^unknown$`, |
| }} |
| for i, tt := range tests { |
| got, err := tt.Frame.MarshalText() |
| if err != nil { |
| t.Fatal(err) |
| } |
| if !regexp.MustCompile(tt.want).Match(got) { |
| t.Errorf("test %d: MarshalJSON:\n got %q\n want %q", i+1, string(got), tt.want) |
| } |
| } |
| } |
| |
| func TestFrameMarshalJSON(t *testing.T) { |
| var tests = []struct { |
| Frame |
| want string |
| }{{ |
| initpc, |
| `^"github\.com/pkg/errors\.init(\.ializers)? .+/github\.com/pkg/errors/stack_test.go:\d+"$`, |
| }, { |
| 0, |
| `^"unknown"$`, |
| }} |
| for i, tt := range tests { |
| got, err := json.Marshal(tt.Frame) |
| if err != nil { |
| t.Fatal(err) |
| } |
| if !regexp.MustCompile(tt.want).Match(got) { |
| t.Errorf("test %d: MarshalJSON:\n got %q\n want %q", i+1, string(got), tt.want) |
| } |
| } |
| } |