File: blocks.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 (65 lines) | stat: -rw-r--r-- 2,013 bytes parent folder | download | duplicates (4)
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
use strict;
use warnings;
use Test::More;
use Test::Exception;

{
    package Test::Form::User;
    use HTML::FormHandler::Moose;
    extends 'HTML::FormHandler';
    with 'HTML::FormHandler::Widget::Theme::Bootstrap';

    has '+item_class' => ( default => 'User' );

    sub build_render_list { ['details', 'protect','submit'] }

    has_field 'first_name' => (
        type             => 'Text',
        required         => 1,
        required_message => 'Please enter your first name.',
        label            => 'First name',
        wrapper_class    => ['span5'],
    );

    has_field 'last_name' => (
        type             => 'Text',
        required         => 1,
        required_message => 'Please enter your last name.',
        label            => 'First name',
        wrapper_class    => ['span5'],
   );
    has_field 'new_password' => (
        type      => 'Password',
        label     => 'New Password',
        required  => 1,
        minlength => 5,
        wrapper_class    => ['span5'],
    );

    has_field 'new_password_conf' => (
       type           => 'PasswordConf',
       label          => 'New Password (again)',
       password_field => 'new_password',
       required       => 1,
       minlength      => 5,
       wrapper_class     => ['span10'],
    );

    has_field 'submit'  => ( type => 'Submit', value => 'Proceed', element_class => ['btn btn-yellow'] );

    has_block 'details' => ( tag => 'fieldset',
                                        render_list => ['first_name','last_name'],
                                        label => 'Register a new account' );
    has_block 'protect' => ( tag => 'fieldset',
                                         label => 'Protect your information with a password',
                                         render_list => ['new_password', 'new_password_conf'] );

}

my $form = Test::Form::User->new;
ok( $form );

my $result = $form->run( params => {} );
lives_ok( sub { $result->render; }, 'renders ok' );

done_testing;