X-Git-Url: https://git.dogcows.com/gitweb?a=blobdiff_plain;f=t%2F1_validate_12_change.t;h=3d695a9f2dc41f152fe56ff5e2539258138aeef2;hb=HEAD;hp=e577b0dad1912f7846704f5931a4bcaa84f4c798;hpb=85070b46d0a93ddbeef07341421adb8389a55418;p=chaz%2Fp5-CGI-Ex diff --git a/t/1_validate_12_change.t b/t/1_validate_12_change.t index e577b0d..3d695a9 100644 --- a/t/1_validate_12_change.t +++ b/t/1_validate_12_change.t @@ -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 "", ; -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");