mirror of
				https://github.com/go-gitea/gitea.git
				synced 2025-10-26 12:27:06 +00:00 
			
		
		
		
	Fix missing commit message body when the message has leading newlines (#25418)
Commit with `echo "\nmessage after a blank line\nsecond line of the message" | git commit --cleanup=verbatim -F -` and push. <img width="1139" alt="image" src="https://github.com/go-gitea/gitea/assets/9418365/f9a2c28c-e307-4c78-9e31-3d3ace7b9274">
This commit is contained in:
		
							
								
								
									
										56
									
								
								modules/templates/util_render_test.go
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										56
									
								
								modules/templates/util_render_test.go
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,56 @@
 | 
			
		||||
// Copyright 2023 The Gitea Authors. All rights reserved.
 | 
			
		||||
// SPDX-License-Identifier: MIT
 | 
			
		||||
 | 
			
		||||
package templates
 | 
			
		||||
 | 
			
		||||
import (
 | 
			
		||||
	"context"
 | 
			
		||||
	"html/template"
 | 
			
		||||
	"testing"
 | 
			
		||||
 | 
			
		||||
	"github.com/stretchr/testify/assert"
 | 
			
		||||
)
 | 
			
		||||
 | 
			
		||||
func TestRenderCommitBody(t *testing.T) {
 | 
			
		||||
	type args struct {
 | 
			
		||||
		ctx       context.Context
 | 
			
		||||
		msg       string
 | 
			
		||||
		urlPrefix string
 | 
			
		||||
		metas     map[string]string
 | 
			
		||||
	}
 | 
			
		||||
	tests := []struct {
 | 
			
		||||
		name string
 | 
			
		||||
		args args
 | 
			
		||||
		want template.HTML
 | 
			
		||||
	}{
 | 
			
		||||
		{
 | 
			
		||||
			name: "multiple lines",
 | 
			
		||||
			args: args{
 | 
			
		||||
				ctx: context.Background(),
 | 
			
		||||
				msg: "first line\nsecond line",
 | 
			
		||||
			},
 | 
			
		||||
			want: "second line",
 | 
			
		||||
		},
 | 
			
		||||
		{
 | 
			
		||||
			name: "multiple lines with leading newlines",
 | 
			
		||||
			args: args{
 | 
			
		||||
				ctx: context.Background(),
 | 
			
		||||
				msg: "\n\n\n\nfirst line\nsecond line",
 | 
			
		||||
			},
 | 
			
		||||
			want: "second line",
 | 
			
		||||
		},
 | 
			
		||||
		{
 | 
			
		||||
			name: "multiple lines with trailing newlines",
 | 
			
		||||
			args: args{
 | 
			
		||||
				ctx: context.Background(),
 | 
			
		||||
				msg: "first line\nsecond line\n\n\n",
 | 
			
		||||
			},
 | 
			
		||||
			want: "second line",
 | 
			
		||||
		},
 | 
			
		||||
	}
 | 
			
		||||
	for _, tt := range tests {
 | 
			
		||||
		t.Run(tt.name, func(t *testing.T) {
 | 
			
		||||
			assert.Equalf(t, tt.want, RenderCommitBody(tt.args.ctx, tt.args.msg, tt.args.urlPrefix, tt.args.metas), "RenderCommitBody(%v, %v, %v, %v)", tt.args.ctx, tt.args.msg, tt.args.urlPrefix, tt.args.metas)
 | 
			
		||||
		})
 | 
			
		||||
	}
 | 
			
		||||
}
 | 
			
		||||
		Reference in New Issue
	
	Block a user