File: tt_render_elementx.t

package info (click to toggle)
libhtml-formhandler-perl 0.40067-1
  • links: PTS, VCS
  • area: main
  • in suites: stretch
  • size: 2,432 kB
  • ctags: 697
  • sloc: perl: 9,312; makefile: 2
file content (63 lines) | stat: -rw-r--r-- 1,906 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
use strict;
use warnings;
use Test::More;
use File::ShareDir;
use HTML::TreeBuilder;
use HTML::FormHandler::Test;

BEGIN {
    plan skip_all => 'Install Template Toolkit to test Render::WithTT'
       unless eval { require Template };
}


{
    package Test::Form;
    use HTML::FormHandler::Moose;
    extends 'HTML::FormHandler';
    with 'HTML::FormHandler::Render::WithTT' =>
        { -excludes => [ 'build_tt_template', 'build_tt_include_path' ] };
    sub build_tt_template     {'form/form22.tt'}
    sub build_tt_include_path { ['share/templates'] }

    has_field 'foo';
    has_field 'opt_in' => ( type => 'Checkbox' );
    has_field 'choose' => ( type => 'Select', default => 2 );
    sub options_choose {
        return (
            1   => 'apples',
            2   => 'oranges',
            3   => 'kiwi',
        );
    }
    has_field 'my_hidden' => ( type => 'Hidden' );
    has_field 'submit' => ( type => 'Submit' );
}

my $form = Test::Form->new;
ok( $form, 'form builds' );
my $rendered = $form->tt_render;
ok($rendered, 'form tt renders' );
my $expected = '
<form class="xxx www">
  <div class="c23 a44">
    <label>Foo</label><input class="c123 ty63" id="foo" name="foo" type="text" value="" />
  </div><div class="x33 y55">
    <label class="muha" for="opt_in">Opt in?</label><input class="v22 dg34" id="opt_in" name="opt_in" type="checkbox" value="1" />
  </div>
  <div class="select p55">
    <select class="sw11" id="choose" name="choose">
      <option id="choose.0" value="1">apples</option>
      <option id="choose.1" selected="selected" value="2">oranges</option>
      <option id="choose.2" value="3">kiwi</option>
    </select>
  </div>
  <div classs="c23 a44">
    <input class="ghty" id="submit" name="submit" type="submit" value="Save" />
  </div>
  <input id="hid12" name="my_hidden" type="hidden" value="" />
</form>
';
is_html( $rendered, $expected);

done_testing;