1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60
|
#!/usr/bin/perl -w
# This tests for some constraint related bugs found by Chris Spiegel
use lib ('.','../t');
$^W = 1;
use Test::More tests => 4;
use strict;
use Data::FormValidator;
my $input_profile =
{
required => [ qw( email subroutine ) ],
constraints =>
{
subroutine => sub { 0 },
}
};
my $validator = new Data::FormValidator({default => $input_profile});
my $input_hashref = { subroutine => 'anything' };
my ($valids, $missings, $invalids, $unknowns) = ({},[],[],[]);
($valids, $missings, $invalids, $unknowns) = $validator->validate($input_hashref, 'default');
# We need to make sure we do not get a reference back here
ok(not ref $invalids->[0]);
$input_profile =
{
required => [ qw( email) ],
constraints =>
{
email =>
[
{
constraint => 'email',
name => 'Your email address is invalid.',
}
],
}
};
$validator = new Data::FormValidator({default => $input_profile});
eval {
($valids, $missings, $invalids, $unknowns) = $validator->validate({ email => 'invalid'}, 'default');
};
is($@,'','survived eval');
is($invalids->[0]->[0], 'email');
is($invalids->[0]->[1], 'Your email address is invalid.');
|