Changeset 22049
- Timestamp:
- 08/27/08 16:55:20 (3 months ago)
- Files:
-
- 1 modified
-
t/spec/S04-statements/loop.t (modified) (3 diffs)
Legend:
- Unmodified
- Added
- Removed
-
t/spec/S04-statements/loop.t
r22048 r22049 11 11 =end kwid 12 12 13 plan 1 4;13 plan 11; 14 14 15 15 # basic loop 16 16 17 my $i = 0; 18 is($i, 0, 'verify our starting condition'); 19 loop ($i = 0; $i < 10; $i++) {} 20 is($i, 10, 'verify our ending condition'); 17 { 18 my $i = 0; 19 is($i, 0, 'verify our starting condition'); 20 loop ($i = 0; $i < 10; $i++) {} 21 is($i, 10, 'verify our ending condition'); 22 } 21 23 22 24 # loop with last() 23 24 my $i = 0; 25 is($i, 0, 'verify our starting condition'); 26 loop ($i = 0; $i < 10; $i++) { 27 if ($i == 5) { 28 last(); # should this really need the () 25 #?rakudo skip 'last()' 26 { 27 my $i = 0; 28 is($i, 0, 'verify our starting condition'); 29 loop ($i = 0; $i < 10; $i++) { 30 if ($i == 5) { 31 last(); # should this really need the () 32 } 29 33 } 34 is($i, 5, 'verify our ending condition'); 30 35 } 31 is($i, 5, 'verify our ending condition');32 36 33 37 # infinite loop 34 38 35 my $i = 0; 36 is($i, 0, 'verify our starting condition'); 37 loop (;;) { $i++; last(); } 38 is($i, 1, 'verify our ending condition'); 39 #?rakudo skip 'last()' 40 { 41 my $i = 0; 42 is($i, 0, 'verify our starting condition'); 43 loop (;;) { $i++; last(); } 44 is($i, 1, 'verify our ending condition'); 45 } 39 46 40 47 # declare variable $j inside loop 41 my $count = 0; 42 is($count, 0, 'verify our starting condition'); 43 my $j; loop ($j = 0; $j < 10; $j++) { $count++; }; 44 is($count, 10, 'verify our ending condition'); 48 { 49 my $count = 0; 50 is($count, 0, 'verify our starting condition'); 51 loop (my $j = 0; $j < 10; $j++) { $count++; }; 52 is($count, 10, 'verify our ending condition'); 53 } 45 54 46 55 # Ensure condition is tested on the first iteration 56 #?rakudo skip 'parse loop (;0;)' 47 57 { 48 58 my $never_did_body = 1; … … 55 65 56 66 # Loop with next should still execute the continue expression 67 #?rakudo skip 'last()' 57 68 { 58 69 my ($i, $continued); … … 66 77 } 67 78 68 my $loopvar = 0; 79 #?rakudo skip 'last' 80 { 81 my $loopvar = 0; 69 82 70 loop { 71 is($loopvar, $loopvar, "bare loop iterates $loopvar"); 72 last if ++$loopvar == 3; 83 loop { 84 last if ++$loopvar == 3; 85 } 86 is($loopvar, 3, "bare loop exited after 3 iterations"); 73 87 } 74 is($loopvar, 3, "bare loop exited after 3 iterations"); 88 89 # vim: ft=perl6
