| line | true | false | branch | 
 
| 86 | 0 | 51 | unless (ref $options eq 'HASH') | 
 
| 92 | 0 | 51 | unless (exists $$options{'password'}) | 
 
| 131 | 24 | 0 | if ($self->has_errors) | 
 
| 162 | 2 | 1 | unless ($$self{'password'} =~ /^[[:alnum:]]+$/) | 
 
| 177 | 3 | 4 | unless ($$self{'password'} =~ tr/a-z// and $$self{'password'} =~ tr/A-Z// and $$self{'password'} =~ tr/0-9//) | 
 
| 197 | 1 | 12 | if (exists $$self{'options'}{'min_length'} and not defined $$self{'options'}{'min_length'}) { } | 
 
|  | 7 | 10 | elsif (exists $$self{'options'}{'min_length'} and defined $$self{'options'}{'min_length'}) { } | 
 
| 205 | 4 | 3 | if ($$self{'options'}{'min_length'} =~ /^[1-9]\d*$/) { } | 
 
| 217 | 1 | 8 | unless (defined $$self{'password'}) | 
 
| 222 | 6 | 3 | if (length $$self{'password'} >= $min_length) { } | 
 
| 240 | 8 | 4 | unless ($$self{'password'} =~ /(?:[A-Z].*[a-z]|[a-z].*[A-Z])/) | 
 
| 258 | 0 | 10 | if (exists $$self{'options'}{'diversity_required'} and not defined $$self{'options'}{'diversity_required'}) { } | 
 
|  | 10 | 0 | elsif (exists $$self{'options'}{'diversity_required'} and defined $$self{'options'}{'diversity_required'}) { } | 
 
| 265 | 10 | 0 | if ($$self{'options'}{'diversity_required'} =~ /^[1-4]\d*$/) { } | 
 
| 278 | 18 | 22 | if ($$self{'password'} =~ /$pattern/) | 
 
| 284 | 3 | 7 | if ($group_count < $diversity_required) | 
 
| 327 | 6 | 7 | if (exists $$self{'options'}{'silly_words'}) | 
 
| 329 | 6 | 0 | if (ref $$self{'options'}{'silly_words'} eq 'ARRAY') { } | 
 
| 339 | 2 | 11 | if (exists $$self{'options'}{'silly_words_append'}) | 
 
| 341 | 2 | 0 | if (ref $$self{'options'}{'silly_words_append'} eq 'ARRAY') { } | 
 
| 345 | 6 | 0 | unless (grep {/^$append$/;} @silly_words) | 
 
| 358 | 6 | 29 | if ($$self{'password'} =~ /^$silly$/i) | 
 
| 373 | 3 | 6 | if ($$self{'password'} =~ /^(.)\1+$/) | 
 
| 406 | 46 | 5 | if (exists $$self{'options'}{'tests'}) | 
 
| 407 | 46 | 0 | if (ref $$self{'options'}{'tests'} eq 'ARRAY') { } | 
 
| 420 | 1 | 50 | if (exists $$self{'options'}{'append_tests'}) | 
 
| 421 | 1 | 0 | if (ref $$self{'options'}{'append_tests'} eq 'ARRAY') { } | 
 
| 437 | 67 | 0 | if ($self->can("_check_$test")) { } | 
 
| 438 | 4 | 63 | unless (defined $self->$fn) | 
 
| 441 | 0 | 4 | if $$self{'DEBUG'} | 
 
| 449 | 0 | 0 | if ($custom_checks) { } | 
 
| 489 | 4 | 0 | if (exists $$self{'skipped_tests'}) | 
 
| 491 | 4 | 0 | if (grep {/^$testname$/;} @{$$self{'skipped_tests'};}) |