Skip to content

Commit 9d19c22

Browse files
committed
Add moar tests
1 parent fbe4786 commit 9d19c22

File tree

1 file changed

+88
-0
lines changed

1 file changed

+88
-0
lines changed

tests/PHPStan/Analyser/StatementResultTest.php

Lines changed: 88 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -173,6 +173,50 @@ public function dataIsAlwaysTerminating(): array
173173
'while (true) { break; }',
174174
false,
175175
],
176+
[
177+
'while (true) { exit; }',
178+
true,
179+
],
180+
[
181+
'while (true) { while (true) { } }',
182+
true,
183+
],
184+
[
185+
'while (true) { while (true) { return; } }',
186+
true,
187+
],
188+
[
189+
'while (true) { while (true) { break; } }',
190+
true,
191+
],
192+
[
193+
'while (true) { while (true) { exit; } }',
194+
true,
195+
],
196+
[
197+
'while (true) { while (true) { break 2; } }',
198+
false,
199+
],
200+
[
201+
'while (true) { while ($x) { } }',
202+
true,
203+
],
204+
[
205+
'while (true) { while ($x) { return; } }',
206+
true,
207+
],
208+
[
209+
'while (true) { while ($x) { break; } }',
210+
true,
211+
],
212+
[
213+
'while (true) { while ($x) { exit; } }',
214+
true,
215+
],
216+
[
217+
'while (true) { while ($x) { break 2; } }',
218+
false,
219+
],
176220
[
177221
'for (;;) { }',
178222
true,
@@ -185,6 +229,50 @@ public function dataIsAlwaysTerminating(): array
185229
'for (;;) { break; }',
186230
false,
187231
],
232+
[
233+
'for (;;) { exit; }',
234+
true,
235+
],
236+
[
237+
'for (;;) { for (;;) { } }',
238+
true,
239+
],
240+
[
241+
'for (;;) { for (;;) { return; } }',
242+
true,
243+
],
244+
[
245+
'for (;;) { for (;;) { break; } }',
246+
true,
247+
],
248+
[
249+
'for (;;) { for (;;) { exit; } }',
250+
true,
251+
],
252+
[
253+
'for (;;) { for (;;) { break 2; } }',
254+
false,
255+
],
256+
[
257+
'for (;;) { for ($i = 0; $i< 5; $i++) { } }',
258+
true,
259+
],
260+
[
261+
'for (;;) { for ($i = 0; $i< 5; $i++) { return; } }',
262+
true,
263+
],
264+
[
265+
'for (;;) { for ($i = 0; $i< 5; $i++) { break; } }',
266+
true,
267+
],
268+
[
269+
'for (;;) { for ($i = 0; $i< 5; $i++) { exit; } }',
270+
true,
271+
],
272+
[
273+
'for (;;) { for ($i = 0; $i< 5; $i++) { break 2; } }',
274+
false,
275+
],
188276
[
189277
'do { } while (doFoo());',
190278
false,

0 commit comments

Comments
 (0)