my
$tests
= 11;
plan
tests
=>
$tests
;
my
$class
=
'HTML::FormHandler::Field::Password'
;
my
$name
= $1
if
$class
=~ /::([^:]+)$/;
use_ok(
$class
);
my
$form
= my_form->new;
my
$field
=
$class
->new(
name
=>
'test_field'
,
type
=>
$name
,
form
=>
$form
,
);
ok(
defined
$field
,
'new() called'
);
$field
->input(
'2192ab201def'
);
$field
->process;
ok( !
$field
->has_errors,
'Test for errors 1'
);
$field
->input(
'f oo'
);
$field
->process;
ok(
$field
->has_errors,
'has spaces'
);
$field
->input(
'abc%^%'
);
$field
->process;
ok(
$field
->has_errors,
'match \W'
);
$field
->input(
'123456'
);
$field
->process;
ok(
$field
->has_errors,
'all digits'
);
$field
->input(
'ab1'
);
$field
->process;
ok(
$field
->has_errors,
'too short'
);
$field
->input(
'my4login55'
);
$field
->process;
ok(
$field
->has_errors,
'matches login'
);
$field
->input(
'my4username'
);
$field
->process;
ok(
$field
->has_errors,
'matches username'
);
my
$pass
=
'my4user5name'
;
$field
->input(
$pass
);
$field
->process;
ok( !
$field
->has_errors,
'just right'
);
is (
$field
->value,
$pass
,
'Input and value match'
);
sub
field_list {
return
{
optional
=> {
login
=>
'Text'
,
username
=>
'Text'
,
password
=>
'Password'
,
},
};
}
sub
params {
{
login
=>
'my4login55'
,
username
=>
'my4username'
,
};
}