use strict;
use warnings;
use Test::More;
use Test::TCP;
use UV;
my ($tcp, $timer);
my $connect_cb_calls = 0;
my $timer_cb_calls = 0;
{
$tcp = UV::tcp_init();
my $r = UV::tcp_connect($tcp, '127.0.0.1', empty_port(), sub {
my ($status) = @_;
is $status, -1, 'error status ok';
is UV::last_error(), UV::ECONNREFUSED(), 'ECONNREFUSED ok';
$connect_cb_calls++;
UV::close($tcp);
});
UV::run();
is $connect_cb_calls, 1, 'connect_cb_calls ok';
}
$connect_cb_calls = 0;
{
$timer = UV::timer_init();
$tcp = UV::tcp_init();
UV::tcp_connect($tcp, '127.0.0.1', empty_port(), sub {
my ($status) = @_;
is $status, -1, 'error status ok';
is UV::last_error(), UV::ECONNREFUSED(), 'ECONNREFUSED ok';
$connect_cb_calls++;
UV::timer_start($timer, 100, 0, sub {
$timer_cb_calls++;
is $connect_cb_calls, 1;
UV::close($tcp);
UV::close($timer);
});
});
UV::run();
is $connect_cb_calls, 1;
}
done_testing;