mirror of https://github.com/go-gitea/gitea
Support template for merge message description (#22248)
Fix #21435. Use the first line of the template as the git commit message title, and the rest as the description. ## Snapshots <img width="806" alt="image" src="https://user-images.githubusercontent.com/9418365/209644083-5d85179c-cf58-404f-bc98-c662398a2411.png"> <img width="860" alt="image" src="https://user-images.githubusercontent.com/9418365/209644392-22573090-e2c1-458b-ba44-855b79735632.png"> <img width="1154" alt="image" src="https://user-images.githubusercontent.com/9418365/209644457-a1b2711a-6787-45b4-b52c-a88d7fc132d7.png"> Co-authored-by: delvh <dev.lh@web.de>pull/22146/head^2
parent
a35749893b
commit
47efba78ec
@ -0,0 +1,67 @@ |
|||||||
|
// Copyright 2022 The Gitea Authors. All rights reserved.
|
||||||
|
// SPDX-License-Identifier: MIT
|
||||||
|
|
||||||
|
package pull |
||||||
|
|
||||||
|
import ( |
||||||
|
"testing" |
||||||
|
|
||||||
|
"github.com/stretchr/testify/assert" |
||||||
|
) |
||||||
|
|
||||||
|
func Test_expandDefaultMergeMessage(t *testing.T) { |
||||||
|
type args struct { |
||||||
|
template string |
||||||
|
vars map[string]string |
||||||
|
} |
||||||
|
tests := []struct { |
||||||
|
name string |
||||||
|
args args |
||||||
|
want string |
||||||
|
wantBody string |
||||||
|
}{ |
||||||
|
{ |
||||||
|
name: "single line", |
||||||
|
args: args{ |
||||||
|
template: "Merge ${PullRequestTitle}", |
||||||
|
vars: map[string]string{ |
||||||
|
"PullRequestTitle": "PullRequestTitle", |
||||||
|
"PullRequestDescription": "Pull\nRequest\nDescription\n", |
||||||
|
}, |
||||||
|
}, |
||||||
|
want: "Merge PullRequestTitle", |
||||||
|
wantBody: "", |
||||||
|
}, |
||||||
|
{ |
||||||
|
name: "multiple lines", |
||||||
|
args: args{ |
||||||
|
template: "Merge ${PullRequestTitle}\nDescription:\n\n${PullRequestDescription}\n", |
||||||
|
vars: map[string]string{ |
||||||
|
"PullRequestTitle": "PullRequestTitle", |
||||||
|
"PullRequestDescription": "Pull\nRequest\nDescription\n", |
||||||
|
}, |
||||||
|
}, |
||||||
|
want: "Merge PullRequestTitle", |
||||||
|
wantBody: "Description:\n\nPull\nRequest\nDescription\n", |
||||||
|
}, |
||||||
|
{ |
||||||
|
name: "leading newlines", |
||||||
|
args: args{ |
||||||
|
template: "\n\n\nMerge ${PullRequestTitle}\n\n\nDescription:\n\n${PullRequestDescription}\n", |
||||||
|
vars: map[string]string{ |
||||||
|
"PullRequestTitle": "PullRequestTitle", |
||||||
|
"PullRequestDescription": "Pull\nRequest\nDescription\n", |
||||||
|
}, |
||||||
|
}, |
||||||
|
want: "Merge PullRequestTitle", |
||||||
|
wantBody: "Description:\n\nPull\nRequest\nDescription\n", |
||||||
|
}, |
||||||
|
} |
||||||
|
for _, tt := range tests { |
||||||
|
t.Run(tt.name, func(t *testing.T) { |
||||||
|
got, got1 := expandDefaultMergeMessage(tt.args.template, tt.args.vars) |
||||||
|
assert.Equalf(t, tt.want, got, "expandDefaultMergeMessage(%v, %v)", tt.args.template, tt.args.vars) |
||||||
|
assert.Equalf(t, tt.wantBody, got1, "expandDefaultMergeMessage(%v, %v)", tt.args.template, tt.args.vars) |
||||||
|
}) |
||||||
|
} |
||||||
|
} |
Loading…
Reference in new issue