@@ -52,84 +52,92 @@ const RETURN_NO_PAREN = `
52
52
});
53
53
` ;
54
54
55
- const DECLARATION_TERNARY_SINGLE_LINE = 'var hello = foo ? <p>Hello</p> : <p>Hi </p>;' ;
55
+ const DECLARATION_SINGLE_LINE = 'var hello = <p>Hello</p>;' ;
56
56
57
- const DECLARATION_TERNARY_PAREN = `
58
- var hello = foo ? (<div>
57
+ const DECLARATION_PAREN = `
58
+ var hello = (<div>
59
59
<p>Hello</p>
60
- </div>) : (<div>
61
- <p>Hi</p>
62
60
</div>);
63
61
` ;
64
62
65
- const DECLARATION_TERNARY_NO_PAREN = `
66
- var hello = foo ? <div>
63
+ const DECLARATION_NO_PAREN = `
64
+ var hello = <div>
67
65
<p>Hello</p>
68
- </div> : <div>
69
- <p>Hi</p>
70
66
</div>;
71
67
` ;
72
68
73
- const ASSIGNMENT_TERNARY_SINGLE_LINE = 'var hello; hello = foo ? <p>Hello</p> : <p>Hi </p>;' ;
69
+ const ASSIGNMENT_SINGLE_LINE = 'var hello; hello = <p>Hello</p>;' ;
74
70
75
- const ASSIGNMENT_TERNARY_PAREN = `
71
+ const ASSIGNMENT_PAREN = `
76
72
var hello;
77
- hello = foo ? (<div>
73
+ hello = (<div>
78
74
<p>Hello</p>
79
- </div>) : (<div>
80
- <p>Hi</p>
81
75
</div>);
82
76
` ;
83
77
84
- const ASSIGNMENT_TERNARY_NO_PAREN = `
78
+ const ASSIGNMENT_NO_PAREN = `
85
79
var hello;
86
- hello = foo ? <div>
80
+ hello = <div>
87
81
<p>Hello</p>
88
- </div> : <div>
89
- <p>Hi</p>
90
82
</div>;
91
83
` ;
92
84
93
- const DECLARATION_SINGLE_LINE = 'var hello = <p>Hello</p>;' ;
85
+ const ARROW_SINGLE_LINE = 'var hello = () => <p>Hello</p>;' ;
94
86
95
- const DECLARATION_PAREN = `
96
- var hello = (<div>
87
+ const ARROW_PAREN = `
88
+ var hello = () => ( <div>
97
89
<p>Hello</p>
98
90
</div>);
99
91
` ;
100
92
101
- const DECLARATION_NO_PAREN = `
102
- var hello = <div>
93
+ const ARROW_NO_PAREN = `
94
+ var hello = () => <div>
103
95
<p>Hello</p>
104
96
</div>;
105
97
` ;
106
98
107
- const ASSIGNMENT_SINGLE_LINE = 'var hello; hello = <p>Hello</p>;' ;
99
+ const CONDITION_SINGLE_LINE = 'foo ? <p>Hello</p> : null ;' ;
108
100
109
- const ASSIGNMENT_PAREN = `
110
- var hello;
111
- hello = (<div>
101
+ const CONDITION_PAREN = `
102
+ foo ? (<div>
103
+ <p>Hello</p>
104
+ </div>) : null;
105
+ ` ;
106
+
107
+ const CONDITION_NO_PAREN = `
108
+ foo ? <div>
109
+ <p>Hello</p>
110
+ </div> : null;
111
+ ` ;
112
+
113
+ const LOGICAL_SINGLE_LINE = 'foo && <p>Hello</p>;' ;
114
+
115
+ const LOGICAL_PAREN = `
116
+ foo && (<div>
112
117
<p>Hello</p>
113
118
</div>);
114
119
` ;
115
120
116
- const ASSIGNMENT_NO_PAREN = `
117
- var hello;
118
- hello = <div>
121
+ const LOGICAL_NO_PAREN = `
122
+ foo && <div>
119
123
<p>Hello</p>
120
124
</div>;
121
125
` ;
122
126
123
- const ARROW_SINGLE_LINE = 'var hello = () => <p>Hello</p>; ' ;
127
+ const ATTR_SINGLE_LINE = '<div attr={ <p>Hello</p>}></div> ' ;
124
128
125
- const ARROW_PAREN = `
126
- var hello = () => (<div>
129
+ const ATTR_PAREN = `
130
+ <div attr={(<div>
131
+ <p>Hello</p>
132
+ </div>)}>
127
133
<p>Hello</p>
128
- </div>) ;
134
+ </div>;
129
135
` ;
130
136
131
- const ARROW_NO_PAREN = `
132
- var hello = () => <div>
137
+ const ATTR_NO_PAREN = `
138
+ <div attr={<div>
139
+ <p>Hello</p>
140
+ </div>}>
133
141
<p>Hello</p>
134
142
</div>;
135
143
` ;
@@ -149,20 +157,6 @@ ruleTester.run('jsx-wrap-multilines', rule, {
149
157
} , {
150
158
code : RETURN_NO_PAREN ,
151
159
options : [ { return : false } ]
152
- } , {
153
- code : DECLARATION_TERNARY_SINGLE_LINE
154
- } , {
155
- code : DECLARATION_TERNARY_PAREN
156
- } , {
157
- code : DECLARATION_TERNARY_NO_PAREN ,
158
- options : [ { declaration : false } ]
159
- } , {
160
- code : ASSIGNMENT_TERNARY_SINGLE_LINE
161
- } , {
162
- code : ASSIGNMENT_TERNARY_PAREN
163
- } , {
164
- code : ASSIGNMENT_TERNARY_NO_PAREN ,
165
- options : [ { assignment : false } ]
166
160
} , {
167
161
code : DECLARATION_SINGLE_LINE
168
162
} , {
@@ -187,6 +181,27 @@ ruleTester.run('jsx-wrap-multilines', rule, {
187
181
} , {
188
182
code : ARROW_NO_PAREN ,
189
183
options : [ { arrow : false } ]
184
+ } , {
185
+ code : CONDITION_SINGLE_LINE
186
+ } , {
187
+ code : CONDITION_NO_PAREN
188
+ } , {
189
+ code : CONDITION_PAREN ,
190
+ options : [ { condition : true } ]
191
+ } , {
192
+ code : LOGICAL_SINGLE_LINE
193
+ } , {
194
+ code : LOGICAL_NO_PAREN
195
+ } , {
196
+ code : LOGICAL_PAREN ,
197
+ options : [ { logical : true } ]
198
+ } , {
199
+ code : ATTR_SINGLE_LINE
200
+ } , {
201
+ code : ATTR_NO_PAREN
202
+ } , {
203
+ code : ATTR_PAREN ,
204
+ options : [ { attr : true } ]
190
205
}
191
206
] ,
192
207
@@ -200,20 +215,6 @@ ruleTester.run('jsx-wrap-multilines', rule, {
200
215
output : RETURN_PAREN ,
201
216
options : [ { return : true } ] ,
202
217
errors : [ { message : 'Missing parentheses around multilines JSX' } ]
203
- } , {
204
- code : DECLARATION_TERNARY_NO_PAREN ,
205
- output : DECLARATION_TERNARY_PAREN ,
206
- errors : [
207
- { message : 'Missing parentheses around multilines JSX' } ,
208
- { message : 'Missing parentheses around multilines JSX' }
209
- ]
210
- } , {
211
- code : ASSIGNMENT_TERNARY_NO_PAREN ,
212
- output : ASSIGNMENT_TERNARY_PAREN ,
213
- errors : [
214
- { message : 'Missing parentheses around multilines JSX' } ,
215
- { message : 'Missing parentheses around multilines JSX' }
216
- ]
217
218
} , {
218
219
code : DECLARATION_NO_PAREN ,
219
220
output : DECLARATION_PAREN ,
@@ -237,6 +238,21 @@ ruleTester.run('jsx-wrap-multilines', rule, {
237
238
output : ARROW_PAREN ,
238
239
options : [ { arrow : true } ] ,
239
240
errors : [ { message : 'Missing parentheses around multilines JSX' } ]
241
+ } , {
242
+ code : CONDITION_NO_PAREN ,
243
+ output : CONDITION_PAREN ,
244
+ options : [ { condition : true } ] ,
245
+ errors : [ { message : 'Missing parentheses around multilines JSX' } ]
246
+ } , {
247
+ code : LOGICAL_NO_PAREN ,
248
+ output : LOGICAL_PAREN ,
249
+ options : [ { logical : true } ] ,
250
+ errors : [ { message : 'Missing parentheses around multilines JSX' } ]
251
+ } , {
252
+ code : ATTR_NO_PAREN ,
253
+ output : ATTR_PAREN ,
254
+ options : [ { attr : true } ] ,
255
+ errors : [ { message : 'Missing parentheses around multilines JSX' } ]
240
256
}
241
257
]
242
258
} ) ;
0 commit comments