Branch Coverage

blib/lib/POE/Component/IRC.pm
Criterion Covered Total %
branch 156 338 46.1


line true false branch
28 79 0 if $POE::Component::Client::DNS::VERSION >= "0.99"
32 0 0 if $POE::Filter::Zlib::Stream::VERSION >= "1.96"
39 0 79 if (not $GOT_SOCKET6)
45 0 0 if (not $GOT_SOCKET6)
159 206 0 if (ref $args eq "HASH" and keys %{$args;})
165 0 206 if ($ENV{'POCOIRC_DEBUG'})
170 0 206 if ($self->{'debug'})
175 0 206 if ($self->{'useipv6'} and not $GOT_SOCKET6)
179 0 206 if ($self->{'usessl'} and not $GOT_SSL)
183 2 204 if exists $self->{'nataddr'}
184 0 206 if exists $self->{'dccports'}
186 115 91 unless $self->{'port'}
187 115 91 unless defined $self->{'msg_length'}
189 0 206 if ($self->{'use_localaddr'})
191 0 0 $self->{'localport'} ? :
196 115 91 unless (defined $self->{'nick'})
201 115 91 unless (defined $self->{'username'})
206 115 91 unless (defined $self->{'ircname'})
211 0 113 unless (defined $self->{'server'} or $spawned)
212 0 0 unless $ENV{'IRCSERVER'}
216 0 206 if (defined $self->{'webirc'})
217 0 0 unless (ref $self->{'webirc'} ne "HASH")
221 0 0 unless (exists $self->{'webirc'}{$expect_key})
244 0 2552 unless $ev->{'name'}
245 96 2456 if $self->{'raw'}
248 91 2461 if ($ev->{'name'} eq "001")
255 12 2540 if ($ev->{'name'} =~ /^irc_ctcp_(.+)$/)
311 91 0 if ($GOT_SOCKET6)
318 90 1 unless ($localaddr)
325 0 91 if ($self->{'socks_proxy'})
334 0 0 unless ($self->{'socket'})
341 0 0 if (_ip_is_ipv4($self->{'server'})) { }
358 0 0 if ($GOT_SSL and $self->{'usessl'})
362 0 0 if ($self->{'sslctx'}) { }
0 0 elsif ($self->{'sslkey'} and $self->{'sslcert'}) { }
378 0 0 if ($@)
385 0 91 if ($self->{'compress'})
400 91 0 if ($self->{'socket'}) { }
412 0 91 if ($self->{'proxy'})
433 0 0 if (length $input != 8)
444 0 0 if (@resp != 4 or $resp[0] ne 0 or not $resp[1] =~ /^(?:90|91|92|93)$/)
454 0 0 if ($resp[1] eq '90') { }
494 0 91 if (defined $self->{'webirc'})
500 1 90 if (defined $self->{'password'})
512 0 91 defined $self->{'bitmode'} ? :
567 0 9 if ($state eq 'whois' and @args > 1) { }
0 9 elsif ($state eq 'part' and @args > 1) { }
572 0 0 unless $self->isupport("CHANTYPES")
574 0 0 if ($args[-1] =~ / +/ or not $args[-1] =~ /^[$chantypes]/)
578 0 0 if defined $message
586 9 0 if defined $args
597 91 1 if ($args)
599 0 91 if ref $args eq "ARRAY"
600 91 0 if ref $args eq "HASH"
605 0 92 if ($self->{'resolver'} and $self->{'res_addresses'} and @{$self->{'res_addresses'};})
612 0 92 if ($self->{'resolver'} and not _ip_get_version($self->{'server'}) and not $self->{'nodns'}) { }
617 0 0 $self->{'useipv6'} && $GOT_SOCKET6 ? :
638 0 0 if $response
648 0 92 if $self->{'socket'}
650 0 92 if ($self->{'socks_proxy'} and not $self->{'socks_port'})
655 459 1 unless $self->{$address} and _ip_is_ipv6($self->{$address})
656 0 1 unless ($GOT_SOCKET6)
671 0 92 $self->{'use_localaddr'} ? :
686 0 0 unless (defined $net_dns_packet)
694 0 0 unless $net_dns_answer->type =~ /^A/
698 0 0 if (not @{$self->{'res_addresses'};} and $type eq "AAAA")
703 0 0 unless (@{$self->{'res_addresses'};})
708 0 0 if (my $address = shift @{$$self{"res_addresses"};})
723 0 27 unless (defined $to and defined $message)
732 6 21 $state eq 'ctcpreply' ? :
743 0 0 unless (@nicks)
753 0 0 if (length($tmp) + length($nick) >= 509)
769 0 6 unless (defined $chan and defined $nick)
774 6 0 if defined $message
784 0 0 unless (defined $chan and defined $nick)
789 0 0 if defined $message
801 0 0 if defined $version and $version =~ /ratbox/i
802 0 0 if defined $args
811 0 0 if @_ & 1
814 0 0 unless (defined $alias)
827 0 115 if @_ & 1
831 115 0 if ref $params{'options'} ne "HASH"
836 0 115 if ($ENV{'POCOIRC_DEBUG'})
855 94 21 $plugin_debug ? :
0 115 ref $options eq 'HASH' ? :
863 114 1 if (not $params{'nodns'} and $GOT_CLIENT_DNS and not $self->{'resolver'})
878 0 0 if (defined $arg)
894 0 0 if $state eq "sconnect"
896 0 0 if (defined $arg)
897 0 0 if $arg =~ /\x20/
911 54 100 if (defined $_[10])
913 3 51 if $arg =~ /\x20/
927 0 87 unless (defined $one)
933 87 0 if defined $two
944 0 9 unless (defined $arg)
950 0 9 if $arg =~ /\x20/
962 0 1 unless (defined $one and defined $two)
968 0 1 if $two =~ /\x20/
984 0 93 unless (defined $to and defined $msg)
989 3 90 if ref $to eq "ARRAY"
999 1 115 if $self->{'_shutdown'}
1002 2 113 if ($self->logged_in) { }
0 113 elsif ($self->connected) { }
1004 2 0 unless defined $msg
1005 2 0 unless defined $timeout
1006 0 2 if $msg =~ /\x20/
1033 114 1 if $self->{'resolver'} and $self->{'mydns'}
1073 1040 0 if (my($event) = $args[0] =~ /^(\w+)/) { }
1075 0 1040 if $self->send_user_event($event, \@args) == 4
1083 92 948 if $self->{'send_time'} < $now
1088 0 1040 if (&bytes::length($msg) > $self->{'msg_length'} - &bytes::length(scalar $self->nick_name))
1092 0 1040 if (not $self->{'flood'} and @{$self->{'send_queue'};}) { }
5 1035 elsif (not $self->{'flood'} and $self->{'send_time'} - $now >= 10 or not defined $self->{'socket'}) { }
1103 0 1035 if $self->{'debug'}
1104 39 996 if $self->{'raw'}
1119 1 95 unless defined $self->{'socket'}
1122 0 95 if $self->{'send_time'} < $now
1126 0 4 if $self->{'debug'}
1127 0 4 if $self->{'raw'}
1132 2 93 if (@{$self->{'send_queue'};})
1146 121 0 if defined $args
1155 5 1 if @args
1157 5 1 if (defined $topic)
1159 5 0 if length $topic
1170 0 0 unless (@nicks)
1222 0 0 if (defined $self->{'send_queue'} and ref $self->{'send_queue'} eq "ARRAY")
1230 0 4 unless defined $value
1242 4 116 if $self->{'INFO'}{'LoggedIn'}
1249 91 0 unless $GOT_ZLIB
1250 0 0 unless defined $value
1252 0 0 if ($value) { }
1253 0 0 unless $self->{'uplink'}
1257 0 0 if $self->{'uplink'}
1267 91 0 unless $GOT_ZLIB
1268 0 0 unless defined $value
1270 0 0 if ($value) { }
1271 0 0 unless $self->{'downlink'}
1275 0 0 if $self->{'uplink'}
1306 2 89 if ($self->{'_waiting'})
1311 2 89 if $self->{'_shutdown'}
1336 6 4 if $nick eq $self->{'INFO'}{'RealNick'}
1344 0 0 if $text eq "IDENTIFY-MSG"
1352 1 2 if ($cmd eq "ACK")
1353 0 1 ${$_[1];} eq '*' ? :
1356 0 1 if (grep {$_ =~ /^=?identify-msg$/;} @enabled)
1359 0 1 if (grep {$_ =~ /^-identify-msg$/;} @enabled)
1370 0 90 if $isupport->isupport("CAPAB")
1371 0 90 if $isupport->isupport("NAMESX")
1372 0 90 if $isupport->isupport("UHNAMES")
1392 0 92 unless defined $ip
1395 91 1 if not $ip =~ /:/ and _ip_is_ipv4($ip)
1398 1 0 if _ip_is_ipv6($ip)
1405 0 91 unless defined $ip
1408 0 91 unless $ip =~ /^[\d\.]+$/
1409 0 91 if $ip =~ /^\./
1410 0 91 if $ip =~ /\.$/
1413 0 91 if $ip =~ /^(\d+)$/ and $1 < 256
1419 0 91 if $n <= 0 or $n > 4
1422 0 91 if $ip =~ /\.\./
1426 0 364 if $quad < 0 or $quad >= 256
1433 0 93 unless defined $ip
1437 91 2 if $n <= 0 or $n >= 8
1446 4 2 if $octet eq ""
1449 2 0 if $octet =~ /^[a-f\d]{1,4}$/i
1452 0 0 if ($k == $n + 1)
1453 0 0 if ip_is_ipv4($octet)
1460 0 2 if $ip =~ /^:[^:]/
1463 0 2 if $ip =~ /[^:]:$/
1466 0 2 if $ip =~ s/:(?=:)//g > 1