Condition Coverage

blib/lib/PHP/Functions/Password.pm
Criterion Covered Total %
condition 42 105 40.0


and 3 conditions

line !l l&&!r l&&r condition
191 0 29 5 @_ && UNIVERSAL::isa($_[0], 'PHP::Functions::Password')
260 0 0 9 @_ && UNIVERSAL::isa($_[0], 'PHP::Functions::Password')
263 9 0 0 @_ && ref $_[0]
269 3 0 0 defined $options{'salt'} and length $options{'salt'}
292 0 0 0 $options{'cost'} =~ /^\d{1,2}$/ and $options{'cost'} >= $min_cost
0 0 0 $options{'cost'} =~ /^\d{1,2}$/ and $options{'cost'} >= $min_cost and $options{'cost'} <= $max_cost
346 0 12 12 @_ && UNIVERSAL::isa($_[0], 'PHP::Functions::Password')
349 0 0 24 @_ && ref $_[0]
362 0 4 4 defined $info{'options'}{'cost'} and $info{'options'}{'cost'} == $cost
383 2 0 0 defined $options{'salt'} && length $options{'salt'}
432 0 25 25 @_ && UNIVERSAL::isa($_[0], 'PHP::Functions::Password')
485 0 0 1 @_ && UNIVERSAL::isa($_[0], 'PHP::Functions::Password')
500 0 0 5 @_ && UNIVERSAL::isa($_[0], 'PHP::Functions::Password')
516 0 0 9 @_ && UNIVERSAL::isa($_[0], 'PHP::Functions::Password')
518 0 9 0 @_ && ref $_[0]
534 0 0 12 @_ && UNIVERSAL::isa($_[0], 'PHP::Functions::Password')
548 0 0 25 @_ && UNIVERSAL::isa($_[0], 'PHP::Functions::Password')

or 2 conditions

line l !l condition
262 9 0 shift() // 1
348 24 0 shift @_ // 1
519 9 0 $options{'algo'} || 1

or 3 conditions

line l !l&&r !l&&!r condition
167 0 2 0 $INC{'Crypt/Argon2.pm'} or eval { do { require Crypt::Argon2 } }
267 3 3 0 $algo == 3 or $algo == 2
310 6 0 0 $INC{'Crypt/Argon2.pm'} or eval { do { require Crypt::Argon2 } }
314 0 6 0 $options{'salt'} || Crypt::OpenSSL::Random::random_bytes($PASSWORD_ARGON2_DEFAULT_SALT_LENGTH)
315 0 6 0 $options{'memory_cost'} || $PASSWORD_ARGON2_DEFAULT_MEMORY_COST
316 0 6 0 $options{'time_cost'} || $PASSWORD_ARGON2_DEFAULT_TIME_COST
317 0 6 0 $options{'threads'} || $PASSWORD_ARGON2_DEFAULT_THREADS
318 0 6 0 $options{'tag_length'} || $PASSWORD_ARGON2_DEFAULT_TAG_LENGTH
355 8 0 2 $algo == 3 or $algo == 2
361 4 4 0 $options{'cost'} // $PASSWORD_BCRYPT_DEFAULT_COST
368 8 0 0 $options{'memory_cost'} // $PASSWORD_ARGON2_DEFAULT_MEMORY_COST
373 6 0 0 $options{'time_cost'} // $PASSWORD_ARGON2_DEFAULT_TIME_COST
378 4 0 0 $options{'threads'} // $PASSWORD_ARGON2_DEFAULT_THREADS
384 0 2 0 $options{'tag_length'} || $PASSWORD_ARGON2_DEFAULT_TAG_LENGTH
386 1 1 0 $INC{'Crypt/Argon2.pm'} or eval { do { require Crypt::Argon2 } }
448 16 0 0 $INC{'Crypt/Argon2.pm'} or eval { do { require Crypt::Argon2 } }