Brannigan
view release on metacpan or search on metacpan
t/05-defaults.t view on Meta::CPAN
my $rejects = $b->process('validated_defaults', $params);
is($rejects, undef, 'Valid defaults pass validation');
is($params->{status}, 'pending', 'Valid default applied');
is($params->{count}, 10, 'Valid numeric default applied');
}
# Test that defaults don't apply to required parameters that fail
$b->register_schema('required_no_default', {
params => {
name => { required => 1 },
backup_name => { default => 'unnamed' }
}
});
{
my $params = {}; # Missing required name
my $rejects = $b->process('required_no_default', $params);
is($rejects, { name => { required => 1 } }, 'Required parameter failure');
is($params->{backup_name}, 'unnamed', 'Default still applied to non-required params');
}
# Edge case: empty string and zero values should not trigger defaults
$b->register_schema('edge_cases', {
params => {
description => { default => 'No description' },
count => { default => 1, integer => 1 },
flag => { default => 'true' }
}
});
( run in 0.247 second using v1.01-cache-2.11-cpan-2b1a40005be )