@@ -67,43 +67,48 @@ ruleTester.run('jsx-no-useless-fragment', rule, {
67
67
{
68
68
code : '<>{foos.map(foo => foo)}</>' ,
69
69
parser : parsers . BABEL_ESLINT
70
+ } ,
71
+ {
72
+ code : '<>{moo}</>' ,
73
+ parser : parsers . BABEL_ESLINT ,
74
+ options : [ { allowExpressions : true } ]
70
75
}
71
76
] ,
72
77
invalid : [
73
78
{
74
79
code : '<></>' ,
75
80
output : null ,
76
- errors : [ { messageId : 'NeedsMoreChidren ' , type : 'JSXFragment' } ] ,
81
+ errors : [ { messageId : 'NeedsMoreChildren ' , type : 'JSXFragment' } ] ,
77
82
parser : parsers . BABEL_ESLINT
78
83
} ,
79
84
{
80
85
code : '<>{}</>' ,
81
86
output : null ,
82
- errors : [ { messageId : 'NeedsMoreChidren ' , type : 'JSXFragment' } ] ,
87
+ errors : [ { messageId : 'NeedsMoreChildren ' , type : 'JSXFragment' } ] ,
83
88
parser : parsers . BABEL_ESLINT
84
89
} ,
85
90
{
86
91
code : '<p>moo<>foo</></p>' ,
87
92
output : '<p>moofoo</p>' ,
88
- errors : [ { messageId : 'NeedsMoreChidren ' } , { messageId : 'ChildOfHtmlElement' } ] ,
93
+ errors : [ { messageId : 'NeedsMoreChildren ' } , { messageId : 'ChildOfHtmlElement' } ] ,
89
94
parser : parsers . BABEL_ESLINT
90
95
} ,
91
96
{
92
97
code : '<>{meow}</>' ,
93
98
output : null ,
94
- errors : [ { messageId : 'NeedsMoreChidren ' } ] ,
99
+ errors : [ { messageId : 'NeedsMoreChildren ' } ] ,
95
100
parser : parsers . BABEL_ESLINT
96
101
} ,
97
102
{
98
103
code : '<p><>{meow}</></p>' ,
99
104
output : '<p>{meow}</p>' ,
100
- errors : [ { messageId : 'NeedsMoreChidren ' } , { messageId : 'ChildOfHtmlElement' } ] ,
105
+ errors : [ { messageId : 'NeedsMoreChildren ' } , { messageId : 'ChildOfHtmlElement' } ] ,
101
106
parser : parsers . BABEL_ESLINT
102
107
} ,
103
108
{
104
109
code : '<><div/></>' ,
105
110
output : '<div/>' ,
106
- errors : [ { messageId : 'NeedsMoreChidren ' } ] ,
111
+ errors : [ { messageId : 'NeedsMoreChildren ' } ] ,
107
112
parser : parsers . BABEL_ESLINT
108
113
} ,
109
114
{
@@ -115,12 +120,12 @@ ruleTester.run('jsx-no-useless-fragment', rule, {
115
120
output : `
116
121
<div/>
117
122
` ,
118
- errors : [ { messageId : 'NeedsMoreChidren ' } ] ,
123
+ errors : [ { messageId : 'NeedsMoreChildren ' } ] ,
119
124
parser : parsers . BABEL_ESLINT
120
125
} ,
121
126
{
122
127
code : '<Fragment />' ,
123
- errors : [ { messageId : 'NeedsMoreChidren ' } ]
128
+ errors : [ { messageId : 'NeedsMoreChildren ' } ]
124
129
} ,
125
130
{
126
131
code : `
@@ -131,7 +136,7 @@ ruleTester.run('jsx-no-useless-fragment', rule, {
131
136
output : `
132
137
<Foo />
133
138
` ,
134
- errors : [ { messageId : 'NeedsMoreChidren ' } ]
139
+ errors : [ { messageId : 'NeedsMoreChildren ' } ]
135
140
} ,
136
141
{
137
142
code : `
@@ -145,19 +150,19 @@ ruleTester.run('jsx-no-useless-fragment', rule, {
145
150
fragment : 'SomeFragment'
146
151
}
147
152
} ,
148
- errors : [ { messageId : 'NeedsMoreChidren ' } ]
153
+ errors : [ { messageId : 'NeedsMoreChildren ' } ]
149
154
} ,
150
155
{
151
156
// Not safe to fix this case because `Eeee` might require child be ReactElement
152
157
code : '<Eeee><>foo</></Eeee>' ,
153
158
output : null ,
154
- errors : [ { messageId : 'NeedsMoreChidren ' } ] ,
159
+ errors : [ { messageId : 'NeedsMoreChildren ' } ] ,
155
160
parser : parsers . BABEL_ESLINT
156
161
} ,
157
162
{
158
163
code : '<div><>foo</></div>' ,
159
164
output : '<div>foo</div>' ,
160
- errors : [ { messageId : 'NeedsMoreChidren ' } , { messageId : 'ChildOfHtmlElement' } ] ,
165
+ errors : [ { messageId : 'NeedsMoreChildren ' } , { messageId : 'ChildOfHtmlElement' } ] ,
161
166
parser : parsers . BABEL_ESLINT
162
167
} ,
163
168
{
@@ -227,7 +232,15 @@ ruleTester.run('jsx-no-useless-fragment', rule, {
227
232
</html>
228
233
);
229
234
` ,
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
231
244
}
232
245
]
233
246
} ) ;
0 commit comments