Repository URL to install this package:
Version:
1.0.1-0 ▾
|
// @flow
import React from 'react'
import { shallow } from 'enzyme'
import { resetStyled } from './utils'
let styled
describe('static style caching', () => {
beforeEach(() => {
styled = resetStyled()
})
it('should mark styles without any functions as static', () => {
const TOP_AS_NUMBER = 10
const FONT_SIZE_NUMBER = 14
const COLOR_AS_STRING = 'purple'
const Comp = styled.div`
color: purple;
font-size: ${FONT_SIZE_NUMBER}px
position: absolute;
top: ${TOP_AS_NUMBER}
`
expect(Comp.componentStyle.isStatic).toEqual(true)
})
it('should mark styles with a nested styled component as static', () => {
const NestedComp = styled.div``
const Comp = styled.div`
${NestedComp} {
color: purple;
}
`
expect(Comp.componentStyle.isStatic).toEqual(true)
})
it('should mark styles with a dynamic style as not static', () => {
const Comp = styled.div`
color: ${props => props.color};
`
expect(Comp.componentStyle.isStatic).toEqual(false)
})
it('should mark components with numeric attriutes as static', () => {
const Comp = styled.div.attrs({
style: {
color: 'purple',
},
height: 100,
})``
expect(Comp.componentStyle.isStatic).toEqual(true)
})
it('should mark components with dynamic attributes as not static', () => {
const Comp = styled.div.attrs({
style: props => ({
height: props.height,
}),
})``
expect(Comp.componentStyle.isStatic).toEqual(false)
})
})