summaryrefslogtreecommitdiff
path: root/t/validate.t
diff options
context:
space:
mode:
Diffstat (limited to 't/validate.t')
-rw-r--r--t/validate.t4
1 files changed, 4 insertions, 0 deletions
diff --git a/t/validate.t b/t/validate.t
index dbb1582..f3315cc 100644
--- a/t/validate.t
+++ b/t/validate.t
@@ -16,6 +16,7 @@ my %validations = (
prefix => sub { my $p = shift; { func => sub { $_[0] =~ /^$p/ } } },
bool => { required => 0, default => 0, func => sub { $_[0] = $_[0]?1:0; 1 } },
collapsews => { rmwhitespace => 0, func => sub { $_[0] =~ s/\s+/ /g; 1 } },
+ neverfails => { onerror => 'err' },
revnum => { type => 'array', sort => sub { $_[1] <=> $_[0] } },
uniquelength => { type => 'array', values => { type => 'array' }, unique => sub { scalar @{$_[0]} } },
person => {
@@ -159,6 +160,9 @@ t { person => 1, keys => {extra => {}} }, {name => 'x', extra => 1}, { name => '
t { person => 1, keys => {extra => {}} }, {name => 'x', extra => ''}, { name => 'x', extra => '' }, { validation => 'keys', errors => [{ key => 'extra', validation => 'required' }] };
t { person => 1 }, {name => 'x', extra => 1}, {name => 'x', extra => 1}, undef;
t { person => 1, unknown => 'remove' }, {name => 'x', extra => 1}, {name => 'x'}, undef;
+t { neverfails => 1, int => 1 }, undef, 'err', undef;
+t { neverfails => 1, int => 1 }, 'x', 'err', undef;
+t { neverfails => 1, int => 1, onerror => undef }, 'x', undef, undef; # XXX: no way to 'unset' an inherited onerror clause, hmm.
# numbers
sub nerr { +{ validation => 'num', got => $_[0] } }