use strict; use warnings; use Test::More; use HTML::FormHandler::Test; { package Test::Form; use HTML::FormHandler::Moose; extends 'HTML::FormHandler'; sub build_form_element_attr { { method => 'GET', class => 'hfh test_form', target => '_blank' } } has_field 'foo' => ( element_attr => { arbitrary => 'something' } ); has_field 'bar' => ( element_attr => { writeonly => 1 }, label_attr => { title => 'Bar Field' } ); has_field 'mox' => ( wrapper_class => ['minx', 'finx'] ); has_field 'my_text' => ( type => 'TextArea', element_attr => { required => "required" } ); } my $form = Test::Form->new; $form->process( params => {} ); my $rendered = $form->render; like( $rendered, qr/class="hfh test_form"/, 'form has class' ); like( $rendered, qr/method="GET"/, 'form has html method' ); like( $rendered, qr/arbitrary="something"/, 'field has arbitrary attribute' ); like( $rendered, qr/writeonly="1"/, 'field has writeonly attribute' ); like( $rendered, qr/target="_blank"/, 'form has target attribute'); like( $rendered, qr{}, 'textarea rendered ok'); like( $rendered, qr{