From: Mischa Poslawsky Date: Fri, 25 Jul 2008 23:40:05 +0000 (+0200) Subject: XXX: hidden hash X-Git-Url: http://git.shiar.net/perl/html-form-simple.git/commitdiff_plain/d74d61d638a9f0c83f3860de02225c16309ccf2d XXX: hidden hash --- diff --git a/lib/HTML/Form/Simple.pm b/lib/HTML/Form/Simple.pm index 5946030..bbeb6b6 100644 --- a/lib/HTML/Form/Simple.pm +++ b/lib/HTML/Form/Simple.pm @@ -71,6 +71,11 @@ sub hidden { my $self = shift; my ($name, $value, $attr) = $self->_attr(2, @_); + if (ref $name eq 'HASH') { + my @return = map { $self->hidden($_, $name->{$_}, $attr) } sort keys %$name; + return wantarray ? @return : join(defined $, ? $, : '', @return); + } + $attr->{name } = $name if defined $name; $attr->{value} = $value if defined $value; $attr->{type} = 'hidden' unless defined $attr->{type}; diff --git a/t/html.t b/t/html.t index 8ab4806..3c6d8f4 100644 --- a/t/html.t +++ b/t/html.t @@ -5,7 +5,7 @@ use warnings; use Test::More; -plan tests => 52; +plan tests => 53; use_ok('HTML::Form::Simple'); @@ -58,6 +58,15 @@ is( 'hidden options' ); +is_deeply( + [ $form->hidden({2 => 0, 10 => 1}, {class => 'test'}) ], + [ + '', + '', + ], + 'hidden hash' +); + # submit is(