| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293 |
- // 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)
- })
- }
- }
-
- func TestAddCommitMessageTailer(t *testing.T) {
- // add tailer for empty message
- assert.Equal(t, "\n\nTest-tailer: TestValue", AddCommitMessageTailer("", "Test-tailer", "TestValue"))
-
- // add tailer for message without newlines
- assert.Equal(t, "title\n\nTest-tailer: TestValue", AddCommitMessageTailer("title", "Test-tailer", "TestValue"))
- assert.Equal(t, "title\n\nNot tailer: xxx\n\nTest-tailer: TestValue", AddCommitMessageTailer("title\n\nNot tailer: xxx", "Test-tailer", "TestValue"))
- assert.Equal(t, "title\n\nNotTailer: xxx\n\nTest-tailer: TestValue", AddCommitMessageTailer("title\n\nNotTailer: xxx", "Test-tailer", "TestValue"))
- assert.Equal(t, "title\n\nnot-tailer: xxx\n\nTest-tailer: TestValue", AddCommitMessageTailer("title\n\nnot-tailer: xxx", "Test-tailer", "TestValue"))
-
- // add tailer for message with one EOL
- assert.Equal(t, "title\n\nTest-tailer: TestValue", AddCommitMessageTailer("title\n", "Test-tailer", "TestValue"))
-
- // add tailer for message with two EOLs
- assert.Equal(t, "title\n\nTest-tailer: TestValue", AddCommitMessageTailer("title\n\n", "Test-tailer", "TestValue"))
-
- // add tailer for message with existing tailer (won't duplicate)
- assert.Equal(t, "title\n\nTest-tailer: TestValue", AddCommitMessageTailer("title\n\nTest-tailer: TestValue", "Test-tailer", "TestValue"))
- assert.Equal(t, "title\n\nTest-tailer: TestValue\n", AddCommitMessageTailer("title\n\nTest-tailer: TestValue\n", "Test-tailer", "TestValue"))
-
- // add tailer for message with existing tailer and different value (will append)
- assert.Equal(t, "title\n\nTest-tailer: v1\nTest-tailer: v2", AddCommitMessageTailer("title\n\nTest-tailer: v1", "Test-tailer", "v2"))
- assert.Equal(t, "title\n\nTest-tailer: v1\nTest-tailer: v2", AddCommitMessageTailer("title\n\nTest-tailer: v1\n", "Test-tailer", "v2"))
- }
|