File Coverage

blib/lib/Data/Password/zxcvbn/German.pm
Criterion Covered Total %
statement 22 22 100.0
branch n/a
condition 3 8 37.5
subroutine 5 5 100.0
pod 0 1 0.0
total 30 36 83.3


line stmt bran cond sub pod time code
1             package Data::Password::zxcvbn::German;
2 1     1   227032 use strict;
  1         6  
  1         29  
3 1     1   6 use warnings;
  1         3  
  1         23  
4 1     1   470 use Data::Password::zxcvbn;
  1         72004  
  1         49  
5 1     1   9 use Exporter 'import';
  1         2  
  1         171  
6             our @EXPORT_OK=qw(password_strength);
7             our $VERSION = '1.0.2'; # VERSION
8             # ABSTRACT: Dropbox's password estimation logic, with German defaults
9              
10              
11             sub password_strength {
12 3     3 0 63779 my ($password, $opts) = @_;
13              
14 3   50     8 my %actual_opts = %{ $opts // {} };
  3         25  
15 3   33     17 $actual_opts{ranked_dictionaries} //= do {
16 3         474 require Data::Password::zxcvbn::German::RankedDictionaries;
17 3         21 \%Data::Password::zxcvbn::German::RankedDictionaries::ranked_dictionaries;
18             };
19 3   33     17 $actual_opts{graphs} //= do {
20 3         20 require Data::Password::zxcvbn::German::RankedDictionaries;
21 3         13 \%Data::Password::zxcvbn::German::AdjacencyGraph::graphs;
22             };
23              
24 3         15 return Data::Password::zxcvbn::password_strength(
25             $password,
26             \%actual_opts,
27             );
28             }
29              
30             1;
31              
32             __END__
33              
34             =pod
35              
36             =encoding UTF-8
37              
38             =head1 NAME
39              
40             Data::Password::zxcvbn::German - Dropbox's password estimation logic, with German defaults
41              
42             =head1 VERSION
43              
44             version 1.0.2
45              
46             =head1 SYNOPSIS
47              
48             use Data::Password::zxcvbn::German qw(password_strength);
49              
50             my $strength = password_strength($my_password);
51             warn $strength->{warning} if $strength->{score} < 3;
52              
53             =head1 DESCRIPTION
54              
55             This is a variant of L<< C<Data::Password::zxcvbn> >> with German
56             data. See that distribution for all the documentation.
57              
58             =for Pod::Coverage password_strength
59              
60             =head1 AUTHOR
61              
62             Gianni Ceccarelli <dakkar@thenautilus.net>
63              
64             =head1 COPYRIGHT AND LICENSE
65              
66             This software is copyright (c) 2023 by BroadBean UK, a CareerBuilder Company.
67              
68             This is free software; you can redistribute it and/or modify it under
69             the same terms as the Perl 5 programming language system itself.
70              
71             =cut