File: 16-cascading.t

package info (click to toggle)
libvalidation-class-perl 7.900058-1
  • links: PTS, VCS
  • area: main
  • in suites: bookworm
  • size: 1,536 kB
  • sloc: perl: 21,493; makefile: 2
file content (23 lines) | stat: -rw-r--r-- 707 bytes parent folder | download | duplicates (5)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
use Test::More tests => 5;

package MyVal;

use Validation::Class;

field password      => {required    => 1};
field password_conf => {mixin_field => 'password', matches => 'password'};
field chng_password => {depends_on  => ['password_conf']};

package main;

my $v = MyVal->new(params => {chng_password => 1});

ok $v, 'initialization successful';
ok !$v->validate(qw/chng_password password_conf/), 'validation failed';
ok $v->error_count == 1, 'validation failed because password_conf is requried';

$v->params->add(password_conf => 1);

ok !$v->validate(qw/chng_password password_conf/), 'validation failed';
ok $v->error_count == 1,
  'validation failed because password_conf does not match password';