my
$tests
= 10;
plan
tests
=>
$tests
;
my
$class
=
'HTML::FormHandler::Field::Multiple'
;
my
$name
= $1
if
$class
=~ /::([^:]+)$/;
use_ok(
$class
);
my
$field
=
$class
->new(
name
=>
'test_field'
,
type
=>
$name
,
);
$field
->options([
{
value
=> 1,
label
=>
'one'
},
{
value
=> 2,
label
=>
'two'
},
{
value
=> 3,
label
=>
'three'
},
]);
ok(
defined
$field
,
'new() called'
);
$field
->input( 1 );
$field
->process;
ok( !
$field
->has_errors,
'Test for errors 1'
);
is(
$field
->value, 1,
'Test true == 1'
);
$field
->input( [1] );
$field
->process;
ok( !
$field
->has_errors,
'Test for errors 2'
);
ok( eq_array(
$field
->value, [1],
'test array'
),
'Check [1]'
);
$field
->input( [1,2] );
$field
->process;
ok( !
$field
->has_errors,
'Test for errors 3'
);
ok( eq_array(
$field
->value, [1,2],
'test array'
),
'Check [1,2]'
);
$field
->input( [1,2,4] );
$field
->process;
ok(
$field
->has_errors,
'Test for errors 4'
);
is(
$field
->errors->[0],
"'4' is not a valid value"
,
'Error message'
);