From 16a6c2cc003c61e9e9eaadf69a3bd96d69c9281c Mon Sep 17 00:00:00 2001 From: Colin Kuskie Date: Mon, 27 Mar 2006 20:30:55 +0000 Subject: [PATCH] Form auto checker --- t/lib/WebGUI/Form_Checking.pm | 30 ++++++++++++++++++++++++++++++ 1 file changed, 30 insertions(+) create mode 100644 t/lib/WebGUI/Form_Checking.pm diff --git a/t/lib/WebGUI/Form_Checking.pm b/t/lib/WebGUI/Form_Checking.pm new file mode 100644 index 000000000..35e490c0e --- /dev/null +++ b/t/lib/WebGUI/Form_Checking.pm @@ -0,0 +1,30 @@ +package WebGUI::Form_Checking; + +use Test::MockObject; +use Test::More; + +sub auto_check { + my ($session, $formType, %testBlock) = @_; + my $origSessionRequest = $session->{_request}; + + my $request = Test::MockObject->new; + $request->mock('body', + sub { + my ($self, $value) = @_; + return $testBlock{$value}->[0] if (exists $testBlock{$value}); + return; + } + ); + + $session->{_request} = $request; + + foreach my $key (keys %testBlock) { + my ($testValue, $expected, $comment) = @{ $testBlock{$key} }; + my $value = $session->form->get($key, $formType); + is($value, ($expected eq 'EQUAL' ? $testValue : $expected), $comment); + } + + $session->{_request} = $origSessionRequest; +} + +1;