forgejo/web_src/js/components/RepoActivityTopAuthors.test.js

29 lines
1,020 B
JavaScript
Raw Normal View History

// Copyright 2025 The Forgejo Authors. All rights reserved.
// SPDX-License-Identifier: GPL-3.0-or-later
import {flushPromises, mount} from '@vue/test-utils';
import RepoActivityTopAuthors from './RepoActivityTopAuthors.vue';
import {expect, test, vi} from 'vitest';
test('calc image size and shift', async () => {
vi.spyOn(RepoActivityTopAuthors.methods, 'init').mockResolvedValue({});
const repoActivityTopAuthors = mount(RepoActivityTopAuthors, {
props: {
locale: {
commitActivity: '',
},
},
});
await flushPromises();
const square = repoActivityTopAuthors.vm.calcImageSizeAndShift({naturalWidth: 50, naturalHeight: 50});
expect(square).toEqual([20, 20, 0, 0]);
const portrait = repoActivityTopAuthors.vm.calcImageSizeAndShift({naturalWidth: 5, naturalHeight: 50});
expect(portrait).toEqual([2, 20, 9, 0]);
const landscape = repoActivityTopAuthors.vm.calcImageSizeAndShift({naturalWidth: 500, naturalHeight: 5});
expect(landscape).toEqual([20, 0.2, 0, 9.9]);
});