use strict; use warnings; use Test::More; eval { require Template; }; if ($@) { plan skip_all => 'Template.pm required'; exit; } else { plan tests => 2; } use HTML::FormFu; my $form = HTML::FormFu->new( { tt_args => { INCLUDE_PATH => 'share/templates/tt/xhtml' } } ); $form->element('Password')->name('foo')->label('Foo') ->label_attributes( { class => 'my_label' } )->comment('Comment') ->render_value(1); $form->element('Submit')->name('submit'); $form->constraint( Required => 'foo' ); my $template = Template->new; my $data = do { local $/; }; my $output; $template->process( \$data, { form => $form }, \$output ) or die $template->error; my $xhtml = <
Comment
Comment
EOF is( $output, $xhtml ); # check that errors are carried to the new field { my $xhtml = <
This field is required Comment
This field is required Comment
EOF $form->process( { submit => 'Submit', } ); my $output = undef; $template->process( \$data, { form => $form }, \$output ) or die $template->error; is( $output, $xhtml ); } __DATA__ [% form.start %] [% form.get_field('foo') %] [% form.get_field('foo').as('Text', 'disabled', 'disabled') %] [% form.get_field('submit') %] [% form.end %]