File tree Expand file tree Collapse file tree 2 files changed +29
-11
lines changed Expand file tree Collapse file tree 2 files changed +29
-11
lines changed Original file line number Diff line number Diff line change @@ -103,10 +103,12 @@ function _renderToStringPretty(
103
103
// components
104
104
if ( typeof nodeName === 'function' ) {
105
105
isComponent = true ;
106
- if ( opts . shallow && ( inner || opts . renderRootComponent === false ) ) {
107
- nodeName = getComponentName ( nodeName ) ;
108
- } else if ( nodeName === Fragment ) {
109
- const children = [ ] ;
106
+
107
+ let isFragment = nodeName === Fragment ,
108
+ isShallow = opts . shallow && ( inner || opts . renderRootComponent === false ) ;
109
+
110
+ if ( isFragment || ( isShallow && isFragment ) ) {
111
+ let children = [ ] ;
110
112
getChildren ( children , vnode . props . children ) ;
111
113
return _renderToStringPretty (
112
114
children ,
@@ -116,6 +118,8 @@ function _renderToStringPretty(
116
118
isSvgMode ,
117
119
selectValue
118
120
) ;
121
+ } else if ( isShallow ) {
122
+ nodeName = getComponentName ( nodeName ) ;
119
123
} else {
120
124
let rendered ;
121
125
Original file line number Diff line number Diff line change @@ -52,12 +52,26 @@ describe('shallowRender()', () => {
52
52
expect ( Test ) . to . have . been . calledOnce ;
53
53
} ) ;
54
54
55
- it ( 'should ignore Fragments' , ( ) => {
56
- let rendered = shallowRender (
57
- < Fragment >
58
- < div > foo</ div >
59
- </ Fragment >
60
- ) ;
61
- expect ( rendered ) . to . equal ( `<div>foo</div>` ) ;
55
+ describe ( 'should ignore Fragments' , ( ) => {
56
+ it ( 'passed directly' , ( ) => {
57
+ let rendered = shallowRender (
58
+ < Fragment >
59
+ < div > foo</ div >
60
+ </ Fragment >
61
+ ) ;
62
+ expect ( rendered ) . to . equal ( `<div>foo</div>` ) ;
63
+ } ) ;
64
+
65
+ it ( 'passed from FC' , ( ) => {
66
+ const Test = ( ) => (
67
+ < Fragment >
68
+ < div > foo</ div >
69
+ </ Fragment >
70
+ ) ;
71
+
72
+ let rendered = shallowRender ( < Test /> ) ;
73
+
74
+ expect ( rendered ) . to . equal ( `<div>foo</div>` ) ;
75
+ } ) ;
62
76
} ) ;
63
77
} ) ;
You can’t perform that action at this time.
0 commit comments