]> Dogcows Code - chaz/p5-CGI-Ex/blob - t/1_validate_11_no_extra.t
CGI::Ex 2.10
[chaz/p5-CGI-Ex] / t / 1_validate_11_no_extra.t
1 # -*- Mode: Perl; -*-
2
3 =head1 NAME
4
5 1_validate_11_no_extra.t - Test CGI::Ex::Validate's ability to not allow extra form fields
6
7 =cut
8
9 use strict;
10 use Test::More tests => 13;
11
12 use_ok('CGI::Ex::Validate');
13
14 my ($v, $e);
15
16 sub validate { CGI::Ex::Validate::validate(@_) }
17
18 ###----------------------------------------------------------------###
19
20 ### test single group for extra fields
21 $v = {
22 'group no_extra_fields' => 1,
23 foo => {max_len => 10},
24 };
25
26 $e = validate({}, $v);
27 ok(! $e);
28
29 $e = validate({foo => "foo"}, $v);
30 ok(! $e);
31
32 $e = validate({foo => "foo", bar => "bar"}, $v);
33 ok($e);
34
35 $e = validate({bar => "bar"}, $v);
36 ok($e);
37
38
39 ### test on failed validate if
40 $v = {
41 'group no_extra_fields' => 1,
42 'group validate_if' => 'baz',
43 foo => {max_len => 10},
44 };
45
46 $e = validate({}, $v);
47 ok(! $e);
48
49 $e = validate({foo => "foo"}, $v);
50 ok(! $e);
51
52 $e = validate({foo => "foo", bar => "bar"}, $v);
53 ok(! $e);
54
55 $e = validate({bar => "bar"}, $v);
56 ok(! $e);
57
58 ### test on successful validate if
59 $v = {
60 'group no_extra_fields' => 1,
61 'group validate_if' => 'baz',
62 foo => {max_len => 10},
63 baz => {max_len => 10},
64 };
65
66 $e = validate({baz => 1}, $v);
67 ok(! $e);
68
69 $e = validate({baz => 1, foo => "foo"}, $v);
70 ok(! $e);
71
72 $e = validate({baz => 1, foo => "foo", bar => "bar"}, $v);
73 ok($e);
74
75 $e = validate({baz => 1, bar => "bar"}, $v);
76 ok($e);
77
This page took 0.032171 seconds and 4 git commands to generate.