use strict;
use warnings;
use Test::More tests => 9;
use HTML::FormFu;
my $form = HTML::FormFu->new;
$form->element('Text')->name('foo');
$form->element('Text')->name('bar');
$form->element('Text')->name('string');
$form->constraint( 'Number', 'foo', 'bar', 'string' );
$form->process(
{ foo => 1,
bar => [ 2, 3 ],
string => 'yada',
unknown => 4,
} );
ok( grep { $_ eq 'foo' } $form->param );
ok( grep { $_ eq 'bar' } $form->param );
ok( !grep { $_ eq 'string' } $form->param );
ok( !grep { $_ eq 'unknown' } $form->param );
is( $form->param('foo'), 1, 'foo param' );
my $bar = $form->param('bar');
is( $bar, 2, 'bar param scalar context' );
my @bar = $form->param('bar');
is_deeply( \@bar, [ 2, 3 ], 'bar param list context' );
ok( !$form->param('string'), 'string param not returned' );
ok( !$form->param('unknown'), 'unknown param not returned' );