// @flow import React from 'react' import { shallow } from 'enzyme' import { resetStyled, expectCSSMatches } from './utils' let styled describe('css features', () => { beforeEach(() => { styled = resetStyled() }) it('should add vendor prefixes in the right order', () => { const Comp = styled.div` transition: opacity 0.3s; ` shallow() expectCSSMatches('.sc-a {} .b { -webkit-transition:opacity 0.3s; transition:opacity 0.3s; }') }) it('should add vendor prefixes for display', () => { const Comp = styled.div` display: flex; flex-direction: column; align-items: center; ` shallow() expectCSSMatches(` .sc-a {} .b { display:-webkit-box; display:-webkit-flex; display:-ms-flexbox; display:flex; -webkit-flex-direction:column; -ms-flex-direction:column; flex-direction:column; -webkit-align-items:center; -webkit-box-align:center; -ms-flex-align:center; align-items:center; } `) }) it('should generate styles for nested media queries', () => { const Comp = styled.div` @media (min-width: 10px) { @media (min-height: 20px) { color: red; } } ` shallow() expectCSSMatches(` .sc-a {} @media (min-width: 10px) { @media (min-height: 20px) { .b { color: red; } } } `) }) it('should pass through custom properties', () => { const Comp = styled.div` --custom-prop: some-val; ` shallow() expectCSSMatches('.sc-a {} .b { --custom-prop:some-val; }') }) })