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">
16221622 <file baseinstalldir="PHP/CodeSniffer" name="LowercaseDeclarationUnitTest.inc.fixed" role="test" />
16231623 <file baseinstalldir="PHP/CodeSniffer" name="LowercaseDeclarationUnitTest.php" role="test" />
16241624 <file baseinstalldir="PHP/CodeSniffer" name="SwitchDeclarationUnitTest.inc" role="test" />
1625+ <file baseinstalldir="PHP/CodeSniffer" name="SwitchDeclarationUnitTest.inc.fixed" role="test" />
16251626 <file baseinstalldir="PHP/CodeSniffer" name="SwitchDeclarationUnitTest.js" role="test" />
16261627 <file baseinstalldir="PHP/CodeSniffer" name="SwitchDeclarationUnitTest.php" role="test" />
16271628 </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