~ubuntu-branches/ubuntu/trusty/libhtml-formhandler-perl/trusty

« back to all changes in this revision

Viewing changes to t/render/rep_fieldset.t

  • Committer: Package Import Robot
  • Author(s): gregor herrmann
  • Date: 2012-04-13 16:41:06 UTC
  • mfrom: (1.1.1)
  • Revision ID: package-import@ubuntu.com-20120413164106-f7r017o7s486kp5i
Tags: 0.40006-1
* New upstream release.
* Drop pod.patch, merged upstream.

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
use strict;
 
2
use warnings;
 
3
use Test::More;
 
4
use HTML::FormHandler::Test;
 
5
 
 
6
# this renders repeatable instances with a fieldset wrapper
 
7
{
 
8
    package Test::Form;
 
9
    use HTML::FormHandler::Moose;
 
10
    extends 'HTML::FormHandler';
 
11
 
 
12
    has '+name' => ( default => 'test_form' );
 
13
    has_field 'records' => ( type => 'Repeatable', num_when_empty => 2,
 
14
        init_contains => { tags => { wrapper_tag => 'fieldset' } } );
 
15
    has_field 'records.one';
 
16
    has_field 'records.two';
 
17
}
 
18
 
 
19
my $form = Test::Form->new;
 
20
$form->process( params => {} );
 
21
my $rendered = $form->render;
 
22
my $expected =
 
23
'<form id="test_form" method="post">
 
24
  <div class="form_messages">
 
25
  </div>
 
26
  <fieldset class="hfh-repinst">
 
27
    <div>
 
28
      <label for="records.0.one">One</label>
 
29
      <input type="text" name="records.0.one" id="records.0.one" value="" />
 
30
    </div>
 
31
    <div>
 
32
      <label for="records.0.two">Two</label>
 
33
      <input type="text" name="records.0.two" id="records.0.two" value="" />
 
34
    </div>
 
35
  </fieldset>
 
36
  <fieldset class="hfh-repinst">
 
37
    <div>
 
38
      <label for="records.1.one">One</label>
 
39
      <input type="text" name="records.1.one" id="records.1.one" value="" />
 
40
    </div>
 
41
    <div>
 
42
      <label for="records.1.two">Two</label>
 
43
      <input type="text" name="records.1.two" id="records.1.two" value="" />
 
44
    </div>
 
45
  </fieldset>
 
46
</form>';
 
47
is_html( $rendered, $expected, 'rendered repeatable instances with fieldset' );
 
48
 
 
49
# tests setting repeatable instance wrapper to fieldset with update_subfields
 
50
{
 
51
    package Test::Form2;
 
52
    use HTML::FormHandler::Moose;
 
53
    extends 'HTML::FormHandler';
 
54
 
 
55
    has '+name' => ( default => 'test_form' );
 
56
    sub build_update_subfields { { by_flag => {
 
57
        repeatable => { init_contains => { tags => { wrapper_tag => 'fieldset' }}}}}}
 
58
    has_field 'records' => ( type => 'Repeatable', num_when_empty => 2 );
 
59
    has_field 'records.one';
 
60
    has_field 'records.two';
 
61
}
 
62
 
 
63
$form = Test::Form2->new;
 
64
$form->process;
 
65
$rendered = $form->render;
 
66
$expected =
 
67
'<form id="test_form" method="post">
 
68
  <div class="form_messages">
 
69
  </div>
 
70
  <fieldset class="hfh-repinst">
 
71
    <div>
 
72
      <label for="records.0.one">One</label>
 
73
      <input type="text" name="records.0.one" id="records.0.one" value="" />
 
74
    </div>
 
75
    <div>
 
76
      <label for="records.0.two">Two</label>
 
77
      <input type="text" name="records.0.two" id="records.0.two" value="" />
 
78
    </div>
 
79
  </fieldset>
 
80
  <fieldset class="hfh-repinst">
 
81
    <div>
 
82
      <label for="records.1.one">One</label>
 
83
      <input type="text" name="records.1.one" id="records.1.one" value="" />
 
84
    </div>
 
85
    <div>
 
86
      <label for="records.1.two">Two</label>
 
87
      <input type="text" name="records.1.two" id="records.1.two" value="" />
 
88
    </div>
 
89
  </fieldset>
 
90
</form>';
 
91
is_html( $rendered, $expected, 'setting wrapper_tag to fieldset using by_flag works' );
 
92
 
 
93
done_testing;