1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73
|
use strict;
use warnings;
use Test::More;
use HTML::FormHandler::Test;
{
package MyApp::Form::Test;
use HTML::FormHandler::Moose;
extends 'HTML::FormHandler';
with 'HTML::FormHandler::Widget::Theme::Bootstrap3';
sub build_form_tags {
{
'layout_classes' => {
label_class => ['col-lg-2'],
element_wrapper_class => ['col-lg-10'],
no_label_element_wrapper_class => ['col-lg-offset-2'],
},
}
}
has_field 'checkboxes' => (
type => 'Multiple',
widget => 'HorizCheckboxGroup',
);
sub options_checkboxes {
return (
1 => 'tag1',
2 => 'tag2',
3 => 'tag3',
4 => 'tag4',
);
}
}
my $form = MyApp::Form::Test->new;
$form->process;
my $expected = '
<div class="form-group">
<label class="col-lg-2 control-label" for="checkboxes">Checkboxes</label>
<div class="col-lg-10">
<div class="checkbox">
<label for="checkboxes.0">
<input id="checkboxes.0" name="checkboxes" type="checkbox" value="1" />
tag1
</label>
</div>
<div class="checkbox">
<label for="checkboxes.1">
<input id="checkboxes.1" name="checkboxes" type="checkbox" value="2" />
tag2
</label>
</div>
<div class="checkbox">
<label for="checkboxes.2">
<input id="checkboxes.2" name="checkboxes" type="checkbox" value="3" />
tag3
</label>
</div>
<div class="checkbox">
<label for="checkboxes.3">
<input id="checkboxes.3" name="checkboxes" type="checkbox" value="4" />
tag4
</label>
</div>
</div>
</div>
';
is_html( $form->field('checkboxes')->render, $expected, 'checkbox group rendered ok' );
done_testing;
|