diff options
| author | Jesse Hathaway <[email protected]> | 2020-06-02 12:30:42 -0500 |
|---|---|---|
| committer | GitHub <[email protected]> | 2020-06-02 10:30:42 -0700 |
| commit | 5241c72e6ebd21085e56a1c6d284c06154a202b5 (patch) | |
| tree | 4e2a517025d99f0031d34d1fd10b598d8c53b0af /message_test.go | |
| parent | 31f877e249e28c29cc4fcd512381a5a5b26e59d9 (diff) | |
Add support for parsing git trailers (#614)
Adds a wrapper for git_message_trailers which returns a slice of trailer
structs.
Diffstat (limited to 'message_test.go')
| -rw-r--r-- | message_test.go | 42 |
1 files changed, 42 insertions, 0 deletions
diff --git a/message_test.go b/message_test.go new file mode 100644 index 0000000..f33ccb7 --- /dev/null +++ b/message_test.go @@ -0,0 +1,42 @@ +package git + +import ( + "fmt" + "reflect" + "testing" +) + +func TestTrailers(t *testing.T) { + t.Parallel() + tests := []struct { + input string + expected []Trailer + }{ + { + "commit with zero trailers\n", + []Trailer{}, + }, + { + "commit with one trailer\n\nCo-authored-by: Alice <[email protected]>\n", + []Trailer{ + Trailer{Key: "Co-authored-by", Value: "Alice <[email protected]>"}, + }, + }, + { + "commit with two trailers\n\nCo-authored-by: Alice <[email protected]>\nSigned-off-by: Bob <[email protected]>\n", + []Trailer{ + Trailer{Key: "Co-authored-by", Value: "Alice <[email protected]>"}, + Trailer{Key: "Signed-off-by", Value: "Bob <[email protected]>"}}, + }, + } + for _, test := range tests { + fmt.Printf("%s", test.input) + actual, err := MessageTrailers(test.input) + if err != nil { + t.Errorf("Trailers returned an unexpected error: %v", err) + } + if !reflect.DeepEqual(test.expected, actual) { + t.Errorf("expecting %#v\ngot %#v", test.expected, actual) + } + } +} |
