]> Dogcows Code - chaz/p5-CGI-Ex/blobdiff - t/1_validate_11_no_extra.t
CGI::Ex 2.10
[chaz/p5-CGI-Ex] / t / 1_validate_11_no_extra.t
index 46ca0e6b242488dcb9f95a0e0d8341b553b6708b..226cdf61c2ca304a5dac6811719dc58a0049bec5 100644 (file)
 # -*- Mode: Perl; -*-
 
-use strict;
+=head1 NAME
+
+1_validate_11_no_extra.t - Test CGI::Ex::Validate's ability to not allow extra form fields
 
-$^W = 1;
+=cut
 
-### 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";
+use strict;
+use Test::More tests => 13;
 
-require CGI::Ex::Validate;
+use_ok('CGI::Ex::Validate');
 
-my ($N, $v, $e, $ok) = (0);
+my ($v, $e);
 
-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);
+sub validate { CGI::Ex::Validate::validate(@_) }
 
 ###----------------------------------------------------------------###
 
 ### test single group for extra fields
-$v = [
-{
-  'general no_extra_fields' => 'all',
+$v = {
+  'group no_extra_fields' => 1,
   foo => {max_len => 10},
-},
-];
+};
 
-$e = &validate({}, $v);
-&print_ok(! $e);
+$e = validate({}, $v);
+ok(! $e);
 
-$e = &validate({foo => "foo"}, $v);
-&print_ok(! $e);
+$e = validate({foo => "foo"}, $v);
+ok(! $e);
 
-$e = &validate({foo => "foo", bar => "bar"}, $v);
-&print_ok($e);
+$e = validate({foo => "foo", bar => "bar"}, $v);
+ok($e);
 
-$e = &validate({bar => "bar"}, $v);
-&print_ok($e);
+$e = validate({bar => "bar"}, $v);
+ok($e);
 
 
 ### test on failed validate if
-$v = [
-{
-  'general no_extra_fields' => 'all',
+$v = {
+  'group no_extra_fields' => 1,
   'group validate_if' => 'baz',
   foo => {max_len => 10},
-},
-];
+};
 
-$e = &validate({}, $v);
-&print_ok(! $e);
+$e = validate({}, $v);
+ok(! $e);
 
-$e = &validate({foo => "foo"}, $v);
-&print_ok(! $e);
+$e = validate({foo => "foo"}, $v);
+ok(! $e);
 
-$e = &validate({foo => "foo", bar => "bar"}, $v);
-&print_ok(! $e);
+$e = validate({foo => "foo", bar => "bar"}, $v);
+ok(! $e);
 
-$e = &validate({bar => "bar"}, $v);
-&print_ok(! $e);
+$e = validate({bar => "bar"}, $v);
+ok(! $e);
 
 ### test on successful validate if
-$v = [
-{
-  'general no_extra_fields' => 'all',
-  'group validate_if' => 'baz',
-  foo => {max_len => 10},
-  baz => {max_len => 10},
-},
-];
-
-$e = &validate({baz => 1}, $v);
-&print_ok(! $e);
-
-$e = &validate({baz => 1, foo => "foo"}, $v);
-&print_ok(! $e);
-
-$e = &validate({baz => 1, foo => "foo", bar => "bar"}, $v);
-&print_ok($e);
-
-$e = &validate({baz => 1, bar => "bar"}, $v);
-&print_ok($e);
-
-### test on multiple groups, some with validate if
-$v = [
-{
-  'general no_extra_fields' => 'all',
-  'group validate_if' => 'baz',
-  foo => {max_len => 10},
-  baz => {max_len => 10},
-},
-{
-  'group validate_if' => 'hem',
-  haw => {max_len => 10},
-},
-];
-
-$e = &validate({haw => 1, baz => 1}, $v);
-&print_ok(! $e);
-
-$e = &validate({haw => 1, baz => 1, foo => "foo"}, $v);
-&print_ok(! $e);
-
-$e = &validate({haw => 1, baz => 1, foo => "foo", bar => "bar"}, $v);
-&print_ok($e);
-
-$e = &validate({haw => 1, baz => 1, bar => "bar"}, $v);
-&print_ok($e);
-
-
-### test on multiple groups, some with validate if
-$v = [
-{
-  'general no_extra_fields' => 'used',
+$v = {
+  'group no_extra_fields' => 1,
   'group validate_if' => 'baz',
   foo => {max_len => 10},
   baz => {max_len => 10},
-},
-{
-  'group validate_if' => 'hem',
-  haw => {max_len => 10},
-},
-];
+};
 
-$e = &validate({haw => 1, baz => 1}, $v);
-&print_ok($e);
+$e = validate({baz => 1}, $v);
+ok(! $e);
 
-$e = &validate({haw => 1, baz => 1, foo => "foo"}, $v);
-&print_ok($e);
+$e = validate({baz => 1, foo => "foo"}, $v);
+ok(! $e);
 
-$e = &validate({haw => 1, baz => 1, foo => "foo", bar => "bar"}, $v);
-&print_ok($e);
+$e = validate({baz => 1, foo => "foo", bar => "bar"}, $v);
+ok($e);
 
-$e = &validate({haw => 1, baz => 1, bar => "bar"}, $v);
-&print_ok($e);
+$e = validate({baz => 1, bar => "bar"}, $v);
+ok($e);
 
-__DATA__
This page took 0.029413 seconds and 4 git commands to generate.