gitea源码

renderhelper_issueicontitle_test.go 1.7KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950
  1. // Copyright 2024 The Gitea Authors. All rights reserved.
  2. // SPDX-License-Identifier: MIT
  3. package markup
  4. import (
  5. "testing"
  6. "code.gitea.io/gitea/models/repo"
  7. "code.gitea.io/gitea/models/unittest"
  8. "code.gitea.io/gitea/modules/markup"
  9. "code.gitea.io/gitea/modules/templates"
  10. "code.gitea.io/gitea/modules/util"
  11. "code.gitea.io/gitea/services/contexttest"
  12. "github.com/stretchr/testify/assert"
  13. )
  14. func TestRenderHelperIssueIconTitle(t *testing.T) {
  15. assert.NoError(t, unittest.PrepareTestDatabase())
  16. ctx, _ := contexttest.MockContext(t, "/", contexttest.MockContextOption{Render: templates.HTMLRenderer()})
  17. ctx.Repo.Repository = unittest.AssertExistsAndLoadBean(t, &repo.Repository{ID: 1})
  18. htm, err := renderRepoIssueIconTitle(ctx, markup.RenderIssueIconTitleOptions{
  19. LinkHref: "/link",
  20. IssueIndex: 1,
  21. })
  22. assert.NoError(t, err)
  23. assert.Equal(t, `<a href="/link"><span>octicon-issue-opened(16/text green)</span> issue1 (#1)</a>`, string(htm))
  24. ctx, _ = contexttest.MockContext(t, "/", contexttest.MockContextOption{Render: templates.HTMLRenderer()})
  25. htm, err = renderRepoIssueIconTitle(ctx, markup.RenderIssueIconTitleOptions{
  26. OwnerName: "user2",
  27. RepoName: "repo1",
  28. LinkHref: "/link",
  29. IssueIndex: 1,
  30. })
  31. assert.NoError(t, err)
  32. assert.Equal(t, `<a href="/link"><span>octicon-issue-opened(16/text green)</span> issue1 (user2/repo1#1)</a>`, string(htm))
  33. ctx, _ = contexttest.MockContext(t, "/", contexttest.MockContextOption{Render: templates.HTMLRenderer()})
  34. _, err = renderRepoIssueIconTitle(ctx, markup.RenderIssueIconTitleOptions{
  35. OwnerName: "user2",
  36. RepoName: "repo2",
  37. LinkHref: "/link",
  38. IssueIndex: 2,
  39. })
  40. assert.ErrorIs(t, err, util.ErrPermissionDenied)
  41. }