mirror of
https://codeberg.org/forgejo/forgejo.git
synced 2024-11-21 08:31:27 -05:00
Fix localization of release/tag counters on releases page
This commit is contained in:
parent
95ccbb5995
commit
83e6b0c0c6
4 changed files with 22 additions and 10 deletions
|
@ -1231,22 +1231,22 @@ clear_ref = `Clear current reference`
|
||||||
filter_branch_and_tag = Filter branch or tag
|
filter_branch_and_tag = Filter branch or tag
|
||||||
find_tag = Find tag
|
find_tag = Find tag
|
||||||
branches = Branches
|
branches = Branches
|
||||||
|
tag = Tag
|
||||||
tags = Tags
|
tags = Tags
|
||||||
issues = Issues
|
issues = Issues
|
||||||
pulls = Pull requests
|
pulls = Pull requests
|
||||||
project_board = Projects
|
project_board = Projects
|
||||||
packages = Packages
|
packages = Packages
|
||||||
actions = Actions
|
actions = Actions
|
||||||
|
release = Release
|
||||||
|
releases = Releases
|
||||||
labels = Labels
|
labels = Labels
|
||||||
|
milestones = Milestones
|
||||||
org_labels_desc = Organization level labels that can be used with <strong>all repositories</strong> under this organization
|
org_labels_desc = Organization level labels that can be used with <strong>all repositories</strong> under this organization
|
||||||
org_labels_desc_manage = manage
|
org_labels_desc_manage = manage
|
||||||
|
|
||||||
milestones = Milestones
|
|
||||||
commits = Commits
|
commits = Commits
|
||||||
commit = Commit
|
commit = Commit
|
||||||
release = Release
|
|
||||||
releases = Releases
|
|
||||||
tag = Tag
|
|
||||||
|
|
||||||
n_commit_one=%s commit
|
n_commit_one=%s commit
|
||||||
n_commit_few=%s commits
|
n_commit_few=%s commits
|
||||||
|
@ -1254,6 +1254,8 @@ n_branch_one=%s branch
|
||||||
n_branch_few=%s branches
|
n_branch_few=%s branches
|
||||||
n_tag_one=%s tag
|
n_tag_one=%s tag
|
||||||
n_tag_few=%s tags
|
n_tag_few=%s tags
|
||||||
|
n_release_one = %s release
|
||||||
|
n_release_few = %s releases
|
||||||
|
|
||||||
released_this = released this
|
released_this = released this
|
||||||
file.title = %s at %s
|
file.title = %s at %s
|
||||||
|
|
|
@ -5,9 +5,9 @@
|
||||||
<div class="tw-flex">
|
<div class="tw-flex">
|
||||||
<div class="tw-flex-1 tw-flex tw-items-center">
|
<div class="tw-flex-1 tw-flex tw-items-center">
|
||||||
<h2 class="ui compact small menu small-menu-items">
|
<h2 class="ui compact small menu small-menu-items">
|
||||||
<a class="{{if and .PageIsReleaseList (not .PageIsSingleTag)}}active {{end}}item" href="{{.RepoLink}}/releases">{{ctx.Locale.PrettyNumber .NumReleases}} {{ctx.Locale.TrN .NumReleases "repo.release" "repo.releases"}}</a>
|
<a class="{{if and .PageIsReleaseList (not .PageIsSingleTag)}}active {{end}}item" href="{{.RepoLink}}/releases">{{ctx.Locale.TrN .NumReleases "repo.n_release_one" "repo.n_release_few" (ctx.Locale.PrettyNumber .NumReleases)}}</a>
|
||||||
{{if $canReadCode}}
|
{{if $canReadCode}}
|
||||||
<a class="{{if or .PageIsTagList .PageIsSingleTag}}active {{end}}item" href="{{.RepoLink}}/tags">{{ctx.Locale.PrettyNumber .NumTags}} {{ctx.Locale.TrN .NumTags "repo.tag" "repo.tags"}}</a>
|
<a class="{{if or .PageIsTagList .PageIsSingleTag}}active {{end}}item" href="{{.RepoLink}}/tags">{{ctx.Locale.TrN .NumTags "repo.n_tag_one" "repo.n_tag_few" (ctx.Locale.PrettyNumber .NumTags)}}</a>
|
||||||
{{end}}
|
{{end}}
|
||||||
</h2>
|
</h2>
|
||||||
</div>
|
</div>
|
||||||
|
|
|
@ -1,4 +1,5 @@
|
||||||
// Copyright 2017 The Gitea Authors. All rights reserved.
|
// Copyright 2017 The Gitea Authors. All rights reserved.
|
||||||
|
// Copyright 2024 The Forgejo Authors. All rights reserved.
|
||||||
// SPDX-License-Identifier: MIT
|
// SPDX-License-Identifier: MIT
|
||||||
|
|
||||||
package integration
|
package integration
|
||||||
|
@ -6,6 +7,7 @@ package integration
|
||||||
import (
|
import (
|
||||||
"fmt"
|
"fmt"
|
||||||
"net/http"
|
"net/http"
|
||||||
|
"strconv"
|
||||||
"testing"
|
"testing"
|
||||||
"time"
|
"time"
|
||||||
|
|
||||||
|
@ -66,6 +68,13 @@ func checkLatestReleaseAndCount(t *testing.T, session *TestSession, repoURL, ver
|
||||||
titleText := htmlDoc.doc.Find("#release-list > li .detail h4 a").First().Text()
|
titleText := htmlDoc.doc.Find("#release-list > li .detail h4 a").First().Text()
|
||||||
assert.EqualValues(t, version, titleText)
|
assert.EqualValues(t, version, titleText)
|
||||||
|
|
||||||
|
// Check release count in the counter on the Release/Tag switch, as well as that the tab is highlighted
|
||||||
|
if count < 10 { // Only check values less than 10, should be enough attempts before this test cracks
|
||||||
|
// 10 is the pagination limit, but the counter can have more than that
|
||||||
|
releaseTab := htmlDoc.doc.Find(".repository.releases .ui.compact.menu a.active.item[href$='/releases']")
|
||||||
|
assert.Contains(t, releaseTab.Text(), strconv.Itoa(count)+" release") // Could be "1 release" or "4 releases"
|
||||||
|
}
|
||||||
|
|
||||||
releaseList := htmlDoc.doc.Find("#release-list > li")
|
releaseList := htmlDoc.doc.Find("#release-list > li")
|
||||||
assert.EqualValues(t, count, releaseList.Length())
|
assert.EqualValues(t, count, releaseList.Length())
|
||||||
}
|
}
|
||||||
|
@ -77,7 +86,7 @@ func TestViewReleases(t *testing.T) {
|
||||||
req := NewRequest(t, "GET", "/user2/repo1/releases")
|
req := NewRequest(t, "GET", "/user2/repo1/releases")
|
||||||
session.MakeRequest(t, req, http.StatusOK)
|
session.MakeRequest(t, req, http.StatusOK)
|
||||||
|
|
||||||
// if CI is to slow this test fail, so lets wait a bit
|
// if CI is too slow this test fail, so lets wait a bit
|
||||||
time.Sleep(time.Millisecond * 100)
|
time.Sleep(time.Millisecond * 100)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -50,12 +50,13 @@ func TestTagViewWithoutRelease(t *testing.T) {
|
||||||
req := NewRequestf(t, "GET", "/%s/releases/tag/no-release", repo.FullName())
|
req := NewRequestf(t, "GET", "/%s/releases/tag/no-release", repo.FullName())
|
||||||
resp := MakeRequest(t, req, http.StatusOK)
|
resp := MakeRequest(t, req, http.StatusOK)
|
||||||
|
|
||||||
// Test that the tags sub-menu is active
|
// Test that the tags sub-menu is active and has a counter
|
||||||
htmlDoc := NewHTMLParser(t, resp.Body)
|
htmlDoc := NewHTMLParser(t, resp.Body)
|
||||||
htmlDoc.AssertElement(t, ".small-menu-items .active.item[href*='/tags']", true)
|
tagsTab := htmlDoc.Find(".small-menu-items .active.item[href$='/tags']")
|
||||||
|
assert.Contains(t, tagsTab.Text(), "4 tags")
|
||||||
|
|
||||||
// Test that the release sub-menu isn't active
|
// Test that the release sub-menu isn't active
|
||||||
releaseLink := htmlDoc.Find(".small-menu-items .item[href*='/releases']")
|
releaseLink := htmlDoc.Find(".small-menu-items .item[href$='/releases']")
|
||||||
assert.False(t, releaseLink.HasClass("active"))
|
assert.False(t, releaseLink.HasClass("active"))
|
||||||
|
|
||||||
// Test that the title is displayed
|
// Test that the title is displayed
|
||||||
|
|
Loading…
Reference in a new issue