import { computeMargins } from './compute-margins.js'; describe('parseMargins()', () => { it('works with numeric and text margins', () => { expect(computeMargins({ margin: 24 })).toEqual({ marginTop: 24, marginRight: 24, marginBottom: 24, marginLeft: 24, }); expect(computeMargins({ margin: '24px' })).toEqual({ marginTop: '24px', marginRight: '24px', marginBottom: '24px', marginLeft: '24px', }); expect(computeMargins({ margin: '24px', marginTop: 10 })).toEqual({ marginTop: 10, marginRight: '24px', marginBottom: '24px', marginLeft: '24px', }); }); it('computes the margins according to the order of styles', () => { expect( computeMargins({ margin: 0, marginBottom: '1rem', }), ).toEqual({ marginTop: 0, marginRight: 0, marginLeft: 0, marginBottom: '1rem', }); expect( computeMargins({ marginBottom: '1rem', margin: 0, }), ).toEqual({ marginTop: 0, marginRight: 0, marginLeft: 0, marginBottom: 0, }); expect( computeMargins({ marginTop: '2rem', marginLeft: '10px', margin: '3em', marginRight: '9px', marginBottom: '1px', }), ).toEqual({ marginTop: '3em', marginLeft: '3em', marginRight: '9px', marginBottom: '1px', }); }); });