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;