/[webpac2]/trunk/t/1-validate.t
This is repository of my old source code which isn't updated any more. Go to git.rot13.org for current projects!
ViewVC logotype

Diff of /trunk/t/1-validate.t

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

revision 653 by dpavlin, Thu Sep 7 15:57:48 2006 UTC revision 665 by dpavlin, Mon Sep 11 11:57:30 2006 UTC
# Line 1  Line 1 
1  #!/usr/bin/perl -w  #!/usr/bin/perl -w
2    
3  use strict;  use strict;
4  use Test::More tests => 29;  use Test::More tests => 51;
5  use Test::Exception;  use Test::Exception;
6  use blib;  use blib;
7    
# Line 30  is_deeply( $v->{rules}, { Line 30  is_deeply( $v->{rules}, {
30          '901' => [ 'a' ],          '901' => [ 'a' ],
31          '902' => [ 'b', 'c' ],          '902' => [ 'b', 'c' ],
32          '903' => [ 'a', 'b', 'c' ],          '903' => [ 'a', 'b', 'c' ],
33            '904' => [ 'a' ],
34            '905' => [ 'a*' ],
35  }, 'rules parsed');  }, 'rules parsed');
36    
37    
38    
39  throws_ok { $v->validate_errors() } qr/rec/, "validate_rec need rec";  throws_ok { $v->validate_errors() } qr/rec/, "validate_rec need rec";
40    
41  sub test_v {  sub test_v {
# Line 52  sub test_v { Line 56  sub test_v {
56                          my $k = shift @_;                          my $k = shift @_;
57                          ok($tmp = $tmp->{$k}, "found $k");                          ok($tmp = $tmp->{$k}, "found $k");
58                  }                  }
59                  diag "additional message: $tmp" if ($tmp);                  diag "tmp: ",dump($tmp) if ($debug);
60                    if ($tmp) {
61                            if (ref($tmp) eq 'HASH') {
62                                    return $tmp;
63                            } else {
64                                    diag "explanation: $tmp";
65                            }
66                    }
67          } else {          } else {
68                  ok(! $e, "validated $d");                  ok(! $e, "validated $d");
69                  diag "expected error: ", dump($e) if($e);                  diag "expected error: ", dump($e) if($e);
# Line 78  test_v({ Line 89  test_v({
89    
90  test_v({  test_v({
91          '901' => [ { 'b' => 42 } ]          '901' => [ { 'b' => 42 } ]
92  }, qw/field 901 subfield b/);  }, qw/field 901 subfield extra b/);
93    
94  test_v({  test_v({
95          '902' => [ { 'b' => 1 }, { 'c' => 2 } ]          '902' => [ { 'b' => 1 }, { 'c' => 2 } ]
# Line 86  test_v({ Line 97  test_v({
97    
98  test_v({  test_v({
99          '902' => [ { 'a' => 0 }, { 'b' => 1 }, { 'c' => 2 } ]          '902' => [ { 'a' => 0 }, { 'b' => 1 }, { 'c' => 2 } ]
100  }, qw/field 902 subfield a/);  }, qw/field 902 subfield extra a/);
101    
102  test_v({  test_v({
103          '903' => [ { 'a' => 0 }, { 'b' => 1 }, { 'c' => 2 } ]          '903' => [ { 'a' => 0 }, { 'b' => 1 }, { 'c' => 2 } ]
# Line 94  test_v({ Line 105  test_v({
105    
106  test_v({  test_v({
107          '903' => [ { 'a' => 0 }, { 'b' => 1 }, { 'c' => 2 }, { 'd' => 3 } ]          '903' => [ { 'a' => 0 }, { 'b' => 1 }, { 'c' => 2 }, { 'd' => 3 } ]
108  }, qw/field 903 subfield d/);  }, qw/field 903 subfield extra d/);
109    
110    is_deeply(
111    
112    test_v({
113            '903' => [ { 'a' => 0 }, { 'b' => 1 }, { 'c' => 2 }, { 'd' => 3 }, { 'e' => 4 } ]
114    }, qw/field 903 subfield extra/),
115    { 'd' => 1, 'e' => 1 }, 'additional fields d, e');
116    
117    test_v({
118            '904' => [ { 'a' => 1, } ]
119    });
120    
121    test_v({
122            '904' => [ { 'b' => 1 } ]
123    }, qw/field 904 subfield extra b/);
124    
125    test_v({
126            '904' => [ { 'a' => [ 1,2 ] } ]
127    }, qw/field 904 subfield extra_repeatable a/);
128    
129    test_v({
130            '905' => [ { 'a' => [ 1,2 ] } ]
131    });
132    
133    test_v({
134            '905' => [ ]
135    });
136    
137    test_v({
138            '900' => 'foo',
139            '901' => [ qw/foo bar baz/ ],
140            '902' => [ { 'a' => 1, 'b' => [ 1,2 ] } ],
141            '903' => [ { 'a' => [ 1, 2 ], 'c' => 1, } ],
142            '904' => [ { 'b' => 1 } ],
143            '905' => [ { 'a' => 1 } ],
144    });
145    
146    diag "errors: ",dump( $v->all_errors );
147    
148    print $v->report;

Legend:
Removed from v.653  
changed lines
  Added in v.665

  ViewVC Help
Powered by ViewVC 1.1.26