Condition Coverage

blib/lib/Crypt/JWT.pm
Criterion Covered Total %
condition 90 184 48.9


and 3 conditions

line !l l&&!r l&&r condition
53 0 0 0 defined $str and not ref $str
103 276 0 7 ref $key eq "HASH" and $key->{'k'}
0 0 7 ref $key eq "HASH" and $key->{'k'} and $key->{'kty'}
0 0 7 ref $key eq "HASH" and $key->{'k'} and $key->{'kty'} and $key->{'kty'} eq "oct"
114 0 0 4 defined $kid and defined $alg
115 0 2 2 $kid_keys and not ref $kid_keys
118 0 0 4 exists $kid_keys->{'keys'} and ref $kid_keys->{'keys'} eq "ARRAY"
121 0 0 8 $_->{'kid'} and $_->{'kty'}
0 4 4 $_->{'kid'} and $_->{'kty'} and $_->{'kid'} eq $kid
130 0 0 0 $kid_keys->{$kid} and not ref $kid_keys->{$kid}
133 0 0 4 $found->{'kty'} eq "oct" and $alg =~ /^(HS|dir|PBES2-HS|A)/
134 0 0 0 $found->{'kty'} eq "OKP" and $alg =~ /^(EdDSA|ECDH-ES)/
135 0 0 0 $found->{'kty'} eq "EC" and $alg =~ /^(ES|EC)/
136 0 0 0 $found->{'kty'} eq "RSA" and $alg =~ /^(RS|PS)/
184 0 2 2 defined $value and $value eq $check
205 1432 3 2 defined $args{"verify_$claim"} and $args{"verify_$claim"} != 0
216 39 0 0 $args{'verify_exp'} and $args{'verify_exp'} == 1
226 47 0 0 $args{'verify_nbf'} and $args{'verify_nbf'} == 1
237 0 0 0 $args{'verify_iat'} and $args{'verify_iat'} == 1
263 0 4 5 defined $value and $value eq $check
289 0 3 6 defined $value and $value eq $check
349 215 14 63 defined $decode_payload and $decode_payload == 0
391 26 0 0 &looks_like_number($hdr->{'p2s'}) && $hdr->{'p2s'} >= 8 && $hdr->{'p2s'} <= 9999
554 0 183 0 $b64u_header and not $header
555 28 155 0 $b64u_ecek and not $ecek
556 0 183 0 $b64u_ct and not $ct
557 0 183 0 $b64u_iv and not $iv
558 0 183 0 $b64u_tag and not $tag
574 177 5 0 $aa and ref $aa eq 'ARRAY' || !ref($aa)
583 174 5 0 $ae and ref $ae eq 'ARRAY' || !ref($ae)
636 0 116 0 $b64u_sig and not $sig
675 35 1 1 $alg eq "none" and not $args{'allow_none'}
690 35 1 0 not $args{'key'} and $alg ne "none"
700 0 123 0 $b64u_header and not $header
706 119 2 1 $alg eq "none" and not $args{'allow_none'}
707 119 0 2 $alg eq "none" and defined $b64u_sig
119 2 0 $alg eq "none" and defined $b64u_sig and length $b64u_sig > 0
740 0 0 1 $alg =~ /^(RS|PS|ES)/ and $k->{'kty'} =~ /^(RSA|EC)$/
751 1 114 0 $b64u_payload and not $payload
826 121 0 182 defined $5 and length $5 > 0
837 1 0 2 defined $hash->{'payload'} and $hash->{'protected'}
0 1 0 $hash->{'ciphertext'} and $hash->{'protected'}

or 2 conditions

line l !l condition
212 5 79 $args{'leeway'} || 0
764 0 154 $args{'serialization'} || 'compact'

or 3 conditions

line l !l&&r !l&&!r condition
40 1 37 0 ref $key eq "HASH" or ref $key eq "SCALAR"
63 4 3 0 ref $key eq "HASH" or ref $key eq "SCALAR"
74 0 2 0 ref $key eq "HASH" or ref $key eq "SCALAR"
87 9 0 0 ref $key eq "HASH" or ref $key eq "SCALAR"
89 7 2 0 eval { do { 'Crypt::PK::ECC'->new($key) } } || eval { do { 'Crypt::PK::X25519'->new($key) } }
94 0 0 0 eval { do { 'Crypt::PK::ECC'->new(@$key) } } || eval { do { 'Crypt::PK::X25519'->new(@$key) } }
217 36 5 4 not defined $args{'verify_exp'} or $args{'verify_exp'} == 1
227 28 1 1 not defined $args{'verify_nbf'} or $args{'verify_nbf'} == 1
238 1 2 1 not defined $args{'verify_iat'} or $args{'verify_iat'} == 1
574 2 3 0 ref $aa eq 'ARRAY' || !ref($aa)
583 2 3 0 ref $ae eq 'ARRAY' || !ref($ae)
739 0 0 1 not defined $k or ref $k ne "HASH"
0 0 1 not defined $k or ref $k ne "HASH" or not defined $k->{'kty'}
741 0 0 1 $k->{'d'} or $k->{'p'}
0 0 1 $k->{'d'} or $k->{'p'} or $k->{'q'}
0 0 1 $k->{'d'} or $k->{'p'} or $k->{'q'} or $k->{'dp'}
0 0 1 $k->{'d'} or $k->{'p'} or $k->{'q'} or $k->{'dp'} or $k->{'dq'}
0 0 1 $k->{'d'} or $k->{'p'} or $k->{'q'} or $k->{'dp'} or $k->{'dq'} or $k->{'qi'}