#!/usr/bin/perl use strict; use Test::More 'no_plan'; use Data::FormValidator; my $dfv_standard_any_errors = Data::FormValidator->new({}); my $dfv_custom_any_errors = Data::FormValidator->new({},{msgs => { any_errors => 'some_errors' }}); my %profile = ( required => 'foo', ); my %good_input = ( 'foo' => 1, ); my %bad_input = ( 'bar' => 1, ); my ($results, $msgs); # standard 'any_errors', good input $results = $dfv_standard_any_errors->check(\%good_input, \%profile); $msgs = $results->msgs; ok($results, "[standard any_errors] good input passed"); ok(!keys %$msgs, "[standard any_errors] no error messages"); # standard 'any_errors', bad input $results = $dfv_standard_any_errors->check(\%bad_input, \%profile); $msgs = $results->msgs; ok(!$results, "[standard any_errors] bad input caught"); ok(keys %$msgs, "[standard any_errors] error messages reported"); # custom 'any_errors', good input $results = $dfv_custom_any_errors->check(\%good_input, \%profile); $msgs = $results->msgs; ok($results, "[custom any_errors] good input passed"); ok(!keys %$msgs, "[custom any_errors] no error messages"); ok(!$msgs->{'some_errors'}, "[custom any_errors] 'some_errors' not reported"); # custom 'any_errors', bad input $results = $dfv_custom_any_errors->check(\%bad_input, \%profile); $msgs = $results->msgs; ok(!$results, "[custom any_errors] bad input caught"); ok(keys %$msgs, "[custom any_errors] error messages reported"); ok($msgs->{'some_errors'}, "[custom any_errors] 'some_errors' reported");