HTML-FormBuilder
view release on metacpan or search on metacpan
t/formbuilder_output.t view on Meta::CPAN
#!/usr/bin/perl
use strict;
use warnings;
use FindBin qw/$Bin/;
use lib "$Bin/lib";
use TestHelper;
use Test::More;
use Test::FailWarnings;
use Test::Exception;
use HTML::FormBuilder;
use HTML::FormBuilder::Select;
my ($form_obj, $result, $expect_result);
$form_obj = HTML::FormBuilder->new(
data => {id => 'testid'},
classes => $classes
);
my $fieldset = $form_obj->add_fieldset({
legend => 'a legend',
header => 'header',
comment => 'comment'
});
my $input_field_amount = {
'label' => {
'text' => 'Amount',
'for' => 'amount',
'tooltip' => {
desc => "this is a tool tip",
img_url => "test.png"
},
'required_mark' => 1,
},
'input' => {
'heading' => 'heading',
'type' => 'text',
'id' => 'amount',
'name' => 'amount',
'maxlength' => 40,
'value' => '',
},
'comment' => {text => 'commenttext'},
'error' => [{text => 'errortext'}],
};
my $input_field_button = {
'input' => {
'type' => 'button',
'id' => 'Button',
'name' => 'Button name',
'value' => 'button value',
},
};
$fieldset->add_field($input_field_amount);
$fieldset->add_field($input_field_button);
lives_ok(sub { $result = $form_obj->build }, 'build tooltip ok');
$expect_result = <<EOF;
<form id="testid" method="get"><div class="rbox form">
<div class="rbox-wrap">
<fieldset><legend>a legend</legend><h2>header</h2><div class="grd-grid-12"><p>comment</p></div><div class="grd-row-padding row clear"><div class="extra_tooltip_container"><label for="amount"><em class="required_asterisk">**</em>Amount</label>...
<span class="tl"> </span><span class="tr"> </span><span class="bl"> </span><span class="br"> </span>
</div>
</div>
</form>
EOF
chomp $expect_result;
is($result, $expect_result, 'tooltip and call_customer_support');
# test heading
$form_obj = HTML::FormBuilder->new(
data => {id => 'testid'},
classes => $classes
);
$fieldset = $form_obj->add_fieldset({});
my $input_field1 = {
'input' => {
'heading' => 'text heading',
'type' => 'text',
'id' => 'amount',
'name' => 'amount',
'maxlength' => 40,
'value' => '',
},
};
my $input_field2 = {
'input' => {
'heading' => 'checkbox heading',
'type' => 'checkbox',
'id' => 'single_checkbox',
'name' => 'single_checkbox',
'value' => 'SGLBOX',
},
};
$fieldset->add_field($input_field1);
$fieldset->add_field($input_field2);
lives_ok(sub { $result = $form_obj->build }, 'build field with heading');
$expect_result = <<EOF;
<form id="testid" method="get"><div class="rbox form">
<div class="rbox-wrap">
<fieldset><div class="grd-row-padding row clear"><div class="grd-grid-8"><span id="inputheading">text heading</span><input class=" text" id="amount" maxlength="40" name="amount" type="text"></div></div><div class="grd-row-padding row clear"><...
<span class="tl"> </span><span class="tr"> </span><span class="bl"> </span><span class="br"> </span>
</div>
</div>
</form>
EOF
chomp($expect_result);
is($result, $expect_result, 'heading result ok');
# test build_confirmation_button_with_all_inputs_hidden
$form_obj = HTML::FormBuilder->new(
data => {id => 'testid'},
classes => $classes
);
$fieldset = $form_obj->add_fieldset({
legend => 'a legend',
header => 'header',
comment => 'comment'
});
$fieldset->add_field($input_field_amount);
lives_ok(
sub {
$result = $form_obj->build_confirmation_button_with_all_inputs_hidden;
},
'build_confirmation_button_with_all_inputs_hidden ok'
);
$expect_result = <<EOF;
<form id="testid" method="get"><input type="hidden" name="amount" value=""/><input type="hidden" name="process" value="1"/><a class="button backbutton" href="javascript:history.go(-1)" ><span class="button backbutton" >Back</span></a> <span class="bu...
EOF
chomp($expect_result);
is($result, $expect_result, 'result of build_confirmation_button_with_all_inputs_hidden');
################################################################################
# stacked
$form_obj = HTML::FormBuilder->new(
data => {id => 'testid'},
classes => $classes
);
$fieldset = $form_obj->add_fieldset({stacked => 0});
lives_ok(sub { $result = $form_obj->build }, 'build field with heading');
$expect_result = <<EOF;
<form id="testid" method="get"><div class="rbox form">
<div class="rbox-wrap">
<fieldset stacked="0"><div class="grd-grid-12"></div></fieldset>
<span class="tl"> </span><span class="tr"> </span><span class="bl"> </span><span class="br"> </span>
</div>
</div>
</form>
EOF
chomp($expect_result);
is($result, $expect_result, 'result of stacked=0 fieldset');
$form_obj = create_multiset_form();
$expect_result = <<'EOF';
<form action="http://localhost/some/where/test.cgi" class="formObject" id="id_test_form" method="post" name="name_test_form"><div class="rbox form">
<div class="rbox-wrap">
<fieldset><div class="grd-row-padding row clear"><div class="grd-grid-4 form_label"><label for="amount">Amount</label></div><div class="grd-grid-8"><input class=" text" id="amount" maxlength="40" name="amount" type="text"><p class="errorfiel...
<span class="tl"> </span><span class="tr"> </span><span class="bl"> </span><span class="br"> </span>
</div>
</div>
<div class="rbox form">
<div class="rbox-wrap">
<fieldset><div class="grd-row-padding row clear"><div class="grd-grid-4 form_label"><label for="amount">Amount</label></div><div class="grd-grid-8"><input class=" text" id="amount" maxlength="40" name="amount" type="text"><p class="errorfiel...
<span class="tl"> </span><span class="tr"> </span><span class="bl"> </span><span class="br"> </span>
</div>
</div>
<div class="rbox form">
<div class="rbox-wrap">
<fieldset><div class="grd-row-padding row clear"><div class="grd-grid-4 form_label"><label for="amount">Amount</label></div><div class="grd-grid-8"><input class=" text" id="amount" maxlength="40" name="amount" type="text"><p class="errorfiel...
<span class="tl"> </span><span class="tr"> </span><span class="bl"> </span><span class="br"> </span>
</div>
</div>
( run in 0.902 second using v1.01-cache-2.11-cpan-140bd7fdf52 )