]> Dogcows Code - chaz/p5-CGI-Ex/blobdiff - t/1_validate_12_change.t
CGI::Ex 2.10
[chaz/p5-CGI-Ex] / t / 1_validate_12_change.t
index e577b0dad1912f7846704f5931a4bcaa84f4c798..ef270e2b47a8f667620712675494fbd888aaad99 100644 (file)
@@ -1,46 +1,34 @@
 # -*- 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 = {
@@ -55,8 +43,8 @@ $v = {
   },
 };
 
-$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 => {
@@ -64,9 +52,8 @@ $v = {
   },
 };
 
-$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 => {
@@ -75,7 +62,6 @@ $v = {
   },
 };
 
-$e = &validate($form, $v);
-&print_ok($e && $form->{key2} eq '');
+$e = validate($form, $v);
+ok($e && $form->{key2} eq '', "Error with all replaced");
 
-__DATA__
This page took 0.02372 seconds and 4 git commands to generate.