// Copyright 2024 The Gitea Authors. All rights reserved. // SPDX-License-Identifier: MIT package renderhelper import ( "context" "testing" repo_model "code.gitea.io/gitea/models/repo" "code.gitea.io/gitea/models/unittest" "code.gitea.io/gitea/modules/markup" "code.gitea.io/gitea/modules/markup/markdown" "github.com/stretchr/testify/assert" ) func TestRepoFile(t *testing.T) { unittest.PrepareTestEnv(t) repo1 := unittest.AssertExistsAndLoadBean(t, &repo_model.Repository{ID: 1}) t.Run("AutoLink", func(t *testing.T) { rctx := NewRenderContextRepoFile(context.Background(), repo1).WithMarkupType(markdown.MarkupName) rendered, err := markup.RenderString(rctx, ` 65f1bf27bc3bf70f64657658635e66094edbcb4d #1 @user2 `) assert.NoError(t, err) assert.Equal(t, `

65f1bf27bc #1 @user2

`, rendered) }) t.Run("AbsoluteAndRelative", func(t *testing.T) { rctx := NewRenderContextRepoFile(context.Background(), repo1, RepoFileOptions{CurrentRefPath: "branch/main"}). WithMarkupType(markdown.MarkupName) rendered, err := markup.RenderString(rctx, ` [/test](/test) [./test](./test) ![/image](/image) ![./image](./image) `) assert.NoError(t, err) assert.Equal(t, `

/test ./test /image ./image

`, rendered) }) t.Run("WithCurrentRefPath", func(t *testing.T) { rctx := NewRenderContextRepoFile(context.Background(), repo1, RepoFileOptions{CurrentRefPath: "/commit/1234"}). WithMarkupType(markdown.MarkupName) rendered, err := markup.RenderString(rctx, ` [/test](/test) ![/image](/image) `) assert.NoError(t, err) assert.Equal(t, `

/test /image

`, rendered) }) t.Run("WithCurrentRefPathByTag", func(t *testing.T) { rctx := NewRenderContextRepoFile(context.Background(), repo1, RepoFileOptions{ CurrentRefPath: "/commit/1234", CurrentTreePath: "my-dir", }). WithMarkupType(markdown.MarkupName) rendered, err := markup.RenderString(rctx, `