import { scaleToFit } from '$lib/utils/container-utils'; describe('scaleToFit', () => { const tests = [ { name: 'landscape image in square container', dimensions: { width: 2000, height: 1000 }, container: { width: 500, height: 500 }, expected: { width: 500, height: 250 }, }, { name: 'portrait image in square container', dimensions: { width: 1000, height: 2000 }, container: { width: 500, height: 500 }, expected: { width: 250, height: 500 }, }, { name: 'square image in square container', dimensions: { width: 1000, height: 1000 }, container: { width: 500, height: 500 }, expected: { width: 500, height: 500 }, }, { name: 'landscape image in landscape container', dimensions: { width: 1600, height: 900 }, container: { width: 800, height: 600 }, expected: { width: 800, height: 450 }, }, { name: 'portrait image in portrait container', dimensions: { width: 900, height: 1600 }, container: { width: 600, height: 800 }, expected: { width: 450, height: 800 }, }, { name: 'image matches container exactly', dimensions: { width: 500, height: 300 }, container: { width: 500, height: 300 }, expected: { width: 500, height: 300 }, }, { name: 'image smaller than container scales up', dimensions: { width: 100, height: 50 }, container: { width: 400, height: 400 }, expected: { width: 400, height: 200 }, }, ]; for (const { name, dimensions, container, expected } of tests) { it(`should handle ${name}`, () => { expect(scaleToFit(dimensions, container)).toEqual(expected); }); } });