File: config.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 (51 lines) | stat: -rw-r--r-- 1,383 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
use strict;
use warnings;
use Test::More;
use HTML::TreeBuilder;

BEGIN {
    plan skip_all => 'Template Toolkit required'
       unless eval { require Template };
    plan skip_all => 'Config::Any required'
       unless eval { require Config::Any };
    plan skip_all => 'YAML::Syck required'
       unless eval { require YAML::Syck };
}

use HTML::FormHandler::Foo;
use FindBin;

# test Foo class for loading form info from config

my $expected =
'<form action="/login" id="login_form" method="post">
<div class="text label">
<label>Username</label>
<input name="user" type="text" />
</div>
<div class="password label">
<label>Password</label>
<input name="pass" type="password" />
</div>
<div class="checkbox label">
<label>Opt in?</label>
<input name="opt_in" type="checkbox" value="1" />
</div>
<div class="submit">
<input name="submit" type="submit" value="Login" />
</div>
</form>
';

my $form = HTML::FormHandler::Foo->new( config_file => "$FindBin::Bin/../var/form1.yml" );
$form->process({});
is( $form->num_fields, 4, 'right number of fields');
my $tt_rendered_form = $form->tt_render;
ok($tt_rendered_form, 'form rendered');

my $expected_tree = HTML::TreeBuilder->new_from_content($expected);
my $tt_tree = HTML::TreeBuilder->new_from_content($tt_rendered_form);
is( $tt_tree->as_HTML, $expected_tree->as_HTML,
    "rendering matches expected output" );

done_testing;