Skip to content

Commit

Permalink
First snapshot test, rendering "native" React component.
Browse files Browse the repository at this point in the history
Reviewed By: frantic

Differential Revision: D3449781

fbshipit-source-id: 7abf9280f98cee06d04d7e222b884de1744afb8d
  • Loading branch information
cpojer authored and Facebook Github Bot 6 committed Jun 30, 2016
1 parent 52d5450 commit 7c53add
Show file tree
Hide file tree
Showing 6 changed files with 144 additions and 2 deletions.
Original file line number Diff line number Diff line change
@@ -1,5 +1,11 @@
/**
* Copyright 2004-present Facebook. All Rights Reserved.
* Copyright (c) 2013-present, Facebook, Inc.
* All rights reserved.
*
* This source code is licensed under the BSD-style license found in the
* LICENSE file in the root directory of this source tree. An additional grant
* of patent rights can be found in the PATENTS file in the same directory.
*
*/
'use strict';

Expand Down Expand Up @@ -27,7 +33,14 @@ var NativeModules = {
UIManager: {
customBubblingEventTypes: {},
customDirectEventTypes: {},
Dimensions: {},
Dimensions: {
window: {
width: 750,
height: 1334,
scale: 2,
fontScale: 2,
}
},
RCTModalFullscreenView: {
Constants: {},
},
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,32 @@
/**
* Copyright (c) 2015-present, Facebook, Inc.
* All rights reserved.
*
* This source code is licensed under the BSD-style license found in the
* LICENSE file in the root directory of this source tree. An additional grant
* of patent rights can be found in the PATENTS file in the same directory.
*/

jest.disableAutomock();

jest.mock('NativeModules')
.mock('Text')
.mock('ensureComponentIsNative')
.mock('View');

const React = require('React');
const ReactTestRenderer = require('ReactTestRenderer');
const Text = require('Text');
const TouchableHighlight = require('TouchableHighlight');

describe('TouchableHighlight', () => {
it('renders correctly', () => {
const instance = ReactTestRenderer.create(
<TouchableHighlight style={{}}>
<Text>Touchable</Text>
</TouchableHighlight>
);

expect(instance.toJSON()).toMatchSnapshot();
});
});
Original file line number Diff line number Diff line change
@@ -0,0 +1,26 @@
exports[`TouchableHighlight renders correctly 0`] = `
<View
accessible={true}
accessibilityLabel={undefined}
accessibilityComponentType={undefined}
accessibilityTraits={undefined}
style={
Array [
4,
Object {}
]
}
onLayout={undefined}
hitSlop={undefined}
onStartShouldSetResponder={[Function bound touchableHandleStartShouldSetResponder]}
onResponderTerminationRequest={[Function bound touchableHandleResponderTerminationRequest]}
onResponderGrant={[Function bound touchableHandleResponderGrant]}
onResponderMove={[Function bound touchableHandleResponderMove]}
onResponderRelease={[Function bound touchableHandleResponderRelease]}
onResponderTerminate={[Function bound touchableHandleResponderTerminate]}
testID={undefined}>
<Text>
Touchable
</Text>
</View>
`;
27 changes: 27 additions & 0 deletions Libraries/Components/View/__mocks__/View.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,27 @@
/**
* Copyright (c) 2015-present, Facebook, Inc.
* All rights reserved.
*
* This source code is licensed under the BSD-style license found in the
* LICENSE file in the root directory of this source tree. An additional grant
* of patent rights can be found in the PATENTS file in the same directory.
*
*/
'use strict';

const React = require('React');
const StyleSheetPropType = require('StyleSheetPropType');
const ViewStylePropTypes = require('ViewStylePropTypes');

class View extends React.Component {
render() {
const {children, ...props} = this.props;
return React.createElement('View', props, children);
}
}

View.propTypes = {
style: StyleSheetPropType(ViewStylePropTypes),
};

module.exports = View;
22 changes: 22 additions & 0 deletions Libraries/Image/__mocks__/Image.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,22 @@
/**
* Copyright (c) 2015-present, Facebook, Inc.
* All rights reserved.
*
* This source code is licensed under the BSD-style license found in the
* LICENSE file in the root directory of this source tree. An additional grant
* of patent rights can be found in the PATENTS file in the same directory.
*
*/
'use strict';

const React = require('React');
const {Component} = React;

class Image extends Component {
render() {
const {children, ...props} = this.props;
return React.createElement('Image', props, children);
}
}

module.exports = Image;
22 changes: 22 additions & 0 deletions Libraries/Text/__mocks__/Text.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,22 @@
/**
* Copyright (c) 2015-present, Facebook, Inc.
* All rights reserved.
*
* This source code is licensed under the BSD-style license found in the
* LICENSE file in the root directory of this source tree. An additional grant
* of patent rights can be found in the PATENTS file in the same directory.
*
*/
'use strict';

const React = require('React');
const {Component} = React;

class Text extends Component {
render() {
const {children, ...props} = this.props;
return React.createElement('Text', props, children);
}
}

module.exports = Text;

0 comments on commit 7c53add

Please sign in to comment.