gitea源码

commit_submodule_file_test.go 1.7KB

1234567891011121314151617181920212223242526272829303132333435363738394041
  1. // Copyright 2024 The Gitea Authors. All rights reserved.
  2. // SPDX-License-Identifier: MIT
  3. package git
  4. import (
  5. "testing"
  6. "github.com/stretchr/testify/assert"
  7. )
  8. func TestCommitSubmoduleLink(t *testing.T) {
  9. assert.Nil(t, (*CommitSubmoduleFile)(nil).SubmoduleWebLinkTree(t.Context()))
  10. assert.Nil(t, (*CommitSubmoduleFile)(nil).SubmoduleWebLinkCompare(t.Context(), "", ""))
  11. assert.Nil(t, (&CommitSubmoduleFile{}).SubmoduleWebLinkTree(t.Context()))
  12. assert.Nil(t, (&CommitSubmoduleFile{}).SubmoduleWebLinkCompare(t.Context(), "", ""))
  13. t.Run("GitHubRepo", func(t *testing.T) {
  14. sf := NewCommitSubmoduleFile("/any/repo-link", "full-path", "git@github.com:user/repo.git", "aaaa")
  15. wl := sf.SubmoduleWebLinkTree(t.Context())
  16. assert.Equal(t, "https://github.com/user/repo", wl.RepoWebLink)
  17. assert.Equal(t, "https://github.com/user/repo/tree/aaaa", wl.CommitWebLink)
  18. wl = sf.SubmoduleWebLinkCompare(t.Context(), "1111", "2222")
  19. assert.Equal(t, "https://github.com/user/repo", wl.RepoWebLink)
  20. assert.Equal(t, "https://github.com/user/repo/compare/1111...2222", wl.CommitWebLink)
  21. })
  22. t.Run("RelativePath", func(t *testing.T) {
  23. sf := NewCommitSubmoduleFile("/subpath/any/repo-home-link", "full-path", "../../user/repo", "aaaa")
  24. wl := sf.SubmoduleWebLinkTree(t.Context())
  25. assert.Equal(t, "/subpath/user/repo", wl.RepoWebLink)
  26. assert.Equal(t, "/subpath/user/repo/tree/aaaa", wl.CommitWebLink)
  27. sf = NewCommitSubmoduleFile("/subpath/any/repo-home-link", "dir/submodule", "../../user/repo", "aaaa")
  28. wl = sf.SubmoduleWebLinkCompare(t.Context(), "1111", "2222")
  29. assert.Equal(t, "/subpath/user/repo", wl.RepoWebLink)
  30. assert.Equal(t, "/subpath/user/repo/compare/1111...2222", wl.CommitWebLink)
  31. })
  32. }