File: 06-matches.t

package info (click to toggle)
libvalidation-class-perl 7.900057-1
  • links: PTS, VCS
  • area: main
  • in suites: stretch
  • size: 1,572 kB
  • ctags: 355
  • sloc: perl: 21,493; makefile: 2
file content (42 lines) | stat: -rw-r--r-- 1,000 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
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
use Test::More tests => 7;

package MyVal;
use Validation::Class;

package main;

my $r = MyVal->new(
    fields => {
        password  => {matches => 'password2'},
        password2 => {

            # ....
        },
    },
    params => {
        password  => 'secret$',
        password2 => 'secret$',
    }
);

ok $r->validate(), 'password validates';
$r->params->{password2} = 's3cret';

ok !$r->validate(), 'foobar doesnt validate';
ok $r->errors_to_string() =~ /password does not match password2/,
  'displays proper error message';

$r->fields->{password}->{label}  = 'pass (a)';
$r->fields->{password2}->{label} = 'pass (b)';

ok !$r->validate(), 'foobar doesnt validate';
ok $r->errors_to_string() =~ /pass \(a\) does not match pass \(b\)/,
  'displays proper error message';

$r->params->{password2} = '';

ok !$r->validate(), 'foobar doesnt validate';
ok $r->errors_to_string() =~ /pass \(a\) does not match pass \(b\)/,
  'displays proper error message';

#warn $r->errors_to_string();