File: 22-state.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 (85 lines) | stat: -rw-r--r-- 1,239 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
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
use Test::More;

package main;

use utf8;
use Validation::Class::Simple;

my $s = Validation::Class::Simple->new(
    fields => {
        address_state => {state => 1}
    }
);

sub should_fail {
    my ($name, @states) = @_;
    for (@states) {
        $s->params->{$name} = $_;
        ok !$s->validate($name), "$_ is an invalid $name param";
    }
}

sub should_pass {
    my ($name, @states) = @_;
    for (@states) {
        $s->params->{$name} = $_;
        ok $s->validate($name), "$_ is a valid $name param";
    }
}

# failures

diag 'validating bad states';
should_fail 'address_state' => qw(
    zz
    xx
    XX
    a
    w
    do
    fu
    FU
    F.U.
    prison
    nowhere
    jail
    hole
    heaven
    hell
    PURGATORY
    Goergia
    goergia
);

diag 'validating good states';
should_pass 'address_state' => (
    'VA',
    'va',
    'PA',
    'pa',
    'GA',
    'ga',
    'CA',
    'ca',
    'MA',
    'ma',
    'VIRGINIA',
    'Virginia',
    'virginia',
    'Pennsylvania',
    'pennsylvania',
    'Georgia',
    'georgia',
    'California',
    'california',
    'Massachusetts',
    'massachusetts',
    'DC',
    'District of Columbia',
    'Washington',
    'washington',
    'WASHINGTON'

);

done_testing;