Begin Test::Class suite for Forms
This commit is contained in:
parent
726707dd2e
commit
7e136f6047
5 changed files with 158 additions and 0 deletions
14
t/run_forms.t
Normal file
14
t/run_forms.t
Normal file
|
|
@ -0,0 +1,14 @@
|
|||
#-------------------------------------------------------------------
|
||||
# WebGUI is Copyright 2001-2009 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 File::Spec::Functions qw( catdir rel2abs );
|
||||
use File::Basename qw( dirname );
|
||||
use Test::Class::Load rel2abs( catdir ( dirname( __FILE__ ), 'tests' ) );
|
||||
Test::Class->runtests;
|
||||
40
t/tests/My/Test/Class.pm
Normal file
40
t/tests/My/Test/Class.pm
Normal file
|
|
@ -0,0 +1,40 @@
|
|||
package My::Test::Class;
|
||||
|
||||
#-------------------------------------------------------------------
|
||||
# WebGUI is Copyright 2001-2009 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 FindBin;
|
||||
use lib "$FindBin::Bin/lib";
|
||||
|
||||
use base qw/Test::Class Class::Data::Inheritable/;
|
||||
|
||||
BEGIN {
|
||||
__PACKAGE__->mk_classdata('class');
|
||||
__PACKAGE__->mk_classdata('session');
|
||||
}
|
||||
|
||||
use Test::More;
|
||||
use Test::Deep;
|
||||
use Test::Exception;
|
||||
|
||||
use WebGUI::Test;
|
||||
|
||||
sub _00_init : Test(startup => 1) {
|
||||
my $test = shift;
|
||||
my $session = WebGUI::Test->session;
|
||||
$test->session($session);
|
||||
my $class = ref $test;
|
||||
$class =~ s/^Test:://;
|
||||
return ($class . ' is not a WebGUI class') unless $class =~ /^WebGUI/;
|
||||
$test->class($class);
|
||||
use_ok $class, "loaded module class $class";
|
||||
}
|
||||
|
||||
1
|
||||
66
t/tests/Test/WebGUI/Form/Control.pm
Normal file
66
t/tests/Test/WebGUI/Form/Control.pm
Normal file
|
|
@ -0,0 +1,66 @@
|
|||
package Test::WebGUI::Form::Control;
|
||||
#-------------------------------------------------------------------
|
||||
# WebGUI is Copyright 2001-2009 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_get_set : Test(2) {
|
||||
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';
|
||||
|
||||
}
|
||||
|
||||
sub t_01_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_02_method_check : Test(1) {
|
||||
my $test = shift;
|
||||
my $session = $test->session;
|
||||
|
||||
my $form = $test->class->new($session);
|
||||
|
||||
can_ok $form, 'headTags';
|
||||
}
|
||||
|
||||
1;
|
||||
19
t/tests/Test/WebGUI/Form/Text.pm
Normal file
19
t/tests/Test/WebGUI/Form/Text.pm
Normal file
|
|
@ -0,0 +1,19 @@
|
|||
package Test::WebGUI::Form::Text;
|
||||
#-------------------------------------------------------------------
|
||||
# WebGUI is Copyright 2001-2009 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 Test::More;
|
||||
|
||||
use base qw/Test::WebGUI::Form::Control/;
|
||||
|
||||
1;
|
||||
19
t/tests/Test/WebGUI/Form/Url.pm
Normal file
19
t/tests/Test/WebGUI/Form/Url.pm
Normal file
|
|
@ -0,0 +1,19 @@
|
|||
package Test::WebGUI::Form::Url;
|
||||
#-------------------------------------------------------------------
|
||||
# WebGUI is Copyright 2001-2009 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 Test::More;
|
||||
|
||||
use base qw/Test::WebGUI::Form::Text/;
|
||||
|
||||
1;
|
||||
Loading…
Add table
Add a link
Reference in a new issue