fix(ui): show commit icon in branch dropdown button when viewing a commit (#7571)
Closes https://codeberg.org/forgejo/forgejo/issues/7570 Fixed never running repo-home e2e test for language switcher Reviewed-on: https://codeberg.org/forgejo/forgejo/pulls/7571 Reviewed-by: 0ko <0ko@noreply.codeberg.org> Co-authored-by: Beowulf <beowulf@beocode.eu> Co-committed-by: Beowulf <beowulf@beocode.eu>
This commit is contained in:
parent
6d7b1f87e4
commit
3f673ce4d4
5 changed files with 50 additions and 25 deletions
|
@ -77,8 +77,10 @@
|
||||||
{{else}}
|
{{else}}
|
||||||
{{if eq $type "tag"}}
|
{{if eq $type "tag"}}
|
||||||
{{svg "octicon-tag"}}
|
{{svg "octicon-tag"}}
|
||||||
{{else}}
|
{{else if eq $type "branch"}}
|
||||||
{{svg "octicon-git-branch"}}
|
{{svg "octicon-git-branch"}}
|
||||||
|
{{else}}
|
||||||
|
{{svg "octicon-git-commit"}}
|
||||||
{{end}}
|
{{end}}
|
||||||
<strong ref="dropdownRefName" class="tw-ml-2 tw-inline-block gt-ellipsis">{{if and .root.IsViewTag (not .noTag)}}{{.root.TagName}}{{else if .root.IsViewBranch}}{{.root.BranchName}}{{else}}{{ShortSha .root.CommitID}}{{end}}</strong>
|
<strong ref="dropdownRefName" class="tw-ml-2 tw-inline-block gt-ellipsis">{{if and .root.IsViewTag (not .noTag)}}{{.root.TagName}}{{else if .root.IsViewBranch}}{{.root.BranchName}}{{else}}{{ShortSha .root.CommitID}}{{end}}</strong>
|
||||||
{{end}}
|
{{end}}
|
||||||
|
|
|
@ -13,6 +13,7 @@ import (
|
||||||
"forgejo.org/models/unittest"
|
"forgejo.org/models/unittest"
|
||||||
user_model "forgejo.org/models/user"
|
user_model "forgejo.org/models/user"
|
||||||
"forgejo.org/modules/git"
|
"forgejo.org/modules/git"
|
||||||
|
"forgejo.org/modules/indexer/stats"
|
||||||
files_service "forgejo.org/services/repository/files"
|
files_service "forgejo.org/services/repository/files"
|
||||||
"forgejo.org/tests"
|
"forgejo.org/tests"
|
||||||
|
|
||||||
|
@ -36,6 +37,10 @@ func DeclareGitRepos(t *testing.T) func() {
|
||||||
Filename: "testfile",
|
Filename: "testfile",
|
||||||
Versions: []string{"hello", "hallo", "hola", "native", "ubuntu-latest", "- runs-on: ubuntu-latest", "- runs-on: debian-latest"},
|
Versions: []string{"hello", "hallo", "hola", "native", "ubuntu-latest", "- runs-on: ubuntu-latest", "- runs-on: debian-latest"},
|
||||||
}}),
|
}}),
|
||||||
|
newRepo(t, 2, "language-stats-test", []FileChanges{{
|
||||||
|
Filename: "main.rs",
|
||||||
|
Versions: []string{"fn main() {", "println!(\"Hello World!\");", "}"},
|
||||||
|
}}),
|
||||||
newRepo(t, 2, "mentions-highlighted", []FileChanges{
|
newRepo(t, 2, "mentions-highlighted", []FileChanges{
|
||||||
{
|
{
|
||||||
Filename: "history1.md",
|
Filename: "history1.md",
|
||||||
|
@ -105,5 +110,8 @@ func newRepo(t *testing.T, userID int64, repoName string, fileChanges []FileChan
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
err := stats.UpdateRepoIndexer(somerepo)
|
||||||
|
require.NoError(t, err)
|
||||||
|
|
||||||
return cleanupFunc
|
return cleanupFunc
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,19 +0,0 @@
|
||||||
// @watch start
|
|
||||||
// web_src/js/features/common-global.js
|
|
||||||
// web_src/css/repo.css
|
|
||||||
// @watch end
|
|
||||||
|
|
||||||
import {expect} from '@playwright/test';
|
|
||||||
import {save_visual, test} from './utils_e2e.ts';
|
|
||||||
|
|
||||||
test('Language stats bar', async ({page}) => {
|
|
||||||
const response = await page.goto('/user2/repo1');
|
|
||||||
expect(response?.status()).toBe(200);
|
|
||||||
|
|
||||||
await expect(page.locator('#language-stats-legend')).toBeVisible();
|
|
||||||
await save_visual(page);
|
|
||||||
|
|
||||||
await page.click('#language-stats-bar');
|
|
||||||
await expect(page.locator('#language-stats-legend')).toBeHidden();
|
|
||||||
await save_visual(page);
|
|
||||||
});
|
|
33
tests/e2e/repo-home.test.e2e.ts
Normal file
33
tests/e2e/repo-home.test.e2e.ts
Normal file
|
@ -0,0 +1,33 @@
|
||||||
|
// @watch start
|
||||||
|
// web_src/js/components/RepoBranchTagSelector.vue
|
||||||
|
// web_src/js/features/common-global.js
|
||||||
|
// web_src/css/repo.css
|
||||||
|
// @watch end
|
||||||
|
|
||||||
|
import {expect} from '@playwright/test';
|
||||||
|
import {save_visual, test} from './utils_e2e.ts';
|
||||||
|
|
||||||
|
test('Language stats bar', async ({page}) => {
|
||||||
|
const response = await page.goto('/user2/language-stats-test');
|
||||||
|
expect(response?.status()).toBe(200);
|
||||||
|
|
||||||
|
await expect(page.locator('#language-stats-legend')).toBeHidden();
|
||||||
|
|
||||||
|
await page.click('#language-stats-bar');
|
||||||
|
await expect(page.locator('#language-stats-legend')).toBeVisible();
|
||||||
|
await save_visual(page);
|
||||||
|
|
||||||
|
await page.click('#language-stats-bar');
|
||||||
|
await expect(page.locator('#language-stats-legend')).toBeHidden();
|
||||||
|
await save_visual(page);
|
||||||
|
});
|
||||||
|
|
||||||
|
test('Branch selector commit icon', async ({page}) => {
|
||||||
|
const response = await page.goto('/user2/repo1');
|
||||||
|
expect(response?.status()).toBe(200);
|
||||||
|
|
||||||
|
await expect(page.locator('.branch-dropdown-button svg.octicon-git-branch')).toBeVisible();
|
||||||
|
|
||||||
|
await page.goto('/user2/repo1/src/commit/65f1bf27bc');
|
||||||
|
await expect(page.locator('.branch-dropdown-button svg.octicon-git-commit')).toBeVisible();
|
||||||
|
});
|
|
@ -54,12 +54,12 @@ const sfc = {
|
||||||
if (this.viewType === 'tree') {
|
if (this.viewType === 'tree') {
|
||||||
this.isViewTree = true;
|
this.isViewTree = true;
|
||||||
this.refNameText = this.commitIdShort;
|
this.refNameText = this.commitIdShort;
|
||||||
} else if (this.viewType === 'tag') {
|
} else if (this.viewType === 'branch') {
|
||||||
|
this.isViewBranch = true;
|
||||||
|
this.refNameText = this.viewType;
|
||||||
|
} else {
|
||||||
this.isViewTag = true;
|
this.isViewTag = true;
|
||||||
this.refNameText = this.tagName;
|
this.refNameText = this.tagName;
|
||||||
} else {
|
|
||||||
this.isViewBranch = true;
|
|
||||||
this.refNameText = this.branchName;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
document.body.addEventListener('click', (event) => {
|
document.body.addEventListener('click', (event) => {
|
||||||
|
@ -252,7 +252,8 @@ export default sfc; // activate IDE's Vue plugin
|
||||||
<template v-if="release">{{ textReleaseCompare }}</template>
|
<template v-if="release">{{ textReleaseCompare }}</template>
|
||||||
<template v-else>
|
<template v-else>
|
||||||
<svg-icon v-if="isViewTag" name="octicon-tag"/>
|
<svg-icon v-if="isViewTag" name="octicon-tag"/>
|
||||||
<svg-icon v-else name="octicon-git-branch"/>
|
<svg-icon v-else-if="isViewBranch" name="octicon-git-branch"/>
|
||||||
|
<svg-icon v-else name="octicon-git-commit"/>
|
||||||
<strong ref="dropdownRefName" class="tw-ml-2 tw-inline-block gt-ellipsis">{{ refNameText }}</strong>
|
<strong ref="dropdownRefName" class="tw-ml-2 tw-inline-block gt-ellipsis">{{ refNameText }}</strong>
|
||||||
</template>
|
</template>
|
||||||
</span>
|
</span>
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue