File: compound_field_list.t

package info (click to toggle)
libhtml-formhandler-perl 0.40057-1
  • links: PTS, VCS
  • area: main
  • in suites: jessie, jessie-kfreebsd
  • size: 2,320 kB
  • ctags: 685
  • sloc: perl: 8,849; makefile: 2
file content (41 lines) | stat: -rw-r--r-- 916 bytes parent folder | download | duplicates (5)
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
use strict;
use warnings;
use Test::More;

# tests that fields are built from a field_list sub in a compound field
{
    package MyApp::Form::Field::MyComp;
    use HTML::FormHandler::Moose;
    extends 'HTML::FormHandler::Field::Compound';

    has 'state' => ( is => 'ro', isa => 'Bool', default => 0 );
    has_field 'foo';
    has_field 'bar';

    sub field_list {
        my $self = shift;
        if ( $self->state ) {
            return [ zed => 'Text' ];
        }
        return [];
    }

}

{
    package MyApp::Form::Test;
    use HTML::FormHandler::Moose;
    extends 'HTML::FormHandler';

    has '+field_name_space' => ( default => 'MyApp::Form::Field' );
    has_field 'mimi';
    has_field 'tutu';
    has_field 'foofoo' => ( type => 'MyComp', state => 1 );

}

my $form = MyApp::Form::Test->new;
ok( $form );
ok( $form->field('foofoo.zed'), 'nested field_list field was created' );

done_testing;