File tree Expand file tree Collapse file tree 2 files changed +343
-0
lines changed
src/Standards/Squiz/Tests/ControlStructures Expand file tree Collapse file tree 2 files changed +343
-0
lines changed Original file line number Diff line number Diff line change @@ -1622,6 +1622,7 @@ http://pear.php.net/dtd/package-2.0.xsd">
1622
1622
<file baseinstalldir="PHP/CodeSniffer" name="LowercaseDeclarationUnitTest.inc.fixed" role="test" />
1623
1623
<file baseinstalldir="PHP/CodeSniffer" name="LowercaseDeclarationUnitTest.php" role="test" />
1624
1624
<file baseinstalldir="PHP/CodeSniffer" name="SwitchDeclarationUnitTest.inc" role="test" />
1625
+ <file baseinstalldir="PHP/CodeSniffer" name="SwitchDeclarationUnitTest.inc.fixed" role="test" />
1625
1626
<file baseinstalldir="PHP/CodeSniffer" name="SwitchDeclarationUnitTest.js" role="test" />
1626
1627
<file baseinstalldir="PHP/CodeSniffer" name="SwitchDeclarationUnitTest.php" role="test" />
1627
1628
</dir>
Original file line number Diff line number Diff line change
1
+ <?php
2
+
3
+ // Valid SWITCH statement.
4
+ switch ($something) {
5
+ case '1':
6
+ $case = '1';
7
+ break;
8
+
9
+ case '2':
10
+ case '3':
11
+ $case = '5';
12
+ break;
13
+
14
+ case '4':
15
+ $case = '4';
16
+ break;
17
+
18
+ default:
19
+ $case = null;
20
+ break;
21
+ }
22
+
23
+ // Alignment wrong.
24
+ switch ($something) {
25
+ case '1':
26
+ $case = '1';
27
+ return '1';
28
+
29
+ case '2':
30
+ case '3':
31
+ $case = '5';
32
+ break;
33
+
34
+ case '4':
35
+ $case = '4';
36
+ break;
37
+
38
+ default:
39
+ $case = null;
40
+ break;
41
+ }
42
+
43
+ // Closing brace wrong.
44
+ switch ($something) {
45
+ case '1':
46
+ $case = '1';
47
+ break;
48
+ }
49
+
50
+ // PEAR style.
51
+ switch ($something) {
52
+ case '1':
53
+ $case = '1';
54
+ break;
55
+
56
+ case '2':
57
+ case '3':
58
+ $case = '5';
59
+ break;
60
+
61
+ case '4':
62
+ $case = '4';
63
+ break;
64
+
65
+ default:
66
+ $case = null;
67
+ break;
68
+ }
69
+
70
+ // Valid, but missing BREAKS.
71
+ switch ($something) {
72
+ case '1':
73
+ $case = '1';
74
+
75
+ case '2':
76
+ case '3':
77
+ $case = '5';
78
+
79
+ case '4':
80
+ $case = '4';
81
+
82
+ default:
83
+ $case = null;
84
+ }
85
+
86
+ // Invalid, and missing BREAKS.
87
+ switch ($something) {
88
+ case '1':
89
+ $case = '1';
90
+
91
+ case '2':
92
+ case '3':
93
+ $case = '5';
94
+
95
+ case '4':
96
+ $case = '4';
97
+
98
+ default:
99
+ $case = null;
100
+ $something = 'hello';
101
+ $other = 'hi';
102
+ }
103
+
104
+ // Valid
105
+ switch ($condition) {
106
+ case 'string':
107
+ $varStr = 'test';
108
+
109
+ default:
110
+ // Ignore the default.
111
+ break;
112
+ }
113
+
114
+ // No default comment
115
+ switch ($condition) {
116
+ case 'string':
117
+ $varStr = 'test';
118
+
119
+ default:
120
+ break;
121
+ }
122
+
123
+ // Break problems
124
+ switch ($condition) {
125
+ case 'string':
126
+
127
+
128
+ $varStr = 'test';
129
+
130
+ break;
131
+
132
+ case 'bool':
133
+ $varStr = 'test';
134
+
135
+
136
+ break;
137
+
138
+ default:
139
+
140
+ $varStr = 'test';
141
+ break;
142
+
143
+ }
144
+
145
+ switch ($var) {
146
+ case 'one':
147
+ case 'two':
148
+ break;
149
+
150
+ case 'three':
151
+ // Nothing to do.
152
+ break;
153
+
154
+ case 'four':
155
+ echo $hi;
156
+ break;
157
+
158
+ default:
159
+ // No default.
160
+ break;
161
+ }
162
+
163
+ switch ($var) {
164
+ case 'one':
165
+ if ($blah) {
166
+ }
167
+
168
+ break;
169
+
170
+ default:
171
+ // No default.
172
+ break;
173
+ }
174
+
175
+ switch ($name) {
176
+ case "1":
177
+ switch ($name2) {
178
+ case "1":
179
+ return true;
180
+
181
+ break;
182
+
183
+ case "2":
184
+ return true;
185
+
186
+ break;
187
+
188
+ default:
189
+ // No default.
190
+ break;
191
+ }
192
+ break;
193
+
194
+ case "2":
195
+ switch ($name2) {
196
+ case "1":
197
+ return true;
198
+
199
+ break;
200
+
201
+ case "2":
202
+ return true;
203
+
204
+ break;
205
+
206
+ default:
207
+ // No default.
208
+ break;
209
+ }
210
+ break;
211
+ }
212
+
213
+ switch ($name) {
214
+ case "1":
215
+ switch ($name2) {
216
+ case "1":
217
+ return true;
218
+
219
+ default:
220
+ // No default.
221
+ break;
222
+ }
223
+ break;
224
+
225
+ default:
226
+ // No default.
227
+ break;
228
+ }
229
+
230
+ switch ($name2) {
231
+ default:
232
+ // No default.
233
+ break;
234
+ }
235
+
236
+ switch ($foo) {
237
+ case "1":
238
+ return true;
239
+
240
+ default:
241
+ if ($foo === FALSE) {
242
+ break(2);
243
+ }
244
+ break;
245
+ }
246
+
247
+ // Valid SWITCH statement.
248
+ switch ($something) {
249
+ case '1';
250
+ $case = '1';
251
+ return '1';
252
+
253
+ case '2';
254
+ case '3';
255
+ $case = '5';
256
+ return '2';
257
+
258
+ case '4';
259
+ $case = '4';
260
+ return '3';
261
+
262
+ default;
263
+ $case = null;
264
+ return '4';
265
+ }
266
+
267
+ switch ($something) {
268
+ case '1':
269
+ $case = '1';
270
+ break;
271
+
272
+ case '2':
273
+ throw new Exception('message');
274
+
275
+ default:
276
+ throw new Exception('message');
277
+ }
278
+
279
+ switch ($something) {
280
+ case '1';
281
+ echo 'one';
282
+ break;
283
+
284
+ default:
285
+ echo 'default';
286
+ exit;
287
+ }
288
+
289
+ switch ($foo) {
290
+ case '1':
291
+ return;
292
+
293
+ // comment
294
+ break;
295
+
296
+ }
297
+
298
+ // Correct Multi line breaking statement with return.
299
+ switch ($foo) {
300
+ case 1:
301
+ return array(
302
+ 'whiz',
303
+ 'bang',
304
+ );
305
+
306
+ case 2:
307
+ return helper_func(
308
+ 'whiz',
309
+ 'bang'
310
+ );
311
+
312
+ default:
313
+ throw new Exception();
314
+ }
315
+
316
+ switch ($foo) {
317
+ case 'bar':
318
+ throw new \Exception(
319
+ 'bar'
320
+ );
321
+
322
+ default:
323
+ throw new \Exception(
324
+ 'bar'
325
+ );
326
+ }
327
+
328
+ $foo = $foo ?
329
+ function () {
330
+ switch ($a) {
331
+ case 'a':
332
+ break;
333
+
334
+ case (preg_match('/foo/i', $foo) ? $a : $b):
335
+ echo 'really?'
336
+ break;
337
+
338
+ default:
339
+ break;
340
+ }
341
+ } :
342
+ null;
You can’t perform that action at this time.
0 commit comments