forked from go-gitea/gitea
-
Notifications
You must be signed in to change notification settings - Fork 1
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Append to existing trailers in generated squash commit message (go-gi…
…tea#15980) * Remove superfluous newline before Co-authored-by trailers * Append to existing PR description trailer section If the existing PR description message already contains a trailer section (e.g. Signed-off-by: ), append to it instead of creating a new trailer section. * Reuse compiled regexp * Simplify regex and deal with trailing \n in PR description * Add tests for CommitMessageTrailersPattern - add support for Key:Value (no space after colon) - add support for whitespace "folding" * Update services/pull/pull_test.go Co-authored-by: Norwin <[email protected]> Co-authored-by: zeripath <[email protected]> Co-authored-by: Norwin <[email protected]> Co-authored-by: Lunny Xiao <[email protected]> Co-authored-by: techknowlogick <[email protected]>
- Loading branch information
1 parent
a424815
commit c7454ea
Showing
2 changed files
with
31 additions
and
9 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -5,4 +5,27 @@ | |
|
||
package pull | ||
|
||
import ( | ||
"testing" | ||
|
||
"github.com/stretchr/testify/assert" | ||
) | ||
|
||
// TODO TestPullRequest_PushToBaseRepo | ||
|
||
func TestPullRequest_CommitMessageTrailersPattern(t *testing.T) { | ||
// Not a valid trailer section | ||
assert.False(t, commitMessageTrailersPattern.MatchString("")) | ||
assert.False(t, commitMessageTrailersPattern.MatchString("No trailer.")) | ||
assert.False(t, commitMessageTrailersPattern.MatchString("Signed-off-by: Bob <[email protected]>\nNot a trailer due to following text.")) | ||
assert.False(t, commitMessageTrailersPattern.MatchString("Message body not correctly separated from trailer section by empty line.\nSigned-off-by: Bob <[email protected]>")) | ||
// Valid trailer section | ||
assert.True(t, commitMessageTrailersPattern.MatchString("Signed-off-by: Bob <[email protected]>")) | ||
assert.True(t, commitMessageTrailersPattern.MatchString("Signed-off-by: Bob <[email protected]>\nOther-Trailer: Value")) | ||
assert.True(t, commitMessageTrailersPattern.MatchString("Message body correctly separated from trailer section by empty line.\n\nSigned-off-by: Bob <[email protected]>")) | ||
assert.True(t, commitMessageTrailersPattern.MatchString("Multiple trailers.\n\nSigned-off-by: Bob <[email protected]>\nOther-Trailer: Value")) | ||
assert.True(t, commitMessageTrailersPattern.MatchString("Newline after trailer section.\n\nSigned-off-by: Bob <[email protected]>\n")) | ||
assert.True(t, commitMessageTrailersPattern.MatchString("No space after colon is accepted.\n\nSigned-off-by:Bob <[email protected]>")) | ||
assert.True(t, commitMessageTrailersPattern.MatchString("Additional whitespace is accepted.\n\nSigned-off-by \t : \tBob <[email protected]> ")) | ||
assert.True(t, commitMessageTrailersPattern.MatchString("Folded value.\n\nFolded-trailer: This is\n a folded\n trailer value\nOther-Trailer: Value")) | ||
} |