use strict; use warnings; use Test::More; use HTML::FormHandler::Test; { package Test::Rendering; use HTML::FormHandler::Moose; extends 'HTML::FormHandler'; has_field 'my_comp' => ( type => 'Compound', widget_wrapper => 'SimpleInline', wrapper => 1 ); has_field 'my_comp.one'; has_field 'my_comp.two'; has_field 'my_alt' => ( type => 'Compound', widget_wrapper => 'TableInline', wrapper => 1 ); has_field 'my_alt.one' => ( widget_wrapper => 'TableInline' ); has_field 'my_alt.two' => ( widget_wrapper => 'TableInline' );; sub html_attributes { my ( $self, $field, $type, $attr ) = @_; $attr->{class} = 'label' if $type eq 'label'; return $attr; } } my $form = Test::Rendering->new; my $expected = '
'; my $rendered = $form->field('my_comp')->render; is_html( $rendered, $expected, 'compound field with inline wrapper' ); is_html( $form->field('my_alt')->widget_wrapper, 'TableInline', 'widget wrapper works' ); $expected = ' '; $rendered = $form->field('my_alt')->render; is_html( $rendered, $expected, 'compound field with table inline wrapper' ); done_testing;