Condition Coverage

blib/lib/Zonemaster/Backend/RPCAPI.pm
Criterion Covered Total %
condition 51 87 58.6


and 3 conditions

line !l l&&!r l&&r condition
34 0 0 2 $params and $params->{'db'}
161 1 0 30 defined $syntax_input->{'nameservers'} and @{$syntax_input->{'nameservers'};}
169 1 24 6 defined $syntax_input->{'ds_info'} and @{$syntax_input->{'ds_info'};}
209 1 0 24 defined $syntax_input->{'nameservers'} and @{$syntax_input->{'nameservers'};}
237 0 2 3 length $ds_digest->{'digest'} != 96 and length $ds_digest->{'digest'} != 64
2 2 1 length $ds_digest->{'digest'} != 96 and length $ds_digest->{'digest'} != 64 and length $ds_digest->{'digest'} != 40
248 2 0 0 $params->{'user_ip'} and 'Zonemaster::Backend::Config'->Maxmind_ISP_DB_File
2 0 0 $params->{'user_ip'} and 'Zonemaster::Backend::Config'->Maxmind_ISP_DB_File and 'Zonemaster::Backend::Config'->Maxmind_City_DB_File
281 0 0 2 $syntax_result and $syntax_result->{'status'} eq 'ok'
334 239 16 3 $test_res->{'module'} eq 'SYSTEM' and $test_res->{'tag'} eq 'POLICY_DISABLED'
255 0 3 $test_res->{'module'} eq 'SYSTEM' and $test_res->{'tag'} eq 'POLICY_DISABLED' and $test_res->{'args'}{'name'} eq 'Example'

or 3 conditions

line l !l&&r !l&&!r condition
164 52 50 0 $k eq 'ns' or $k eq 'ip'
172 6 6 4 $k eq 'algorithm' or $k eq 'digest'
12 2 2 $k eq 'algorithm' or $k eq 'digest' or $k eq 'digtype'
8 2 0 $k eq 'algorithm' or $k eq 'digest' or $k eq 'digtype' or $k eq 'keytag'
179 0 2 0 $syntax_input->{'advanced'} eq JSON::PP::false() or $syntax_input->{'advanced'} eq JSON::PP::true()
187 0 31 0 $syntax_input->{'ipv4'} eq JSON::PP::false() or $syntax_input->{'ipv4'} eq JSON::PP::true()
31 0 0 $syntax_input->{'ipv4'} eq JSON::PP::false() or $syntax_input->{'ipv4'} eq JSON::PP::true() or $syntax_input->{'ipv4'} eq '1'
31 0 0 $syntax_input->{'ipv4'} eq JSON::PP::false() or $syntax_input->{'ipv4'} eq JSON::PP::true() or $syntax_input->{'ipv4'} eq '1' or $syntax_input->{'ipv4'} eq '0'
195 1 30 0 $syntax_input->{'ipv6'} eq JSON::PP::false() or $syntax_input->{'ipv6'} eq JSON::PP::true()
31 0 0 $syntax_input->{'ipv6'} eq JSON::PP::false() or $syntax_input->{'ipv6'} eq JSON::PP::true() or $syntax_input->{'ipv6'} eq '1'
30 0 0 $syntax_input->{'ipv6'} eq JSON::PP::false() or $syntax_input->{'ipv6'} eq JSON::PP::true() or $syntax_input->{'ipv6'} eq '1' or $syntax_input->{'ipv6'} eq '0'
202 2 0 0 $syntax_input->{'profile'} eq 'default_profile' or $syntax_input->{'profile'} eq 'test_profile_1'
2 0 0 $syntax_input->{'profile'} eq 'default_profile' or $syntax_input->{'profile'} eq 'test_profile_1' or $syntax_input->{'profile'} eq 'test_profile_2'
217 2 23 3 not $ns_ip->{'ip'} or &ip_is_ipv4($ns_ip->{'ip'})
25 1 2 not $ns_ip->{'ip'} or &ip_is_ipv4($ns_ip->{'ip'}) or &ip_is_ipv6($ns_ip->{'ip'})
237 1 1 3 length $ds_digest->{'digest'} != 96 and length $ds_digest->{'digest'} != 64 and length $ds_digest->{'digest'} != 40 or $ds_digest->{'digest'} =~ /[^A-Fa-f0-9]/u
279 0 0 2 not $params->{'domain'} or $params->{'domain'} eq '.'
388 0 0 0 $remote_ip eq '::1' or $remote_ip eq '127.0.0.1'