@@ -67,43 +67,48 @@ ruleTester.run('jsx-no-useless-fragment', rule, {
6767 {
6868 code : '<>{foos.map(foo => foo)}</>' ,
6969 parser : parsers . BABEL_ESLINT
70+ } ,
71+ {
72+ code : '<>{moo}</>' ,
73+ parser : parsers . BABEL_ESLINT ,
74+ options : [ { allowExpressions : true } ]
7075 }
7176 ] ,
7277 invalid : [
7378 {
7479 code : '<></>' ,
7580 output : null ,
76- errors : [ { messageId : 'NeedsMoreChidren ' , type : 'JSXFragment' } ] ,
81+ errors : [ { messageId : 'NeedsMoreChildren ' , type : 'JSXFragment' } ] ,
7782 parser : parsers . BABEL_ESLINT
7883 } ,
7984 {
8085 code : '<>{}</>' ,
8186 output : null ,
82- errors : [ { messageId : 'NeedsMoreChidren ' , type : 'JSXFragment' } ] ,
87+ errors : [ { messageId : 'NeedsMoreChildren ' , type : 'JSXFragment' } ] ,
8388 parser : parsers . BABEL_ESLINT
8489 } ,
8590 {
8691 code : '<p>moo<>foo</></p>' ,
8792 output : '<p>moofoo</p>' ,
88- errors : [ { messageId : 'NeedsMoreChidren ' } , { messageId : 'ChildOfHtmlElement' } ] ,
93+ errors : [ { messageId : 'NeedsMoreChildren ' } , { messageId : 'ChildOfHtmlElement' } ] ,
8994 parser : parsers . BABEL_ESLINT
9095 } ,
9196 {
9297 code : '<>{meow}</>' ,
9398 output : null ,
94- errors : [ { messageId : 'NeedsMoreChidren ' } ] ,
99+ errors : [ { messageId : 'NeedsMoreChildren ' } ] ,
95100 parser : parsers . BABEL_ESLINT
96101 } ,
97102 {
98103 code : '<p><>{meow}</></p>' ,
99104 output : '<p>{meow}</p>' ,
100- errors : [ { messageId : 'NeedsMoreChidren ' } , { messageId : 'ChildOfHtmlElement' } ] ,
105+ errors : [ { messageId : 'NeedsMoreChildren ' } , { messageId : 'ChildOfHtmlElement' } ] ,
101106 parser : parsers . BABEL_ESLINT
102107 } ,
103108 {
104109 code : '<><div/></>' ,
105110 output : '<div/>' ,
106- errors : [ { messageId : 'NeedsMoreChidren ' } ] ,
111+ errors : [ { messageId : 'NeedsMoreChildren ' } ] ,
107112 parser : parsers . BABEL_ESLINT
108113 } ,
109114 {
@@ -115,12 +120,12 @@ ruleTester.run('jsx-no-useless-fragment', rule, {
115120 output : `
116121 <div/>
117122 ` ,
118- errors : [ { messageId : 'NeedsMoreChidren ' } ] ,
123+ errors : [ { messageId : 'NeedsMoreChildren ' } ] ,
119124 parser : parsers . BABEL_ESLINT
120125 } ,
121126 {
122127 code : '<Fragment />' ,
123- errors : [ { messageId : 'NeedsMoreChidren ' } ]
128+ errors : [ { messageId : 'NeedsMoreChildren ' } ]
124129 } ,
125130 {
126131 code : `
@@ -131,7 +136,7 @@ ruleTester.run('jsx-no-useless-fragment', rule, {
131136 output : `
132137 <Foo />
133138 ` ,
134- errors : [ { messageId : 'NeedsMoreChidren ' } ]
139+ errors : [ { messageId : 'NeedsMoreChildren ' } ]
135140 } ,
136141 {
137142 code : `
@@ -145,19 +150,19 @@ ruleTester.run('jsx-no-useless-fragment', rule, {
145150 fragment : 'SomeFragment'
146151 }
147152 } ,
148- errors : [ { messageId : 'NeedsMoreChidren ' } ]
153+ errors : [ { messageId : 'NeedsMoreChildren ' } ]
149154 } ,
150155 {
151156 // Not safe to fix this case because `Eeee` might require child be ReactElement
152157 code : '<Eeee><>foo</></Eeee>' ,
153158 output : null ,
154- errors : [ { messageId : 'NeedsMoreChidren ' } ] ,
159+ errors : [ { messageId : 'NeedsMoreChildren ' } ] ,
155160 parser : parsers . BABEL_ESLINT
156161 } ,
157162 {
158163 code : '<div><>foo</></div>' ,
159164 output : '<div>foo</div>' ,
160- errors : [ { messageId : 'NeedsMoreChidren ' } , { messageId : 'ChildOfHtmlElement' } ] ,
165+ errors : [ { messageId : 'NeedsMoreChildren ' } , { messageId : 'ChildOfHtmlElement' } ] ,
161166 parser : parsers . BABEL_ESLINT
162167 } ,
163168 {
@@ -227,7 +232,15 @@ ruleTester.run('jsx-no-useless-fragment', rule, {
227232 </html>
228233 );
229234 ` ,
230- errors : [ { messageId : 'NeedsMoreChidren' } , { messageId : 'ChildOfHtmlElement' } ]
235+ errors : [ { messageId : 'NeedsMoreChildren' } , { messageId : 'ChildOfHtmlElement' } ]
236+ } ,
237+ // Ensure allowExpressions still catches expected violations
238+ {
239+ code : '<><Foo>{moo}</Foo></>' ,
240+ options : [ { allowExpressions : true } ] ,
241+ errors : [ { messageId : 'NeedsMoreChildren' } ] ,
242+ output : '<Foo>{moo}</Foo>' ,
243+ parser : parsers . BABEL_ESLINT
231244 }
232245 ]
233246} ) ;
0 commit comments