Add tests that ShallowRenderer supports string and fragment (#10241)
Toru Kobayashi committed
Aug 1, 2017 at 08:39 UTC
56cd54f0ad1b6505469daa4b262a8ab4069cc78b
1 file changed
+36
src/renderers/dom/test/__tests__/ReactTestUtils-test.js
+36
@@ -161,6 +161,42 @@ describe('ReactTestUtils', () => {
161
]);
162
});
163
164
+ it('should shallow render a component returning strings directly from render', () => {
165
+ const Text = ({value}) => value;
166
+
167
+ const shallowRenderer = createRenderer();
168
+ const result = shallowRenderer.render(<Text value="foo" />);
169
+ expect(result).toEqual('foo');
170
+ });
171
+
172
+ it('should shallow render a component returning numbers directly from render', () => {
173
+ const Text = ({value}) => value;
174
+
175
+ const shallowRenderer = createRenderer();
176
+ const result = shallowRenderer.render(<Text value={10} />);
177
+ expect(result).toEqual(10);
178
+ });
179
+
180
+ it('should shallow render a fragment', () => {
181
+ class SomeComponent extends React.Component {
182
+ render() {
183
+ return <div />;
184
+ }
185
+ }
186
+ class Fragment extends React.Component {
187
+ render() {
188
+ return [<div key="a" />, <span key="b" />, <SomeComponent />];
189
+ }
190
+ }
191
+ const shallowRenderer = createRenderer();
192
+ const result = shallowRenderer.render(<Fragment />);
193
+ expect(result).toEqual([
194
+ <div key="a" />,
195
+ <span key="b" />,
196
+ <SomeComponent />,
197
+ ]);
198
+ });
199
+
200
it('should throw for invalid elements', () => {
201
class SomeComponent extends React.Component {
202
render() {