Branch Coverage

blib/lib/Net/OSCAR.pm
Criterion Covered Total %
branch 0 394 0.0


line true false branch
224 0 0 if $_ ne 'capabilities'
0 0 if (my($badparam) = grep({$_ ne 'rate_manage' if $_ ne 'capabilities';} keys %parameters))
227 0 0 if ($parameters{'capabilities'})
228 0 0 if $_ ne 'extended_status' and $_ ne 'buddy_icons' and $_ ne 'file_transfer' and $_ ne 'file_sharing' and $_ ne 'typing_status' and $_ ne 'file_transfer'
0 0 if (my($badcap) = grep({$_ ne 'buddy_list_transfer' if $_ ne 'extended_status' and $_ ne 'buddy_icons' and $_ ne 'file_transfer' and $_ ne 'file_sharing' and $_ ne 'typing_status' and $_ ne 'file_transfer';} @{$parameters{'capabilities'};}))
232 0 0 if ($parameters{'rate_manage'}) { }
233 0 0 if ($parameters{'rate_manage'} < 0 or $parameters{'rate_manage'} > 2) { }
0 0 elsif ($parameters{'rate_manage'} == 1) { }
239 0 0 if ($$self{'rate_manage_mode'} != 0)
275 0 0 if ($parameters{'capabilities'})
366 0 0 if (@_ < 3) { }
367 0 0 unless $args{'screenname'} = shift @_
368 0 0 unless $args{'password'} = shift @_
369 0 0 if @_
370 0 0 if @_
373 0 0 unless $args{'screenname'} and exists $args{'password'}
377 0 0 if $args{'screenname'} =~ /^\d+$/
381 0 0 if not defined $args{'password'} and $args{'hashlogin'}
397 0 0 if (defined $$self{'proxy_type'})
399 0 0 unless $$self{'proxy_host'}
400 0 0 if ($$self{'proxy_type'} eq 'HTTP' or $$self{'proxy_type'} eq 'HTTPS')
406 0 0 if $$self{'proxy_type'} eq 'HTTPS' and not $$self{'http_proxy'}->is_protocol_supported('https')
409 0 0 if $$self{'proxy_port'}
476 0 0 if $grpname eq '__BLI_DIRTY' or not $group or not $$group{'members'}{$buddy} or $$group{'members'}{$buddy}{'__BLI_DELETED'}
482 0 0 wantarray ? :
518 0 0 unless $$self{'is_on'}
520 0 0 if ($$self{'__BLI_locked'})
531 0 0 if ($$self{'icon_md5sum_old'} and $$self{'icon_md5sum'} eq $$self{'icon_md5sum_old'})
540 0 0 unless $$self{'is_on'}
546 0 0 unless $$self{'is_on'}
554 0 0 unless $$self{'is_on'}
588 0 0 unless $$self{'is_on'}
589 0 0 unless exists $$self{'buddies'}{$oldgroup}
613 0 0 unless exists $$self{'buddies'}{$group}
614 0 0 if $self->buddies($group)
637 0 0 if $_
641 0 0 if ($group)
651 0 0 if not $grpname or $grpname eq '__BLI_DIRTY'
660 0 0 if (not $grpname) { }
661 0 0 unless ($grpname, $group) = $self->findbuddy($buddy)
663 0 0 unless $group = $$self{'buddies'}{$grpname}
667 0 0 $$ret{'__BLI_DELETED'} ? :
690 0 0 unless $$self{'is_on'}
699 0 0 unless $$self{'is_on'}
928 0 0 unless $$self{'is_on'}
953 0 0 $new_state ? :
985 0 0 unless $$self{'is_on'}
1004 0 0 if $$self{'groupperms'} & $perm
1035 0 0 unless $$self{'is_on'}
1041 0 0 unless $$self{'is_on'}
1063 0 0 unless $$self{'is_on'}
1065 0 0 if (not $$self{'svcdata'}{'hashlogin'}) { }
1066 0 0 if length $msg >= 7987
1068 0 0 if length $msg > 2000
1074 0 0 if ($away) { }
1080 0 0 if ($$self{'capabilities'}{'buddy_icons'} and $$self{'icon_checksum'} and $$self{'icon_timestamp'} and !(exists $$self{'userinfo'}{$to} && exists $$self{'userinfo'}{'to'}{'icon_timestamp_received'}) || $$self{'icon_timestamp'} > $$self{'userinfo'}{$to}{'icon_timestamp_received'})
1093 0 0 if ($$self{'capabilities'}{'typing_status'})
1134 0 0 unless $$self{'capabilities'}{'typing_status'}
1135 0 0 unless exists $$self{'userinfo'}{$recipient} and $$self{'userinfo'}{$recipient}{'typing_status'}
1161 0 0 unless $$self{'is_on'}
1163 0 0 $anon ? :
1188 0 0 unless $$self{'capabilities'}{'buddy_icons'}
1304 0 0 unless $$self{'is_on'}
1309 0 0 unless defined $awaymsg
1330 0 0 unless $$self{'capabilities'}{'extended_status'}
1363 0 0 unless $$self{'services'}{'2'}
1369 0 0 if (defined $profile)
1375 0 0 if (defined $awaymsg)
1416 0 0 unless $$self{'capabilities'}{'buddy_icons'}
1418 0 0 if ($icon) { }
1445 0 0 unless $$self{'is_on'}
1447 0 0 if ($$self{'adminreq'}{'1'}) { }
1472 0 0 unless $$self{'is_on'}
1474 0 0 if ($$self{'adminreq'}{'4'}) { }
1501 0 0 unless $$self{'is_on'}
1503 0 0 if ($$self{'adminreq'}{'2'}) { }
1527 0 0 unless $$self{'is_on'}
1529 0 0 if ($$self{'adminreq'}{'3'}) { }
1554 0 0 unless $$self{'is_on'}
1627 0 0 @filerefs > 1 ? :
1697 0 0 if defined $timeout and $timeout == -1
1702 0 0 unless exists $$connection{'socket'}
1703 0 0 if ($$connection{'connected'}) { }
0 0 elsif (not $$connection{'connected'} or $$connection{'outbuff'}) { }
1711 0 0 unless $ein
1713 0 0 if $nfound and $nfound != -1
1744 0 0 unless $connection->fileno
1745 0 0 if ($$connection{'connected'})
1746 0 0 unless vec $$readers | $$errors, $connection->fileno, 1
1750 0 0 if (not $$connection{'connected'} or $$connection{'outbuff'})
1751 0 0 unless vec $$writers | $$errors, $connection->fileno, 1
1755 0 0 if (vec $$errors, $connection->fileno, 1) { }
1805 0 0 unless $$self{'is_on'}
1830 0 0 unless $$self{'is_on'}
1834 0 0 unless $rv
1858 0 0 unless $$self{'is_on'}
1862 0 0 unless $rv
1938 0 0 if ($level <= $$levels{'disconnect'}) { }
0 0 elsif ($level <= $$levels{'limit'}) { }
0 0 elsif ($level <= $$levels{'alert'}) { }
1951 0 0 if $$oscar{'rate_manage_mode'} == 0
1954 0 0 unless my $key = $Net::OSCAR::MethodInfo::methods{$method}
1958 0 0 unless my $class = $$conn{'rate_limits'}{'classmap'}{$key}
1965 0 0 unless my $rinfo = $oscar->_rate_lookup($method, $chat)
2043 0 0 unless my $rinfo = $oscar->_rate_lookup($method, $chat)
2096 0 0 unless $timeout
2116 0 0 unless @_
2118 0 0 if @_
2133 0 0 if ($pass_is_hashed) { }
2225 0 0 unless $$connection{'socket'}
2226 0 0 if ($$connection{'connected'})
2230 0 0 if (not $$connection{'connected'} or $$connection{'outbuff'})
2254 0 0 if $i < length $icon
2288 0 0 if ($group and $buddy) { }
0 0 elsif ($group) { }
2313 0 0 unless $$self{'is_on'}
2455 0 0 unless $_[0]{'callbacks'}{$callback}
2512 0 0 unless $_[0]{'capabilities'}{'buddy_icons'}
2516 0 0 unless $_[0]{'capabilities'}{'buddy_icons'}
2520 0 0 unless $_[0]{'capabilities'}{'buddy_icons'}
2527 0 0 unless $_[0]{'capabilities'}{'typing_status'}
2531 0 0 unless $_[0]{'capabilities'}{'extended_status'}
2542 0 0 unless $_[0]{'capabilities'}{'buddy_list_transfer'}
4033 0 0 if ($conntype == 14) { }
0 0 elsif ($conntype == 254) { }
0 0 elsif ($conntype == 255) { }
0 0 elsif ($conntype == 253) { }
4049 0 0 unless $conntype == 14
4052 0 0 if ($conntype == 2)
4064 0 0 unless $$self{'connections'}
4065 0 0 if $$connection{'socket'}
4067 0 0 unless $$self{'connections'}[$i] == $connection
4070 0 0 if (not $$connection{'sockerr'}) { }
4072 0 0 if ($$connection{'socket'} and $$connection{'conntype'} != 254 and $$connection{'conntype'} != 255)
4075 0 0 if $$connection{'socket'}
4078 0 0 unless $$connection{'conntype'} == 14
4080 0 0 if ($$connection{'conntype'} == 2 or $$connection{'conntype'} == 0 and not $$connection{'closing'}) { }
0 0 elsif ($$connection{'conntype'} == 7) { }
0 0 elsif ($$connection{'conntype'} == 14) { }
4084 0 0 if scalar keys %{$$self{'adminreq'};}
4099 0 0 if $Net::OSCAR::NODESTROY
4102 0 0 unless $$connection{'socket'} and not $$connection{'sockerr'}
4104 0 0 if $$connection{'socket'}
4115 0 0 if $group eq '__BLI_DIRTY'
4116 0 0 unless exists $$currgroup{'groupid'} and $groupid == $$currgroup{'groupid'}
4117 0 0 if $$currgroup{'__BLI_DELETED'}
4129 0 0 if ($$value{'buddyid'} == $bid and not $$value{'__BLI_DELETED'})
4142 0 0 if ($group) { }
4157 0 0 if $$self{'capabilities'}{'extended_status'}
4158 0 0 if $$self{'capabilities'}{'buddy_icons'}
4159 0 0 if $$self{'capabilities'}{'file_transfer'}
4160 0 0 if $$self{'capabilities'}{'file_sharing'}
4161 0 0 if $$self{'capabilities'}{'buddy_list_transfer'}
4169 0 0 unless $$self{'is_on'}
4170 0 0 if ($action == 1) { }
4172 0 0 if exists $$self{$group}{$buddy}
4184 0 0 unless $$self{'is_on'}
4186 0 0 if ($group eq '__BLI_DIRTY')
4191 0 0 if $what == 2
4193 0 0 if ($what == 2 and $action == 1) { }
0 0 elsif ($what == 2 and $action == 2) { }
0 0 elsif ($what == 1 and $action == 1) { }
0 0 elsif ($what == 1 and $action == 2) { }
4194 0 0 if exists $$self{'buddies'}{$group} and not $$self{'buddies'}{$group}{'__BLI_DELETED'}
4199 0 0 if (exists $$self{'buddies'}{$group}) { }
4215 0 0 unless exists $$self{'buddies'}{$group}
4220 0 0 unless exists $$self{'buddies'}{$group} and not $$self{'buddies'}{$group}{'__BLI_DELETED'}
4231 0 0 unless @buddies
4237 0 0 if (exists $$grp{'members'}{$buddy}) { }
4258 0 0 unless exists $$self{'buddies'}{$group}
4261 0 0 if exists $$grp{'members'}{$_}
4265 0 0 unless @buddies
4274 0 0 unless scalar grep({not $$grp{'members'}{$_}{'__BLI_DELETED'};} keys %{$$grp{'members'};})
4283 0 0 if ($$userinfo{'idle'})
4287 0 0 if exists $$userinfo{'evil'}
4288 0 0 if (exists $$userinfo{'flags'})
4299 0 0 if (exists $$userinfo{'capabilities'})
4303 0 0 if ({ FLт"DEST => 'extstatus', FLт"DEST => 'video', FLт"DEST => 'secureim', F#Lт"DEST => 'hiptop', FALт"DEST => 'voice', FCLт"DEST => 'filexfer', FDLт"DEST => 'icq', FELт"DEST => 'directim', FFLт"DEST => 'buddyicon', FGLт"DEST => 'addins', FHLт"DEST => 'fileshare', FILт"DEST => 'icqrelay', FJL"DEST => 'games2', FJLт"DEST => 'games', FKLт"DEST => 'sendlist', FMLт"DEST => 'interoperate', FNLт"DEST => 'icqutf8', .zduMȈo5 => 'icqutf8old', t$ bт"DEST => 'chat', 'Q$ 'icqrtf', J2Hƣ׌P[ => 'apinfo', M56y => 'trilliancrypt'}->{$capability}) { }
4313 0 0 if (exists $$userinfo{'icon_md5sum'})
4314 0 0 if (not exists $$self{'userinfo'}{$$userinfo{'screenname'}} && exists $$self{'userinfo'}{$$userinfo{'screenname'}}{'icon_md5sum'} or $$self{'userinfo'}{$$userinfo{'screenname'}}{'icon_md5sum'} ne $$userinfo{'icon_md5sum'})
4327 0 0 $cookie ? :
4340 0 0 unless exists $$self{'rv_proposals'}{$cookie}
4343 0 0 if ($$proposal{'connection'})
4348 0 0 unless ($ip)
4377 0 0 unless exists $$self{'rv_proposals'}{$cookie}
4380 0 0 if ($$proposal{'tried_connect'} or not $$proposal{'ip'} or $$proposal{'ip'} eq '0.0.0.0' or $$proposal{'ip'} eq '255.255.255.255') { }
4388 0 0 if (not $$proposal{'tried_listen'} and $$self{'ft_ip'} or $$self{'ip'} and $$self{'bos'}->local_ip eq $$self{'ip'}) { }
0 0 elsif (not $$proposal{'tried_proxy'}) { }
4419 0 0 unless exists $$self{'rv_proposals'}{$cookie}
4422 0 0 unless $self->rendezvous_negotiate($cookie)
4425 0 0 if $$proposal{'port'}
4438 0 0 unless exists $$self{'rv_proposals'}{$cookie}
4444 0 0 {addins => {description => 'add-ins', value => qq[\tF\cSGL\177\cQ\321\202"DEST\000\000]}, apinfo => {description => 'AP info', value => "\252J2\265\370\204H\306\243\327\214P\227\cY\375["}, buddyicon => {description => 'buddy icons', value => qq[\tF\cSFL\177\cQ\321\202"DEST\000\000]}, chat => {description => 'chatrooms', value => qq[t\217\$ b\207\cQ\321\202"DEST\000\000]}, directim => {description => 'direct IM', value => qq[\tF\cSEL\177\cQ\321\202"DEST\000\000]}, extstatus => {description => 'iChat extended status messages', value => qq[\tF\000\000L\177\cQ\321\202"DEST\000\000]}, fileshare => {description => 'file sharing', value => qq[\tF\cSHL\177\cQ\321\202"DEST\000\000]}, filexfer => {description => 'file transfers', value => qq[\tF\cSCL\177\cQ\321\202"DEST\000\000]}, games => {description => 'games', value => qq[\tF\cSJL\177\cQ\321\202"DEST\000\000]}, games2 => {description => 'games 2', value => qq[\tF\cSJL\177\cQ\321"\202DEST\000\000]}, hiptop => {description => 'hiptop', value => qq[\tF\cS#L\177\cQ\321\202"DEST\000\000]}, icq => {description => 'EveryBuddy ICQ support', value => qq[\tF\cSDL\177\cQ\321\202"DEST\000\000]}, icqrelay => {description => 'ICQ server relay', value => qq[\tF\cSIL\177\cQ\321\202"DEST\000\000]}, icqrtf => {description => 'ICQ RTF', value => qq[\227\261'Q\$ {description => 'ICQ UTF-8', value => qq[\tF\cSNL\177\cQ\321\202"DEST\000\000]}, icqutf8old => {description => 'old ICQ UTF-8', value => ".zdu\372\337M\310\210o\3525\225\375\266\337"}, interoperate => {description => 'ICQ/AIM interoperation', value => qq[\tF\cSML\177\cQ\321\202"DEST\000\000]}, secureim => {description => 'SecureIM encryption', value => qq[\tF\cA\377L\177\cQ\321\202"DEST\000\000]}, sendlist => {description => 'buddy list sending', value => qq[\tF\cSKL\177\cQ\321\202"DEST\000\000]}, trilliancrypt => {description => 'Trillian encryption', value => "\362\347\307\364\376\255M\373\26256y\213\337\000\000"}, video => {description => 'A/V chat', value => qq[\tF\cA\cEL\177\cQ\321\202"DEST\000\000]}, voice => {description => 'voice chat', value => qq[\tF\cSAL\177\cQ\321\202"DEST\000\000]}}->{$$proposal{'type'}} ? :
4452 0 0 if ($$self{'services'}{$service} and ref $$self{'services'}{$service}) { }
4456 0 0 unless $$self{'services'}{$service}
4490 0 0 if ($$bos{'families'}{$family})
4495 0 0 unless $$connection{'families'}{$family}