# -*- Mode: Perl; -*-
-use strict;
+=head1 NAME
-$^W = 1;
+1_validate_12_change.t - Test CGI::Ex::Validate's ability to modify form fields
-### determine number of tests
-seek(DATA,0,0);
-my $prog = join "", <DATA>;
-my @tests = ($prog =~ /&print_ok\(/g);
-my $tests = @tests;
-print "1..$tests\n";
+=cut
-require CGI::Ex::Validate;
+use strict;
+use Test::More tests => 5;
+use strict;
-my ($N, $v, $e, $ok) = (0);
+use_ok('CGI::Ex::Validate');
+my $e;
+my $v;
+sub validate { scalar CGI::Ex::Validate::validate(@_) }
-sub validate {
- return scalar &CGI::Ex::Validate::validate(@_);
-}
-sub print_ok {
- my $ok = shift;
- $N ++;
- warn "Test failed at line ".(caller)[2]."\n" if ! $ok;
- print "" . ($ok ? "" : "not ") . "ok $N\n";
-}
-&print_ok(1);
###----------------------------------------------------------------###
-$v = [
-{
+$v = {
foo => {
max_len => 10,
replace => 's/[^\d]//g',
},
-},
-];
+};
-$e = &validate({
+$e = validate({
foo => '123-456-7890',
}, $v);
-&print_ok(! $e);
+ok(! $e, "Didn't get error");
my $form = {
},
};
-$e = &validate($form, $v);
-&print_ok(! $e && $form->{key1} eq 'Bunch of characters');
+$e = validate($form, $v);
+ok(! $e && $form->{key1} eq 'Bunch of characters', "No error and key1 updated");
$v = {
key2 => {
},
};
-$e = &validate($form, $v);
-&print_ok(! $e && $form->{key2} eq '(123) 456-7890');
-
+$e = validate($form, $v);
+ok(! $e && $form->{key2} eq '(123) 456-7890', "No error and phone updated");
$v = {
key2 => {
},
};
-$e = &validate($form, $v);
-&print_ok($e && $form->{key2} eq '');
+$e = validate($form, $v);
+ok($e && $form->{key2} eq '', "Error with all replaced");
-__DATA__