astro-ghostcms/.pnpm-store/v3/files/3e/216029872b4e222d07f7d044347...

123 lines
3.0 KiB
Plaintext
Raw Normal View History

2024-02-14 14:10:47 +00:00
import transformCss from '..'
it('transforms flex shorthand with 3 values', () => {
expect(transformCss([['flex', '1 2 3px']])).toEqual({
flexGrow: 1,
flexShrink: 2,
flexBasis: 3,
})
})
it('transforms flex shorthand with 3 values in reverse order', () => {
expect(transformCss([['flex', '3px 1 2']])).toEqual({
flexGrow: 1,
flexShrink: 2,
flexBasis: 3,
})
})
it('transforms flex shorthand with 2 values of flex-grow and flex-shrink', () => {
expect(transformCss([['flex', '1 2']])).toEqual({
flexGrow: 1,
flexShrink: 2,
flexBasis: 0,
})
})
it('transforms flex shorthand with 2 values of flex-grow and flex-basis', () => {
expect(transformCss([['flex', '2 2px']])).toEqual({
flexGrow: 2,
flexShrink: 1,
flexBasis: 2,
})
})
it('transforms flex shorthand with 2 values of flex-grow and flex-basis (reversed)', () => {
expect(transformCss([['flex', '2px 2']])).toEqual({
flexGrow: 2,
flexShrink: 1,
flexBasis: 2,
})
})
it('transforms flex shorthand with 1 value of flex-grow', () => {
expect(transformCss([['flex', '2']])).toEqual({
flexGrow: 2,
flexShrink: 1,
flexBasis: 0,
})
})
it('transforms flex shorthand with 1 value of flex-basis', () => {
expect(transformCss([['flex', '10px']])).toEqual({
flexGrow: 1,
flexShrink: 1,
flexBasis: 10,
})
})
/*
A unitless zero that is not already preceded by two flex factors must be interpreted as a flex
factor. To avoid misinterpretation or invalid declarations, authors must specify a zero
<flex-basis> component with a unit or precede it by two flex factors.
*/
it('transforms flex shorthand with flex-grow/shrink taking priority over basis', () => {
expect(transformCss([['flex', '0 1 0']])).toEqual({
flexGrow: 0,
flexShrink: 1,
flexBasis: 0,
})
})
it('transforms flex shorthand with flex-basis set to auto', () => {
expect(transformCss([['flex', '0 1 auto']])).toEqual({
flexGrow: 0,
flexShrink: 1,
flexBasis: 'auto',
})
})
it('transforms flex shorthand with flex-basis set to percent', () => {
expect(transformCss([['flex', '1 2 30%']])).toEqual({
flexGrow: 1,
flexShrink: 2,
flexBasis: '30%',
})
})
it('transforms flex shorthand with flex-basis set to unsupported unit', () => {
expect(transformCss([['flex', '1 2 30em']])).toEqual({
flexGrow: 1,
flexShrink: 2,
flexBasis: '30em',
})
})
it('transforms flex shorthand with flex-basis set to auto appearing first', () => {
expect(transformCss([['flex', 'auto 0 1']])).toEqual({
flexGrow: 0,
flexShrink: 1,
flexBasis: 'auto',
})
})
it('transforms flex auto keyword', () => {
expect(transformCss([['flex', 'auto']])).toEqual({
flexGrow: 1,
flexShrink: 1,
flexBasis: 'auto',
})
})
it('transforms flex none keyword', () => {
expect(transformCss([['flex', 'none']])).toEqual({
flexGrow: 0,
flexShrink: 0,
flexBasis: 'auto',
})
})
it('does not transform invalid flex', () => {
expect(() => transformCss([['flex', '1 2px 3']])).toThrow()
})