]> Dogcows Code - chaz/p5-CGI-Ex/blob - t/1_validate_12_change.t
CGI::Ex 2.00
[chaz/p5-CGI-Ex] / t / 1_validate_12_change.t
1 # -*- Mode: Perl; -*-
2
3 =head1 NAME
4
5 1_validate_12_change.t - Test CGI::Ex::Validate's ability to modify form fields
6
7 =cut
8
9 use strict;
10 use Test::More tests => 5;
11 use strict;
12
13 use_ok('CGI::Ex::Validate');
14 my $e;
15 my $v;
16 sub validate { scalar CGI::Ex::Validate::validate(@_) }
17
18
19 ###----------------------------------------------------------------###
20
21 $v = [
22 {
23 foo => {
24 max_len => 10,
25 replace => 's/[^\d]//g',
26 },
27 },
28 ];
29
30 $e = validate({
31 foo => '123-456-7890',
32 }, $v);
33 ok(! $e);
34
35
36 my $form = {
37 key1 => 'Bu-nch @of characte#rs^',
38 key2 => '123 456 7890',
39 };
40
41
42 $v = {
43 key1 => {
44 replace => 's/[^\s\w]//g',
45 },
46 };
47
48 $e = validate($form, $v);
49 ok(! $e && $form->{key1} eq 'Bunch of characters');
50
51 $v = {
52 key2 => {
53 replace => 's/(\d{3})\D*(\d{3})\D*(\d{4})/($1) $2-$3/g',
54 },
55 };
56
57 $e = validate($form, $v);
58 ok(! $e && $form->{key2} eq '(123) 456-7890');
59
60
61 $v = {
62 key2 => {
63 replace => 's/.+//g',
64 required => 1,
65 },
66 };
67
68 $e = validate($form, $v);
69 ok($e && $form->{key2} eq '');
70
This page took 0.036085 seconds and 4 git commands to generate.