Some checks failed
cache-seeder / prune (push) Has been skipped
cache-seeder / frontend (push) Failing after 3s
cache-seeder / python (push) Failing after 3s
cache-seeder / gobuild (push) Failing after 4s
cache-seeder / lint (bindata, lint-backend) (push) Failing after 3s
giteabot backport / giteabot (push) Has been skipped
giteabot / giteabot (push) Has been skipped
cache-prune / prune (push) Has been skipped
release-nightly-snapcraft / build-and-publish (ubuntu-24.04) (push) Has been cancelled
release-nightly-snapcraft / build-and-publish (ubuntu-24.04-arm) (push) Has been cancelled
release-nightly / nightly-binary (push) Has been cancelled
release-nightly / nightly-container (push) Has been cancelled
cron-renovate / cron-renovate (push) Has been skipped
24 lines
1.0 KiB
TypeScript
24 lines
1.0 KiB
TypeScript
import DiffFileTreeItem from './DiffFileTreeItem.vue';
|
|
import {createApp, h} from 'vue';
|
|
import type {DiffStatus, DiffTreeEntry} from '../modules/diff-file.ts';
|
|
|
|
function renderItem(diffStatus: string): string {
|
|
const item: DiffTreeEntry = {
|
|
FullName: 'a.txt', OldFullName: '', DisplayName: 'a.txt', NameHash: 'hash',
|
|
DiffStatus: diffStatus as DiffStatus, EntryMode: '', IsViewed: false, Children: null, FileIcon: '',
|
|
};
|
|
const root = document.createElement('div');
|
|
createApp({render: () => h(DiffFileTreeItem, {item})}).mount(root);
|
|
return root.innerHTML;
|
|
}
|
|
|
|
test('DiffFileTreeItem diff status icon', () => {
|
|
window.config.pageData.DiffFileTree = {TreeRoot: {
|
|
FullName: '', OldFullName: '', DisplayName: '', NameHash: 'root',
|
|
DiffStatus: '', EntryMode: 'tree', IsViewed: false, Children: [], FileIcon: '',
|
|
}};
|
|
expect(renderItem('typechanged')).toContain('octicon-diff-modified');
|
|
// a status the frontend does not know must fall back instead of failing to render
|
|
expect(renderItem('something-new')).toContain('octicon-blocked');
|
|
});
|