use strict;
$^W = 1;
use Test::More 'no_plan'; #tests => 23;
use Data::FormValidator;
use CGI;
# test profile
my $input_profile = {
dependency_groups => {
password => [qw/pass1 pass2/],
},
};
my $input_hashref = {pass1=>'foo'};
my ($valids, $missings, $invalids, $unknowns);
my $result;
my @fields = (qw/pass1 pass2/);
my $validator = Data::FormValidator->new({default => $input_profile});
foreach my $fields ([qw/pass1 pass2/], [qw/pass2 pass1/]) {
my ($good, $bad) = @$fields;
$input_hashref = {$good => 'foo'};
##
## validate()
eval{
($valids, $missings, $invalids, $unknowns) = $validator->validate($input_hashref, 'default');
};
ok(!$@, "no eval problems");
my %missings = map {$_ => 1} @$missings;
is($valids->{$good}, $input_hashref->{$good}, "[$good] valid");
ok($missings{$bad}, "missing [$bad]");
##
## check()
my $q = CGI->new("$good=foo");
foreach my $input ($input_hashref, $q) {
eval {
$result = $validator->check($input, 'default');
};
ok(!$@, "no eval problems");
isa_ok($result, "Data::FormValidator::Results", "returned object");
ok($result->has_missing, "has_missing returned true");
ok($result->missing($bad), "missing($bad) returned true");
ok(!$result->missing($good), "missing($good) returned false");
ok($result->valid($good), "valid($good) returned true");
ok(!$result->valid($bad), "valid($bad) returned true");
}
}