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