1 | BEGIN { $| = 1; print "1..8\n"; } |
1 | BEGIN { $| = 1; print "1..9\n"; } |
2 | END {print "not ok 1\n" unless $loaded;} |
2 | END {print "not ok 1\n" unless $loaded;} |
3 | use Coro::State; |
3 | use Coro::State; |
4 | $loaded = 1; |
4 | $loaded = 1; |
5 | print "ok 1\n"; |
5 | print "ok 1\n"; |
6 | |
6 | |
7 | my $main = new Coro::State; |
7 | my $main = new Coro::State; |
8 | my $proc = new Coro::State \&a; |
8 | my $proca = new Coro::State \&a; |
9 | my $proc2 = new Coro::State \&b; |
9 | my $procb = new Coro::State \&b; |
10 | |
10 | |
11 | sub a { |
11 | sub a { |
|
|
12 | print $/ eq "\n" ? "" : "not ", "ok 3\n"; |
12 | $/ = 77; |
13 | $/ = 77; |
13 | print "ok 3\n"; |
14 | print "ok 4\n"; |
14 | $proc->transfer ($main); |
15 | $proca->transfer ($main); |
15 | print $/ == 77 ? "" : "not ", "ok 5\n"; |
16 | print $/ == 77 ? "" : "not ", "ok 6\n"; |
16 | $proc->transfer ($main); |
17 | $proca->transfer ($main); |
17 | print "not ok 6\n"; |
18 | print "not ok 7\n"; |
18 | die; |
19 | die; |
19 | } |
20 | } |
20 | |
21 | |
21 | sub b { |
22 | sub b { |
22 | print $/ != 55 ? "not " : "", "ok 7\n"; |
23 | print $/ ne "\n" ? "not " : "", "ok 8\n"; |
23 | $proc2->transfer ($main); |
24 | $procb->transfer ($main); |
24 | print "not ok 8\n"; |
25 | print "not ok 9\n"; |
25 | die; |
26 | die; |
26 | } |
27 | } |
27 | |
28 | |
28 | $/ = 55; |
29 | $/ = 55; |
29 | |
30 | |
30 | print "ok 2\n"; |
31 | print "ok 2\n"; |
31 | $main->transfer ($proc); |
32 | $main->transfer ($proca); |
32 | print $/ != 55 ? "not " : "ok 4\n"; |
33 | print $/ != 55 ? "not " : "ok 5\n"; |
33 | $main->transfer ($proc); |
34 | $main->transfer ($proca); |
34 | print $/ != 55 ? "not " : "ok 6\n"; |
35 | print $/ != 55 ? "not " : "ok 7\n"; |
35 | $main->transfer ($proc2); |
36 | $main->transfer ($procb); |
36 | print $/ != 55 ? "not " : "ok 8\n"; |
37 | print $/ != 55 ? "not " : "ok 9\n"; |
37 | |
38 | |