File: horiz_checkboxgroup.t

package info (click to toggle)
libhtml-formhandler-perl 0.40068-1
  • links: PTS, VCS
  • area: main
  • in suites: bullseye, buster
  • size: 2,484 kB
  • sloc: perl: 9,416; makefile: 2
file content (73 lines) | stat: -rw-r--r-- 1,842 bytes parent folder | download | duplicates (3)
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;