webgui/t/tests/Test/WebGUI/Form/Control.pm
2011-12-28 11:30:38 -08:00

93 lines
2.6 KiB
Perl

package Test::WebGUI::Form::Control;
#-------------------------------------------------------------------
# WebGUI is Copyright 2001-2012 Plain Black Corporation.
#-------------------------------------------------------------------
# Please read the legal notices (docs/legal.txt) and the license
# (docs/license.txt) that came with this distribution before using
# this software.
#-------------------------------------------------------------------
# http://www.plainblack.com info@plainblack.com
#-------------------------------------------------------------------
use strict;
use warnings;
use base qw/My::Test::Class/;
use Test::More;
use Test::Deep;
use Test::Exception;
use WebGUI::Test;
use Data::Dumper;
use List::MoreUtils;
sub _constructor : Test(2) {
my $test = shift;
my $session = $test->session;
my $form = $test->class->new($session);
note "new for ". $test->class;
isa_ok $form, $test->class;
isa_ok $form->session, 'WebGUI::Session';
}
sub t_00_method_check : Test(1) {
my $test = shift;
my $session = $test->session;
my $form = $test->class->new($session);
can_ok $form, qw/get set headTags toHtml prepareWrapper toHtmlAsHidden toHtmlWithWrapper isInRequest isDynamicCompatible getName/;
}
sub t_01_getPackageClassName : Test(1) {
my $test = shift;
my $session = $test->session;
my $form = $test->class->new($session);
my $package = $test->class;
$package =~ s/WebGUI::Form:://;
is $form->getPackageClassName, 'wg-form-' . lcfirst $package;
}
sub t_01_get_set : Test(3) {
my $test = shift;
my $session = $test->session;
my $form = $test->class->new($session);
lives_ok { $form->set('name', 'form1'); } 'set name';
is $form->get('name'), 'form1', 'get name';
cmp_deeply $form->get, superhashof({ name => 'form1' }), 'get hashref';
}
sub t_02_instanced : Test(1) {
my $test = shift;
my $session = $test->session;
my $form = $test->class->new($session, {
name => 'form1',
});
is $form->get('name'), 'form1', 'name set on instanciation';
}
sub t_03_toTemplateVars : Test(2) {
my $test = shift;
my $session = $test->session;
my $form = $test->class->new($session, {
name => 'form1',
});
cmp_deeply $form->toTemplateVars,
superhashof({
name => 'form1',
label => $form->getLabel,
label_nohover => $form->get('label'),
}),
'toTemplateVars hashref';
isnt $form->toTemplateVars, $form->get, 'toTemplateVars creates safe hashref';
}
1;