Gearman
view release on metacpan or search on metacpan
t/01-object.t view on Meta::CPAN
use strict;
use warnings;
use Test::More;
use Test::Exception;
use IO::Socket::SSL ();
my $mn = "Gearman::Objects";
use_ok($mn);
can_ok(
$mn, qw/
_js
_js_str
_property
_sock_cache
canonicalize_job_servers
debug
func job_servers prefix
prefix_separator
set_job_servers
sock_nodelay
socket
/
);
subtest "job servers", sub {
plan tests => 19;
{
# scalar
my $host = "foo";
my $c = new_ok(
$mn,
[job_servers => $host],
"Gearman::Objects->new(job_servers => $host)"
);
is(1, $c->{js_count}, "js_count=1");
ok(my @js = $c->job_servers(), "job_servers");
is(scalar(@js), 1, "job_servers count");
is($js[0], join(':', $host, 4730), "$host:4730");
is(@{ $c->canonicalize_job_servers($host) }[0],
$js[0], "job_servers=$host");
throws_ok {
$c->job_servers(sub { });
}
qr/unsupported job server value of type/,
"unsupported job server value";
}
{
# hash reference
my $j = { host => "foo", port => 123 };
my $c = new_ok(
$mn,
[job_servers => $j],
"Gearman::Objects->new(job_servers => hash reference)"
);
is($c->{js_count}, 1, "js_count=1");
ok(my @js = $c->job_servers(), "job_servers");
is(scalar(@js), 1, "job_servers count");
is(@{ $c->canonicalize_job_servers($j) }[0], $js[0], "job_servers");
}
( run in 2.568 seconds using v1.01-cache-2.11-cpan-f56aa216473 )