diff options
Diffstat (limited to 'internal/git/log/tag_test.go')
-rw-r--r-- | internal/git/log/tag_test.go | 28 |
1 files changed, 25 insertions, 3 deletions
diff --git a/internal/git/log/tag_test.go b/internal/git/log/tag_test.go index daa8540b4..92750d693 100644 --- a/internal/git/log/tag_test.go +++ b/internal/git/log/tag_test.go @@ -25,16 +25,25 @@ func TestGetTag(t *testing.T) { tagName string rev string message string + trim bool }{ { + tagName: fmt.Sprintf("%s-v1.0.2", t.Name()), + rev: "master^^^^", + message: strings.Repeat("a", helper.MaxCommitOrTagMessageSize+1), + trim: false, + }, + { tagName: fmt.Sprintf("%s-v1.0.0", t.Name()), rev: "master^^^", message: "Prod Release v1.0.0", + trim: true, }, { tagName: fmt.Sprintf("%s-v1.0.1", t.Name()), rev: "master^^", message: strings.Repeat("a", helper.MaxCommitOrTagMessageSize+1), + trim: true, }, } @@ -44,9 +53,9 @@ func TestGetTag(t *testing.T) { t.Run(testCase.tagName, func(t *testing.T) { tagID := testhelper.CreateTag(t, testRepoPath, testCase.tagName, testCase.rev, &testhelper.CreateTagOpts{Message: testCase.message}) - tag, err := GetTagCatfile(c, string(tagID), testCase.tagName) + tag, err := GetTagCatfile(c, tagID, testCase.tagName, testCase.trim, true) require.NoError(t, err) - if len(testCase.message) >= helper.MaxCommitOrTagMessageSize { + if testCase.trim && len(testCase.message) >= helper.MaxCommitOrTagMessageSize { testCase.message = testCase.message[:helper.MaxCommitOrTagMessageSize] } @@ -62,6 +71,7 @@ func TestSplitRawTag(t *testing.T) { tagContent string header tagHeader body []byte + trimNewLine bool }{ { description: "tag without a message", @@ -107,9 +117,21 @@ func TestSplitRawTag(t *testing.T) { }, body: []byte("Hello world\n\nThis is a message"), }, + { + description: "tag with message with empty line and right side new line trimming", + tagContent: "object c92faf3e0a557270141be67f206d7cdb99bfc3a2\ntype commit\ntag v2.6.16.28\ntagger Adrian Bunk <bunk@stusta.de> 1156539089 +0200\n\nHello world\n\nThis is a message\n\n", + header: tagHeader{ + oid: "c92faf3e0a557270141be67f206d7cdb99bfc3a2", + tagType: "commit", + tag: "v2.6.16.28", + tagger: "Adrian Bunk <bunk@stusta.de> 1156539089 +0200", + }, + body: []byte("Hello world\n\nThis is a message"), + trimNewLine: true, + }, } for _, tc := range testCases { - header, body, err := splitRawTag(bytes.NewReader([]byte(tc.tagContent))) + header, body, err := splitRawTag(bytes.NewReader([]byte(tc.tagContent)), tc.trimNewLine) assert.Equal(t, tc.header, *header) assert.Equal(t, tc.body, body) assert.NoError(t, err) |