File Coverage

blib/lib/Dancer2/Plugin/FormValidator/Extension/Password/Hard.pm
Criterion Covered Total %
statement 13 14 92.8
branch 1 2 50.0
condition n/a
subroutine 5 5 100.0
pod 0 2 0.0
total 19 23 82.6


line stmt bran cond sub pod time code
1              
2             use Moo;
3 2     2   1442 use utf8;
  2         5  
  2         34  
4 2     2   604 use namespace::clean;
  2         10  
  2         26  
5 2     2   60  
  2         4  
  2         12  
6             with 'Dancer2::Plugin::FormValidator::Role::Validator';
7              
8             return {
9             en => '%s must be minimum 8 characters long and contain at least one uppercase letter, one lowercase letter, one number and a special character',
10             ru => '%s должен иметь длину не менее 8 символов и состоять хотя бы из одной заглавной буквы, строчной буквы, числа и специального символа',
11 1     1 0 1677 de => '%s muss mindestens 8 Zeichen lang sein und mindestens einen Großbuchstaben, einen Kleinbuchstaben, eine Ziffer und ein Sonderzeichen enthalten',
12             };
13             }
14              
15             my ($self, $field, $input) = @_;
16              
17             if ($self->_field_defined_and_non_empty($field, $input)) {
18 3     3 0 2302 return $input->{$field} =~ /^(?=.*[a-z])(?=.*[A-Z])(?=.*[\@\$!%*#?&])[A-Za-z\d\@\$!%*#?&]{8,}$/;
19             }
20 3 50       14  
21 3         55 return 1;
22             }
23              
24 0           1;