1*641d0767SEvan Baconimport React from 'react'; 2*641d0767SEvan Baconimport renderer from 'react-test-renderer'; 3*641d0767SEvan Bacon 4*641d0767SEvan Baconimport View from '../../primitives/View'; 5*641d0767SEvan Baconimport { createSafeStyledView } from '../createSafeStyledView'; 6*641d0767SEvan Bacon 7*641d0767SEvan Baconconst Safe = createSafeStyledView(View); 8*641d0767SEvan Bacon 9*641d0767SEvan Baconconst originalConsoleError = console.error; 10*641d0767SEvan Baconconst originalConsoleWarn = console.warn; 11*641d0767SEvan Bacon 12*641d0767SEvan BaconbeforeEach(() => { 13*641d0767SEvan Bacon console.error = jest.fn(); 14*641d0767SEvan Bacon console.warn = jest.fn(); 15*641d0767SEvan Bacon}); 16*641d0767SEvan BaconafterAll(() => { 17*641d0767SEvan Bacon console.error = originalConsoleError; 18*641d0767SEvan Bacon console.warn = originalConsoleWarn; 19*641d0767SEvan Bacon}); 20*641d0767SEvan Bacon 21*641d0767SEvan Baconit(`strips invalid style properties`, () => { 22*641d0767SEvan Bacon const tree = renderer.create( 23*641d0767SEvan Bacon <Safe 24*641d0767SEvan Bacon style={{ 25*641d0767SEvan Bacon transitionDuration: '200ms', 26*641d0767SEvan Bacon position: 'absolute', 27*641d0767SEvan Bacon }} 28*641d0767SEvan Bacon /> 29*641d0767SEvan Bacon ); 30*641d0767SEvan Bacon // expect(tree.root.children[0]).toHaveStyle({ position: 'absolute' }); 31*641d0767SEvan Bacon expect(tree).toMatchSnapshot(); 32*641d0767SEvan Bacon}); 33*641d0767SEvan Bacon 34*641d0767SEvan Baconit(`replaces invalid position with "relative"`, () => { 35*641d0767SEvan Bacon const tree = renderer.create( 36*641d0767SEvan Bacon <Safe 37*641d0767SEvan Bacon style={{ 38*641d0767SEvan Bacon position: 'fixed', 39*641d0767SEvan Bacon }} 40*641d0767SEvan Bacon /> 41*641d0767SEvan Bacon ); 42*641d0767SEvan Bacon expect(tree).toMatchSnapshot(); 43*641d0767SEvan Bacon expect(console.warn).toBeCalledWith(`Unsupported position: 'fixed'`); 44*641d0767SEvan Bacon}); 45*641d0767SEvan Bacon 46*641d0767SEvan Baconit(`mocks out visibility: hidden by lowering the opacity`, () => { 47*641d0767SEvan Bacon const tree = renderer.create( 48*641d0767SEvan Bacon <Safe 49*641d0767SEvan Bacon style={{ 50*641d0767SEvan Bacon visibility: 'hidden', 51*641d0767SEvan Bacon }} 52*641d0767SEvan Bacon /> 53*641d0767SEvan Bacon ); 54*641d0767SEvan Bacon expect(tree).toMatchSnapshot(); 55*641d0767SEvan Bacon}); 56