aboutsummaryrefslogtreecommitdiffstats
path: root/modules/git/commit_submodule_file_test.go
blob: 103e55e920ec328edf16c5b439cff0b83361f34e (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
// Copyright 2024 The Gitea Authors. All rights reserved.
// SPDX-License-Identifier: MIT

package git

import (
	"testing"

	"github.com/stretchr/testify/assert"
)

func TestCommitSubmoduleLink(t *testing.T) {
	wl := (*CommitSubmoduleFile)(nil).SubmoduleWebLink(t.Context())
	assert.Nil(t, wl)

	t.Run("GitHubRepo", func(t *testing.T) {
		sf := NewCommitSubmoduleFile("git@github.com:user/repo.git", "aaaa")

		wl := sf.SubmoduleWebLink(t.Context())
		assert.Equal(t, "https://github.com/user/repo", wl.RepoWebLink)
		assert.Equal(t, "https://github.com/user/repo/tree/aaaa", wl.CommitWebLink)

		wl = sf.SubmoduleWebLink(t.Context(), "1111")
		assert.Equal(t, "https://github.com/user/repo", wl.RepoWebLink)
		assert.Equal(t, "https://github.com/user/repo/tree/1111", wl.CommitWebLink)

		wl = sf.SubmoduleWebLink(t.Context(), "1111", "2222")
		assert.Equal(t, "https://github.com/user/repo", wl.RepoWebLink)
		assert.Equal(t, "https://github.com/user/repo/compare/1111...2222", wl.CommitWebLink)
	})

	t.Run("RelativePath", func(t *testing.T) {
		sf := NewCommitSubmoduleFile("../../user/repo", "aaaa")
		wl := sf.SubmoduleWebLink(t.Context())
		assert.Equal(t, "../../user/repo", wl.RepoWebLink)
		assert.Equal(t, "../../user/repo/tree/aaaa", wl.CommitWebLink)
	})
}