Branch Coverage

blib/lib/Crypt/SRP.pm
Criterion Covered Total %
branch 49 124 39.5


line true false branch
202 0 0 if defined $group
203 0 0 if defined $hash
204 0 0 if defined $format
205 0 0 if defined $interleaved
206 0 0 if defined $default_salt_len
217 0 0 unless eval { do { require Storable } }
224 0 0 unless eval { do { require Storable } }
240 1 2 if defined $Bytes_B
241 0 3 if defined $Bytes_A
242 0 3 if defined $Bytes_a
253 1 1 if defined $Bytes_A
254 1 1 if defined $Bytes_B
255 1 1 if defined $Bytes_b
282 0 1 unless defined $Bytes_M2 and defined $M2 and $Bytes_M2 eq $M2
299 0 0 unless $I
319 0 1 unless $Bytes_M1 eq $M1
359 0 0 unless $self->_validate_A_or_B($Bytes_A)
367 0 0 unless $self->_validate_A_or_B($Bytes_B)
374 0 0 unless ref $self
384 5 0 if ($self->{'GROUP'} =~ /RFC5054-(1024|1536|2048|3072|4096|6144|8192)bit$/) { }
387 5 0 unless $str =~ /^0x/
397 0 5 unless defined $self->_HASH('test')
403 27 0 if $self->{'HASH'} =~ /^SHA(1|256|384|512)$/
412 0 0 if @all_bytes % 2
425 12 4 if length $data >= $self->{'N_LENGTH'}
431 0 3 unless defined $self->{'Bytes_s'} and defined $self->{'Bytes_I'} and defined $self->{'Bytes_P'}
440 0 2 unless defined $self->{'Num_x'} and defined $self->{'Num_N'} and defined $self->{'Num_g'}
449 0 1 unless defined $self->{'Num_a'} and defined $self->{'Num_N'} and defined $self->{'Num_g'}
457 0 2 unless defined $self->{'Num_A'} and defined $self->{'Num_B'}
466 0 2 unless defined $self->{'Num_N'} and defined $self->{'Num_g'}
474 0 1 unless defined $self->{'Num_B'} and defined $self->{'Num_a'} and defined $self->{'Num_u'} and defined $self->{'Num_k'}
475 0 1 unless defined $self->{'Num_x'} and defined $self->{'Num_N'} and defined $self->{'Num_g'}
483 1 0 if $tmp3 < 0
490 0 1 unless defined $self->{'Num_A'} and defined $self->{'Num_b'} and defined $self->{'Num_u'}
491 0 1 unless defined $self->{'Num_v'} and defined $self->{'Num_N'}
500 0 2 unless defined $self->{'Num_S'}
503 0 2 $self->{'INTERLEAVED'} ? :
509 0 2 unless defined $self->{'Num_A'} and defined $self->{'Num_B'} and defined $self->{'Num_N'} and defined $self->{'Num_g'}
510 0 2 unless defined $self->{'Bytes_K'} and defined $self->{'Bytes_I'} and defined $self->{'Bytes_s'}
520 0 2 unless defined $self->{'Bytes_K'} and defined $self->{'Num_A'} and defined $self->{'Bytes_M1'}
528 0 1 unless defined $self->{'Num_k'} and defined $self->{'Num_b'} and defined $self->{'Num_N'} and defined $self->{'Num_g'}
539 2 0 if (defined $pre)
541 0 2 unless $result->bcmp($min) >= 0
542 0 2 unless $result->bcmp($max) <= 0
546 0 0 if $len < 32
550 0 0 if $result->bcmp($min) >= 0
567 0 0 unless $bytes and $self->{'Num_N'}
569 0 0 unless $num
570 0 0 if $num->bmod($self->{'Num_N'}) == 0
583 0 44 unless defined $bignum and ref $bignum eq 'Math::BigInt'
589 0 14 unless defined $bytes
596 0 16 unless defined $bytes
597 15 1 if $format eq 'raw'
598 1 0 if $format eq 'hex'
599 0 0 if $format eq 'base64'
600 0 0 if $format eq 'base64url'
607 0 13 unless defined $input
608 12 1 if $format eq 'raw'
609 1 0 if $format eq 'hex'
610 0 0 if $format eq 'base64'
611 0 0 if $format eq 'base64url'
618 5 40 if length($hex) % 2