use strict;
use warnings;
use Test::More tests => 5;
use HTML::FormFu;
my $form = HTML::FormFu->new;
# Autoset with multiple values
$form->element('Select')->name('foo')->values( [qw/ one two three /] )
->constraint('AutoSet');
# Valid
{
$form->process( { foo => 'two', } );
# Constraint set has 3 values
is_deeply( $form->get_constraint->set, [qw/ one two three /] );
ok( $form->valid('foo') );
}
# Invalid
{
$form->process( { foo => 'yes', } );
ok( $form->has_errors('foo') );
}
# Autoset with a single value
$form->element('Select')->name('bar')->values( [qw/ one /] )
->constraint('AutoSet');
# Valid
{
$form->process( { bar => 'one', } );
ok( $form->valid('bar') );
}
# Invalid
{
$form->process( { bar => 'yes', } );
ok( $form->has_errors('bar') );
}