Branch Coverage

blib/lib/Net/PSYC.pm
Criterion Covered Total %
branch 146 356 41.0


line true false branch
72 61 0 $_[0] =~ /^_/ ? :
73 61 0 $_[0] =~ /^_/ ? :
103 0 0 unless ($BASE =~ m[/$])
121 0 1 unless defined $level
122 1 0 if DEBUG >= $level
127 416 1 if DEBUG < $level
146 3 78 if exists $_[0]
151 0 10 if exists $_[0]
156 0 0 if eval { do { require IO::Socket::SSL; my $t = $IO::Socket::SSL::VERSION; $1 + 0.1 ** (length($t) - 2) * $2 >= 0.93 if $t =~ /(\d)\.(\d+)/ } }
159 0 0 if $t =~ /(\d)\.(\d+)/
175 4 12 if ($list =~ s/Event=(\S+) | :event | :nonblock / /) { }
0 12 elsif ($list =~ s/ :anachronism / /) { }
179 1 3 $match ? :
191 0 0 unless (Net::PSYC::Event::init('IO::Select'))
208 0 15 if ($list =~ s/ :tls | :ssl | :encrypt / /)
209 0 0 if (SSL) { }
216 1 14 if ($list =~ s/ :zlib | :compress / /)
217 1 0 if (eval { do { require Net::PSYC::MMP::Compress } }) { }
224 0 15 if ($list =~ s/ :fork / /)
230 0 15 unless $list =~ /\w/
232 0 15 if ($list =~ / :all /) { }
2 13 elsif ($list =~ / :base /) { }
240 15 0 if (scalar @subs)
253 0 179 if ($_ =~ /^([$%\@*&])/) { }
0 179 elsif ($_ =~ /^\>(\w+)/) { }
258 0 0 $1 eq '%' ? :
0 0 $1 eq '@' ? :
0 0 $1 eq '$' ? :
0 0 $1 eq '&' ? :
282 9 2 if (exists $hosts{$ip}) { }
291 15 4 if ($hosts{$host} eq $_)
302 1 0 if ($name =~ /\d+\.\d+\.\d+\.\d+/)
303 1 0 if $callback
307 0 0 if ($addr) { }
311 0 0 if $callback
314 0 0 if $callback
322 19 0 if ($one and $two and exists $hosts{$one} || dns_lookup($one) and exists $hosts{$two} || dns_lookup($two))
323 2 17 if ($callback)
328 0 0 if $callback
337 0 0 unless (/_state|_encrypt|_compress|_fragments|_length|_context/)
354 2 0 if $host
356 1 1 if (not $prots or $prots =~ /d/io)
359 1 0 if (ref $sock) { }
367 1 1 if (not $prots or $prots =~ /c/io)
370 1 0 if (ref $sock) { }
381 0 2 if ($prots and $prots =~ /s/io)
385 0 2 unless $return
388 2 0 $host =~ /\./ ? :
389 0 2 unless $unlhost
394 2 0 if defined wantarray
401 0 0 if $$obj{'SOCKET'}
403 0 0 if $C{$_} eq $obj
406 0 0 if $R{$_} eq $obj
416 0 17 unless (defined $user)
423 17 0 if (not $prots or $prots =~ /c/i) { }
0 0 elsif ($prots =~ /d/i) { }
0 0 elsif ($prots =~ /s/i) { }
443 17 0 if (@addresses > 4)
446 16 1 if (exists $C{$host . ':' . $port})
449 0 1 if ($R{$target} or $R{$host . ':' . $port} or $R{$host})
457 0 0 unless ($UDP)
468 0 10 if not STATE() and BLOCKING() & 2
470 0 10 if (ref $_[0]) { }
474 0 0 if $MMPvars and not ref $MMPvars
478 0 10 if $MMPvars and not ref $MMPvars
479 0 10 if (exists $$MMPvars{'_source'})
482 10 0 unless ($state)
491 0 10 unless $target
493 0 10 if (not $MMPvars) { }
0 10 elsif (not ref $MMPvars) { }
505 0 10 unless ref $connection
516 0 1 unless $target
521 0 1 if ($vars) { }
528 0 1 unless $connection
537 0 0 unless -e $fn
540 0 0 unless %Net::PSYC::Tie::File::
544 0 0 unless my $o = tie(@file, 'Net::PSYC::Tie::File', $fn, 6024, int $offset, int $length)
550 0 0 if $offset
553 0 0 if ($length) { }
566 0 0 if ($mod ne '_') { }
572 0 0 unless ISMMPVAR($key)
588 0 0 exists $_[0]{$1} ? :
589 0 0 exists $_[0]{$1} ? :
590 0 0 !exists($_[0]{$1}) ? :
591 0 0 !exists($_[0]{$1}) ? :
592 2 0 exists $_[0]{$1} ? :
0 2 ref $ref eq 'ARRAY' ? :
601 0 27 if (ref $lf) { }
614 27 0 if (ref $d eq 'SCALAR') { }
634 50 27 if ($line =~ /^([+-:=-?])(_\w+)[\t\ ](.*)$/ or $line =~ /^([+-:=-?])(_\w+)$/) { }
24 3 elsif ($line eq '') { }
3 0 elsif ($line eq '.') { }
0 0 elsif ($line =~ /^([+-:=-?])[\t\ ](.*)$/) { }
0 0 elsif ($line =~ /^\t(.*)$/) { }
638 0 50 if $var eq '_length'
641 0 24 if ($length) { }
2 22 elsif (".$lf" eq substr($$d, $b + $l, 1 + $l)) { }
642 0 0 if (length $$d < $b + $length + 2 * $l)
647 0 0 unless ("$lf.$lf" eq substr($$d, $b + $l + $length, 2 * $l + 1))
659 0 22 if $length == -1
662 22 2 unless (defined $data)
671 0 0 if (not $lmod) { }
0 0 elsif ($1 ne $lmod) { }
0 0 elsif ($1 eq '-') { }
0 0 elsif (not $lval) { }
680 0 0 if (ref $lval eq 'ARRAY') { }
688 0 0 unless ($lval)
698 50 27 if ($lvar)
699 47 3 if ($lmod eq ':') { }
0 3 elsif (ref $o) { }
706 0 0 if ($lmod eq '=') { }
0 0 elsif ($lmod eq '+') { }
0 0 elsif ($lmod eq '-') { }
717 2 48 if $lmod eq '='
725 0 27 unless defined $data
732 0 16 if ref $d eq 'SCALAR'
760 3 16 if ($line =~ /^([+-:=-?])(_\w+)[\t\ ](.*)$/ or $line =~ /^([+-:=-?])(_\w+)$/) { }
0 16 elsif ($line =~ /^([+-:=-?])[\t\ ](.*)$/) { }
0 16 elsif ($line =~ /^\t(.*)$/) { }
16 0 elsif ($line =~ /^(_\w+)$/) { }
763 0 3 if $var =~ /^_list/
765 0 0 if (not $lmod) { }
0 0 elsif ($1 ne $lmod) { }
0 0 elsif ($1 eq '-') { }
0 0 elsif (not $lval) { }
774 0 0 if (ref $lval eq 'ARRAY') { }
782 0 0 unless ($lvar)
796 3 16 if ($lvar)
797 0 3 if ($lvar =~ /^_list/ and ref $lval ne 'ARRAY')
800 3 0 if ($lmod eq ':') { }
816 0 3 if $lmod eq '='
824 0 16 unless $mc
835 0 48 if (not defined $val) { }
4 44 elsif (ref $val eq 'ARRAY') { }
852 22 0 if (not exists $$vars{'_length'}) { }
0 0 elsif (not defined $$vars{'_length'}) { }
853 0 22 if $data =~ /^.\n/ or index($data, "\n.\n") != -1 or index($data, "\r\n.\r\n") != -1
865 0 58 if ($mod ne '_') { }
869 45 13 if ISMMPVAR($var)
885 2 20 if (not $data) { }
903 0 3 if $var =~ /^_INTERNAL_/
905 0 3 if ($mod ne '_') { }
909 3 0 unless ISMMPVAR($var)
927 16 0 if $m and $data
934 0 0 if (ref $value eq 'ARRAY')
936 0 0 unless ref $_
940 0 0 if (not exists $$vars{$key}) { }
0 0 elsif (ref $$vars{$key} ne 'ARRAY') { }
953 0 0 unless exists $$vars{$key}
955 0 0 if (ref $$vars{$key} ne 'ARRAY') { }
956 0 0 if $$vars{$key} eq $value
968 0 0 if wantarray
976 45 26 if (exists $URLS{$arg})
978 39 6 unless wantarray
988 1 25 unless s/^(\w+)\://
991 22 3 if ($scheme eq 'psyc' or $scheme eq 'irc')
992 0 22 unless s[^\G//][]
995 5 20 if (s/([\w\-+]+)\@//) { }
0 20 elsif ($scheme eq 'mailto' or $scheme eq 'xmpp') { }
1003 1 24 unless s[^([\w\-.]*)(?:\:\-?(\d*)([cd]?)|)(?:\z|/)][]
1004 19 5 $2 ? :
1007 1 23 if $transport and $scheme ne 'psyc'
1009 20 3 unless length $_
1011 0 3 if ($scheme eq 'mailto')
1016 0 3 unless $scheme ne 'psyc' or /^[\@~][\w\-]+$/
1019 14 9 if wantarray
1039 0 2 if not $port or $port == 4404
1040 2 0 if (not $object) { }
1046 0 2 unless $type
1047 0 2 unless ($host)
1052 0 2 if $user
1053 0 2 unless $port or $type
1079 0 0 if (exists $sockets{$key})
1080 0 0 unless (defined $sockets{$key}->read)
1088 0 0 unless defined $MMPdata
1091 0 0 if $mc
1094 0 0 if $sockets{$key}{'LAST_RECV'}
1096 0 0 if $ip