X-Git-Url: http://git.shiar.net/perl/html-form-simple.git/blobdiff_plain/bb5bd81e03c47ff9cc779c5109bd6e042219a1f8..61dd576040bbb86eb8925c1c80a830bfa998eb41:/t/html.t diff --git a/t/html.t b/t/html.t index 2fea804..89f82a1 100644 --- a/t/html.t +++ b/t/html.t @@ -5,7 +5,7 @@ use warnings; use Test::More; -plan tests => 55; +plan tests => 65; use_ok('HTML::Form::Simple'); @@ -356,6 +356,39 @@ is_deeply( 'multiple radios with custom values' ); +{ + # make sure arguments aren't modified + my @args = (foo => [0, 1], [0, {value => 1}], {name => 0, value => 1}); + my @orgs = (foo => [0, 1], [0, {value => 1}], {name => 0, value => 1}); + my @output = ( + '', + '', + ); + + is_deeply( + [ $form->radio(@args) ], + \@output, + 'options var to radio' + ); + + is_deeply( + [ $form->check(@args) ], + [ + '', + '', + ], + 'options var to check' + ); + + is( + scalar $form->radio(@args), + join('', @output), + 'options var again to radio' + ); + + is_deeply(\@args, \@orgs, 'options var unmodified'); +} + # check is( @@ -422,5 +455,43 @@ is_deeply( 'various checkboxes' ); +# defaults + +my $defform = HTML::Form::Simple->new({foo => '<">', '' => 'empty', 0 => 0}); +ok($defform, 'form with defaults'); + +is( + $defform->hidden(''), + '', + 'hidden with default' +); + +is( + $defform->hidden(undef), + '', + 'nameless hidden' +); + +is( + $defform->text('foo'), + '', + 'input with default' +); + +is( + $defform->text('foo', {value => 'custom'}), + '', + 'input with value and default' +); + +is_deeply( + [ $defform->radio(0 => undef, [1, 0]) ], + [ + '', + '', + ], + 'select with default' +); + #TODO