From 699f20234b9f7cdbbeeee3be004470c598fa1147 Mon Sep 17 00:00:00 2001 From: yp05327 <576951401@qq.com> Date: Fri, 3 Mar 2023 19:01:33 +0900 Subject: [PATCH] Use correct README link to render the README (#23152) `renderReadmeFile` needs `readmeTreelink` as parameter but gets `treeLink`. The values of them look like as following: `treeLink`: `/{OwnerName}/{RepoName}/src/branch/{BranchName}` `readmeTreelink`: `/{OwnerName}/{RepoName}/src/branch/{BranchName}/{ReadmeFileName}` `path.Dir` in https://github.com/go-gitea/gitea/blob/8540fc45b11eff9a73753ca139f8ea5c38509bf5/routers/web/repo/view.go#L316 should convert `readmeTreelink` into `/{OwnerName}/{RepoName}/src/branch/{BranchName}` instead of the current `/{OwnerName}/{RepoName}/src/branch`. Fixes #23151 --------- Co-authored-by: Jason Song <i@wolfogre.com> Co-authored-by: John Olheiser <john.olheiser@gmail.com> Co-authored-by: silverwind <me@silverwind.io> --- models/fixtures/repository.yml | 2 +- routers/web/repo/view.go | 2 +- .../40/3d76c604cb569323864e06a07b85d466924802 | Bin 0 -> 68 bytes .../78/fb907e3a3309eae4fe8fef030874cebbf1cd5e | Bin 0 -> 158 bytes .../f3/fa0f5cc797fc4c02a1b8bec9de4b2072fcdbdf | Bin 0 -> 53 bytes .../repo1.git/refs/heads/home-md-img-check | 1 + tests/integration/repo_test.go | 20 ++++++++++++++++++ 7 files changed, 23 insertions(+), 2 deletions(-) create mode 100644 tests/gitea-repositories-meta/user2/repo1.git/objects/40/3d76c604cb569323864e06a07b85d466924802 create mode 100644 tests/gitea-repositories-meta/user2/repo1.git/objects/78/fb907e3a3309eae4fe8fef030874cebbf1cd5e create mode 100644 tests/gitea-repositories-meta/user2/repo1.git/objects/f3/fa0f5cc797fc4c02a1b8bec9de4b2072fcdbdf create mode 100644 tests/gitea-repositories-meta/user2/repo1.git/refs/heads/home-md-img-check diff --git a/models/fixtures/repository.yml b/models/fixtures/repository.yml index 58f9b919ac..dd8facb7a3 100644 --- a/models/fixtures/repository.yml +++ b/models/fixtures/repository.yml @@ -25,7 +25,7 @@ fork_id: 0 is_template: false template_id: 0 - size: 6708 + size: 7028 is_fsck_enabled: true close_issues_via_commit_in_any_branch: false diff --git a/routers/web/repo/view.go b/routers/web/repo/view.go index e3c61fa408..8663e11382 100644 --- a/routers/web/repo/view.go +++ b/routers/web/repo/view.go @@ -186,7 +186,7 @@ func renderDirectory(ctx *context.Context, treeLink string) { return } - renderReadmeFile(ctx, readmeFile, treeLink) + renderReadmeFile(ctx, readmeFile, fmt.Sprintf("%s/%s", treeLink, readmeFile.name)) } // localizedExtensions prepends the provided language code with and without a diff --git a/tests/gitea-repositories-meta/user2/repo1.git/objects/40/3d76c604cb569323864e06a07b85d466924802 b/tests/gitea-repositories-meta/user2/repo1.git/objects/40/3d76c604cb569323864e06a07b85d466924802 new file mode 100644 index 0000000000000000000000000000000000000000..ea0bf76d0cc85bb9d51720cae227d440a93a3388 GIT binary patch literal 68 zcmV-K0K5Nq0ZYosPf{?mU{F>lN-fAY<l=HkElw`VEGWs$&r?XtFM<jyMwg@(m*}P? aW~b_A=BCGL=;@;f=w%h8YXShSWf?jVP9Der literal 0 HcmV?d00001 diff --git a/tests/gitea-repositories-meta/user2/repo1.git/objects/78/fb907e3a3309eae4fe8fef030874cebbf1cd5e b/tests/gitea-repositories-meta/user2/repo1.git/objects/78/fb907e3a3309eae4fe8fef030874cebbf1cd5e new file mode 100644 index 0000000000000000000000000000000000000000..6a25f7409b4101f866d5ae956dd658c58113677c GIT binary patch literal 158 zcmV;P0Ac@l0hNwHPQ)+_06FIsz9S(gjqOHSq5Vqi*swySyCr+z_w)-~M>EpczHPS& zC9f~@aEDl;W009N39E*sXI<5;4X;{IO4!g5>D~|jp1>4Yqlns~AsAelglXl4oEcm7 zp{8}D{+yrt0l#;or3hS3t5L3)uaC!@?b|zK77<1wfmdvZ>7?h|^#4_<j{(zvCPe>o MxNRTl4+U^QjwQiQZvX%Q literal 0 HcmV?d00001 diff --git a/tests/gitea-repositories-meta/user2/repo1.git/objects/f3/fa0f5cc797fc4c02a1b8bec9de4b2072fcdbdf b/tests/gitea-repositories-meta/user2/repo1.git/objects/f3/fa0f5cc797fc4c02a1b8bec9de4b2072fcdbdf new file mode 100644 index 0000000000000000000000000000000000000000..9b20f8af3f2d52f51ef5053a55a15ed946fda5a7 GIT binary patch literal 53 zcmb<m)YkO!4K*-JH!v|UFg6V2C@L-aSbFueZ(_j)UF%~-RymuBX3O7hdUZ`ZbF$40 J1~oUnXaM%@6i5I7 literal 0 HcmV?d00001 diff --git a/tests/gitea-repositories-meta/user2/repo1.git/refs/heads/home-md-img-check b/tests/gitea-repositories-meta/user2/repo1.git/refs/heads/home-md-img-check new file mode 100644 index 0000000000..a254e42921 --- /dev/null +++ b/tests/gitea-repositories-meta/user2/repo1.git/refs/heads/home-md-img-check @@ -0,0 +1 @@ +78fb907e3a3309eae4fe8fef030874cebbf1cd5e diff --git a/tests/integration/repo_test.go b/tests/integration/repo_test.go index 3692b11eca..7c3eac20cf 100644 --- a/tests/integration/repo_test.go +++ b/tests/integration/repo_test.go @@ -256,3 +256,23 @@ func TestViewRepoDirectory(t *testing.T) { assert.Zero(t, repoTopics.Length()) assert.Zero(t, repoSummary.Length()) } + +func TestMarkDownImage(t *testing.T) { + defer tests.PrepareTestEnv(t)() + + session := loginUser(t, "user2") + + req := NewRequest(t, "GET", "/user2/repo1/src/branch/home-md-img-check") + resp := session.MakeRequest(t, req, http.StatusOK) + + htmlDoc := NewHTMLParser(t, resp.Body) + _, exists := htmlDoc.doc.Find(`img[src="/user2/repo1/media/branch/home-md-img-check/test-fake-img.jpg"]`).Attr("src") + assert.True(t, exists, "Repo home page markdown image link check failed") + + req = NewRequest(t, "GET", "/user2/repo1/src/branch/home-md-img-check/README.md") + resp = session.MakeRequest(t, req, http.StatusOK) + + htmlDoc = NewHTMLParser(t, resp.Body) + _, exists = htmlDoc.doc.Find(`img[src="/user2/repo1/media/branch/home-md-img-check/test-fake-img.jpg"]`).Attr("src") + assert.True(t, exists, "Repo src page markdown image link check failed") +}