File: dependency_groups.t

package info (click to toggle)
libdata-formvalidator-perl 4.66-1%2Bsqueeze1
  • links: PTS, VCS
  • area: main
  • in suites: squeeze
  • size: 588 kB
  • ctags: 127
  • sloc: perl: 2,756; makefile: 2
file content (60 lines) | stat: -rw-r--r-- 1,455 bytes parent folder | download | duplicates (6)
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
use strict;

$^W = 1;

use Test::More 'no_plan'; #tests => 23;
use Data::FormValidator;
use CGI;


# test profile
my $input_profile = {
	dependency_groups => {
		password => [qw/pass1 pass2/],
	},
};
my $input_hashref = {pass1=>'foo'};

my ($valids, $missings, $invalids, $unknowns);
my $result;
my @fields = (qw/pass1 pass2/);
my $validator = Data::FormValidator->new({default => $input_profile});



foreach my $fields ([qw/pass1 pass2/], [qw/pass2 pass1/]) {
    my ($good, $bad) = @$fields;
    $input_hashref = {$good => 'foo'};

    ##
    ## validate()

    eval{
	($valids, $missings, $invalids, $unknowns) = $validator->validate($input_hashref, 'default');
    };
    ok(!$@, "no eval problems");

    my %missings = map {$_ => 1} @$missings;
    is($valids->{$good}, $input_hashref->{$good}, "[$good] valid");
    ok($missings{$bad},  "missing [$bad]");


    ##
    ## check()

    my $q = CGI->new("$good=foo");
    foreach my $input ($input_hashref, $q) {
	eval {
	    $result = $validator->check($input, 'default');
	};

	ok(!$@, "no eval problems");
	isa_ok($result, "Data::FormValidator::Results", "returned object");

	ok($result->has_missing,      "has_missing returned true");
	ok($result->missing($bad),    "missing($bad) returned true");
	ok(!$result->missing($good),  "missing($good) returned false");
	ok($result->valid($good),     "valid($good) returned true");
	ok(!$result->valid($bad),     "valid($bad) returned true");
    }
}