@@ -10,11 +10,10 @@ use Mojo::Util qw(steady_time);
1010
1111
1212subtest ' With reactor' => sub {
13- my $reactor ;
14-
1513 subtest ' Instantiation' => sub {
1614 use_ok ' Mojo::Reactor::EV' ;
17- $reactor = Mojo::Reactor::EV-> new;
15+
16+ my $reactor = Mojo::Reactor::EV-> new;
1817 is ref $reactor , ' Mojo::Reactor::EV' , ' right object' ;
1918 is ref Mojo::Reactor::EV-> new, ' Mojo::Reactor::Poll' , ' right object' ;
2019
@@ -27,6 +26,8 @@ subtest 'With reactor' => sub {
2726 };
2827
2928 subtest ' Make sure it stops automatically when not watching for events' => sub {
29+ my $reactor = Mojo::IOLoop-> singleton-> reactor;
30+
3031 my $triggered ;
3132 Mojo::IOLoop-> next_tick(sub { $triggered ++ });
3233 Mojo::IOLoop-> start;
@@ -42,6 +43,7 @@ subtest 'With reactor' => sub {
4243 my $listen = IO::Socket::INET-> new(Listen => 5, LocalAddr => ' 127.0.0.1' );
4344
4445 subtest ' Listen' => sub {
46+ my $reactor = Mojo::IOLoop-> singleton-> reactor;
4547 my ($readable , $writable );
4648 $reactor -> io($listen => sub { pop () ? $writable ++ : $readable ++ })-> watch($listen , 0, 0)-> watch($listen , 1, 1);
4749 $reactor -> timer(0.025 => sub { shift -> stop });
@@ -56,6 +58,7 @@ subtest 'With reactor' => sub {
5658
5759 subtest ' Connect' => sub {
5860 my ($readable , $writable );
61+ my $reactor = Mojo::IOLoop-> singleton-> reactor;
5962 $reactor -> io($listen => sub { pop () ? $writable ++ : $readable ++ })-> watch($listen , 0, 0)-> watch($listen , 1, 1);
6063 $reactor -> timer(1 => sub { shift -> stop });
6164 $reactor -> start;
@@ -64,12 +67,13 @@ subtest 'With reactor' => sub {
6467 };
6568
6669 subtest ' With server' => sub {
70+ my $reactor = Mojo::IOLoop-> singleton-> reactor;
6771 ok $reactor -> remove($listen ), ' removed' ;
6872 ok !$reactor -> remove($listen ), ' not removed again' ;
6973 my $server = $listen -> accept;
7074
7175 subtest ' Accept' => sub {
72-
76+ my $reactor = Mojo::IOLoop -> singleton -> reactor;
7377 my ($readable , $writable );
7478 $reactor -> io($client => sub { pop () ? $writable ++ : $readable ++ });
7579 $reactor -> again($reactor -> timer(0.025 => sub { shift -> stop }));
@@ -119,6 +123,7 @@ subtest 'With reactor' => sub {
119123 };
120124
121125 subtest ' Timers' => sub {
126+ my $reactor = Mojo::IOLoop-> singleton-> reactor;
122127 my ($timer , $recurring );
123128 $reactor -> timer(0 => sub { $timer ++ });
124129 ok $reactor -> remove($reactor -> timer(0 => sub { $timer ++ })), ' removed' ;
@@ -175,6 +180,7 @@ subtest 'With reactor' => sub {
175180 };
176181
177182 subtest ' Reset' => sub {
183+ my $reactor = Mojo::IOLoop-> singleton-> reactor;
178184 $reactor -> next_tick(sub { die ' Reset failed' });
179185 $reactor -> reset ;
180186 my ($readable , $writable , $recurring );
@@ -189,6 +195,7 @@ subtest 'With reactor' => sub {
189195 };
190196
191197 subtest ' Ordered next_tick' => sub {
198+ my $reactor = Mojo::IOLoop-> singleton-> reactor;
192199 my $result = [];
193200 for my $i (1 .. 10) {
194201 $reactor -> next_tick(sub { push @$result , $i });
@@ -198,13 +205,15 @@ subtest 'With reactor' => sub {
198205 };
199206
200207 subtest ' Reset while watchers are active' => sub {
208+ my $reactor = Mojo::IOLoop-> singleton-> reactor;
201209 my ($writable );
202210 $reactor -> io($_ => sub { ++$writable and shift -> reset })-> watch($_ , 0, 1) for $client , $server ;
203211 $reactor -> start;
204212 is $writable , 1, ' only one handle was writable' ;
205213 };
206214
207215 subtest ' Concurrent reactors' => sub {
216+ my $reactor = Mojo::IOLoop-> singleton-> reactor;
208217 my $timer = 0;
209218 $reactor -> recurring(0 => sub { $timer ++ });
210219 my $timer2 ;
@@ -237,6 +246,7 @@ subtest 'With reactor' => sub {
237246 };
238247
239248 subtest ' Restart timer' => sub {
249+ my $reactor = Mojo::IOLoop-> singleton-> reactor;
240250 my ($single , $pair , $one , $two , $last );
241251 $reactor -> timer(0.025 => sub { $single ++ });
242252 $one = $reactor -> timer(
@@ -260,6 +270,7 @@ subtest 'With reactor' => sub {
260270 };
261271
262272 subtest ' Reset timer' => sub {
273+ my $reactor = Mojo::IOLoop-> singleton-> reactor;
263274 my $before = steady_time;
264275 my ($after , $again );
265276 my ($one , $two );
@@ -284,6 +295,7 @@ subtest 'With reactor' => sub {
284295 };
285296
286297 subtest ' Restart inactive timer' => sub {
298+ my $reactor = Mojo::IOLoop-> singleton-> reactor;
287299 my $id = $reactor -> timer(0 => sub { });
288300 ok $reactor -> remove($id ), ' removed' ;
289301
@@ -292,13 +304,15 @@ subtest 'With reactor' => sub {
292304 };
293305
294306 subtest ' Change inactive I/O watcher' => sub {
307+ my $reactor = Mojo::IOLoop-> singleton-> reactor;
295308 ok !$reactor -> remove($listen ), ' not removed again' ;
296309
297310 eval { $reactor -> watch($listen , 1, 1) };
298311 like $@ , qr ! I/O watcher not active! , ' right error' ;
299312 };
300313
301314 subtest ' Error' => sub {
315+ my $reactor = Mojo::IOLoop-> singleton-> reactor;
302316 my $err ;
303317 $reactor -> unsubscribe(' error' )-> on(
304318 error => sub {
@@ -312,6 +326,7 @@ subtest 'With reactor' => sub {
312326 };
313327
314328 subtest ' Reset events' => sub {
329+ my $reactor = Mojo::IOLoop-> singleton-> reactor;
315330 $reactor -> on(error => sub { });
316331 ok $reactor -> has_subscribers(' error' ), ' has subscribers' ;
317332
@@ -320,6 +335,7 @@ subtest 'With reactor' => sub {
320335 };
321336
322337 subtest ' Recursion' => sub {
338+ my $reactor = Mojo::IOLoop-> singleton-> reactor;
323339 my $timer ;
324340 $reactor = $reactor -> new;
325341 $reactor -> timer(0 => sub { ++$timer and shift -> one_tick });
0 commit comments