]> Dogcows Code - chaz/p5-CGI-Ex/blobdiff - t/1_validate_12_change.t
CGI::Ex 2.27
[chaz/p5-CGI-Ex] / t / 1_validate_12_change.t
index e577b0dad1912f7846704f5931a4bcaa84f4c798..3d695a9f2dc41f152fe56ff5e2539258138aeef2 100644 (file)
@@ -1,51 +1,40 @@
 # -*- 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 => 10;
+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 = {
   key1 => 'Bu-nch @of characte#rs^',
   key2 => '123 456 7890',
+  key3 => '123',
 };
 
 
@@ -55,8 +44,9 @@ $v = {
   },
 };
 
-$e = &validate($form, $v);
-&print_ok(! $e && $form->{key1} eq 'Bunch of characters');
+$e = validate($form, $v);
+ok(! $e, "No error");
+is($form->{'key1'}, 'Bunch of characters',  "key1 updated");
 
 $v = {
   key2 => {
@@ -64,9 +54,9 @@ $v = {
   },
 };
 
-$e = &validate($form, $v);
-&print_ok(! $e && $form->{key2} eq '(123) 456-7890');
-
+$e = validate($form, $v);
+ok(! $e, "No error");
+is($form->{'key2'}, '(123) 456-7890', "Phone updated");
 
 $v = {
   key2 => {
@@ -75,7 +65,15 @@ $v = {
   },
 };
 
-$e = &validate($form, $v);
-&print_ok($e && $form->{key2} eq '');
+$e = validate($form, $v);
+ok($e, "Error");
+is($form->{'key2'}, '', "All replaced");
 
-__DATA__
+$v = {
+    key3 => {
+        replace => 's/\d//',
+    },
+};
+$e = validate($form, $v);
+ok(! $e, "No error");
+is($form->{'key3'}, '23', "Non-global is fine");
This page took 0.022874 seconds and 4 git commands to generate.