1*641d0767SEvan Baconimport React from 'react'; 2*641d0767SEvan Baconimport { Platform, View as NativeView } from 'react-native'; 3*641d0767SEvan Baconimport renderer from 'react-test-renderer'; 4*641d0767SEvan Bacon 5*641d0767SEvan Baconimport { createDevView } from '../createDevView'; 6*641d0767SEvan Bacon 7*641d0767SEvan Baconexport const View = createDevView(NativeView); 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(`renders`, () => { 22*641d0767SEvan Bacon // Ensure no errors 23*641d0767SEvan Bacon renderer 24*641d0767SEvan Bacon .create( 25*641d0767SEvan Bacon <View> 26*641d0767SEvan Bacon <View /> 27*641d0767SEvan Bacon </View> 28*641d0767SEvan Bacon ) 29*641d0767SEvan Bacon .toJSON(); 30*641d0767SEvan Bacon}); 31*641d0767SEvan Bacon 32*641d0767SEvan Baconit(`asserts react-dom elements`, () => { 33*641d0767SEvan Bacon const instance = ( 34*641d0767SEvan Bacon <View> 35*641d0767SEvan Bacon <div /> 36*641d0767SEvan Bacon </View> 37*641d0767SEvan Bacon ); 38*641d0767SEvan Bacon if (Platform.OS === 'web') { 39*641d0767SEvan Bacon // Ensure no errors 40*641d0767SEvan Bacon expect(() => renderer.create(instance)).not.toThrowError(); 41*641d0767SEvan Bacon } else { 42*641d0767SEvan Bacon expect(() => renderer.create(instance)).toThrowError(/Using unsupported React DOM element/); 43*641d0767SEvan Bacon } 44*641d0767SEvan Bacon}); 45*641d0767SEvan Bacon 46*641d0767SEvan Baconit(`warns about unwrapped strings`, () => { 47*641d0767SEvan Bacon // Ensure no errors 48*641d0767SEvan Bacon expect(renderer.create(<View>Hey</View>).toJSON()).toMatchSnapshot(); 49*641d0767SEvan Bacon 50*641d0767SEvan Bacon expect(console.warn).toHaveBeenCalledTimes(1); 51*641d0767SEvan Bacon}); 52