Branch Coverage

blib/lib/POE/Component/IRC/Plugin/BotCommand.pm
Criterion Covered Total %
branch 80 134 59.7


line true false branch
13 0 8 if @_ & 1
16 8 0 unless defined $args{'Method'}
19 1 10 if (ref $args{'Commands'}{$cmd} eq 'HASH')
21 0 1 unless exists $args{'Commands'}{$cmd}{'info'}
24 1 0 unless $args{'Commands'}{lc $cmd}{'handler'}
34 5 3 unless defined $self->{'Addressed'}
35 5 3 unless defined $self->{'Prefix'}
36 8 0 unless defined $self->{'In_channels'}
37 8 0 unless defined $self->{'In_private'}
55 0 2 unless $self->{'In_private'}
58 0 2 unless ($self->{'Bare_private'})
59 0 0 unless $what =~ s/^\Q$self->{'Prefix'}\E//
63 0 2 unless (($cmd, $args) = $what =~ /$self->{'rx_cmd_args'}/)
68 0 2 $self->{'Eat'} ? :
78 0 16 unless $self->{'In_channels'}
81 10 6 if ($self->{'Addressed'}) { }
82 0 10 unless ($what) = $what =~ /^\s*\Q$me\E[:,;.!?~]?\s*(.*)$/
85 0 6 unless $what =~ s/^\Q$self->{'Prefix'}\E//
89 0 16 unless (($cmd, $args) = $what =~ /$self->{'rx_cmd_args'}/)
94 2 14 $self->{'Eat'} ? :
107 0 18 unless $irc->isupport('CHANTYPES')
108 16 2 $where =~ /^[$chantypes]/ ? :
113 0 18 if (my $cmd_resolved = $self->resolve_alias($cmd))
119 11 7 if (defined $self->{'Commands'}{$cmd})
120 1 10 if (ref $self->{'Commands'}{$cmd} eq 'HASH')
121 1 0 defined $args ? :
122 0 1 if (defined $self->{'Commands'}{$cmd}{'args'} and ref $self->{'Commands'}{$cmd}{'args'} eq 'ARRAY' and @{$self->{'Commands'}{$cmd}{'args'};} and @args_array < @{$self->{'Commands'}{$cmd}{'args'};} || !defined($self->{'Commands'}{$cmd}{'variable'}) && @args_array > @{$self->{'Commands'}{$cmd}{'args'};})
134 1 0 if (defined $self->{'Commands'}{$cmd}{'variable'} or defined $self->{'Commands'}{$cmd}{'args'} and ref $self->{'Commands'}{$cmd}{'args'} eq 'ARRAY' and @{$self->{'Commands'}{$cmd}{'args'};})
140 1 0 if (defined $self->{'Commands'}{$cmd}{'args'} and ref $self->{'Commands'}{$cmd}{'args'} eq 'ARRAY' and @{$self->{'Commands'}{$cmd}{'args'};})
146 1 1 if (ref $self->{'Commands'}{$cmd}{$_} eq 'ARRAY')
152 0 1 if (&none(sub { $_ eq $in_arg; } , @values))
165 1 0 if (defined $self->{'Commands'}{$cmd}{'variable'})
174 3 15 if (ref $self->{'Auth_sub'} eq 'CODE')
177 1 2 unless ($authed)
178 0 1 ref $errors eq 'ARRAY' ? :
181 1 0 unless ($self->{'Ignore_unauthorized'})
190 11 6 if (defined $self->{'Commands'}{$cmd}) { }
6 0 elsif ($cmd =~ /^help$/i) { }
0 0 elsif (not $self->{'Ignore_unknown'}) { }
191 1 10 ref $self->{'Commands'}{$cmd} eq 'HASH' ? :
211 6 0 $self->{'Addressed'} && $public ? :
214 3 3 if (defined $args) { }
221 1 2 if (exists $self->{'Commands'}{$cmd_resolved}) { }
222 1 0 if (ref $self->{'Commands'}{$cmd_resolved} eq 'HASH') { }
229 1 0 defined $self->{'Commands'}{$cmd_resolved}{'args'} && ref $self->{'Commands'}{$cmd_resolved}{'args'} eq 'ARRAY' ? :
1 0 defined $self->{'Commands'}{$cmd_resolved}{'variable'} ? :
232 1 0 if (defined $self->{'Commands'}{$cmd_resolved}{'args'} and ref $self->{'Commands'}{$cmd_resolved}{'args'} eq 'ARRAY' and @{$self->{'Commands'}{$cmd_resolved}{'args'};})
239 0 2 unless defined $self->{'Commands'}{$cmd_resolved}{$arg}
240 1 1 if (ref $self->{'Commands'}{$cmd_resolved}{$arg} eq 'ARRAY') { }
257 0 0 ref $self->{'Commands'}{$cmd_resolved}{'args'} eq 'ARRAY' ? :
0 0 defined $self->{'Commands'}{$cmd_resolved}{'variable'} ? :
0 1 if $cmd_resolved ne $cmd
262 0 1 if ($cmd_resolved ne $cmd)
267 0 1 if scalar @aliases
279 1 2 if (keys %{$$self{'Commands'};}) { }
288 0 6 if (ref $self->{'Help_sub'} eq 'CODE') { }
290 0 0 defined $args ? :
305 0 8 if exists $self->{'Commands'}{$cmd}
307 1 7 if (ref $usage eq 'HASH')
308 0 1 unless exists $usage->{'info'} and @{$usage->{'args'};}
318 0 5 unless exists $self->{'Commands'}{$cmd}
336 26 6 unless ref $info eq 'HASH'
337 6 0 unless $info->{'aliases'} and ref $info->{'aliases'} eq 'ARRAY'
342 0 0 if $alias eq $cmdalias
353 0 1 unless exists $self->{'Commands'}{$cmd}
354 0 1 unless ref $self->{'Commands'}{$cmd} eq 'HASH'
355 1 0 unless exists $self->{'Commands'}{$cmd}{'aliases'} and ref $self->{'Commands'}{$cmd}{'aliases'} eq 'ARRAY'