import { describe, expect, it } from 'vitest';
import { computeScale } from '../scale';
describe('computeScale', () => {
it('целый множитель: 480×270 в окно 960×540 — x2', () => {
expect(computeScale(480, 270, 960, 540)).toBe(2);
});
it('берёт минимум по осям (вписать целиком)', () => {
expect(computeScale(480, 270, 960, 810)).toBe(2); // по высоте больше — режет ширина
expect(computeScale(480, 270, 1440, 540)).toBe(2); // по ширине больше — режет высота
});
it('дробное вмещение округляется вниз до целого (pixel-perfect)', () => {
expect(computeScale(480, 270, 1000, 600)).toBe(2);
expect(computeScale(480, 270, 1200, 675)).toBe(2);
expect(computeScale(480, 270, 1440, 810)).toBe(3);
});
it('маленькое окно — минимум 1 (картинка не исчезает)', () => {
expect(computeScale(480, 270, 100, 100)).toBe(1);
expect(computeScale(480, 270, 0, 0)).toBe(1);
});
});