/[webpac2]/trunk/t/1-validate-delimiters.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-delimiters.t

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

revision 828 by dpavlin, Sun May 20 16:19:17 2007 UTC revision 837 by dpavlin, Thu May 24 12:44:45 2007 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 => 4;  use Test::More tests => 10;
5  use Test::Exception;  use Test::Exception;
6  use blib;  use blib;
7    
8  use Data::Dump qw/dump/;  use Data::Dump qw/dump/;
9  use Cwd qw/abs_path/;  use Cwd qw/abs_path/;
10    use File::Temp qw/tempfile/;
11    
12  BEGIN {  BEGIN {
13  use_ok( 'WebPAC::Validate' );  use_ok( 'WebPAC::Validate' );
# Line 17  my $debug = shift @ARGV; Line 18  my $debug = shift @ARGV;
18  ok(my $abs_path = abs_path($0), "abs_path");  ok(my $abs_path = abs_path($0), "abs_path");
19  $abs_path =~ s#/[^/]*$#/#;  $abs_path =~ s#/[^/]*$#/#;
20    
21    my ( $fh, $path ) = tempfile();
22    
23  ok(my $v = new WebPAC::Validate(  ok(my $v = new WebPAC::Validate(
24          path => "$abs_path/data/validate_test",          path => "$abs_path/data/validate_test",
25          delimiters => [ ' : ', ' ; ', ' / ', ' \. ', ' = ' ],          delimiters => [ ' : ', ' ; ', ' / ', ' \. ', ' = ' ],
26            delimiters_path => $path,
27          debug => $debug,          debug => $debug,
28  ), "new");  ), "new");
29    
# Line 46  test_v({ Line 50  test_v({
50                  { 'a' => 'a : a : a', 'c' => [ 'a : b ; c', 'a : b ; c / d' ] },                  { 'a' => 'a : a : a', 'c' => [ 'a : b ; c', 'a : b ; c / d' ] },
51                  { 'a' => 'a : b / c' },                  { 'a' => 'a : b / c' },
52                  { 'a' => 'a : b / c' },                  { 'a' => 'a : b / c' },
53          ]          ],
54            '901' => [
55                    { 'a' => 'a : b / c', 'b' => 'foo' },
56                    { 'a' => 'a : b / c', 'b' => 'foo' },
57            ],
58  });  });
59    
60  diag dump($v->{_delimiters_templates});  diag dump($v->{_delimiters_templates});
# Line 57  is_deeply( $v->{_delimiters_templates}, Line 65  is_deeply( $v->{_delimiters_templates},
65                  "^a :  : ^c :  ; ^c :  ;  / " => 1,                  "^a :  : ^c :  ; ^c :  ;  / " => 1,
66                  "^a :  =  :  ; ^b ;  ;  ;  ;  :  .  . " => 1,                  "^a :  =  :  ; ^b ;  ;  ;  ;  :  .  . " => 1,
67          },          },
68            901 => { "^a :  / ^b" => 2 },
69  }, 'just subfields and delimiters');  }, 'just subfields and delimiters');
70    
71    ok(my $dt = $v->delimiters_templates, 'delimiters_template');
72    diag $dt;
73    
74    ok($dt = $v->delimiters_templates( report => 1 ), 'delimiters_template report');
75    diag $dt;
76    
77    $v->{_validate_delimiters_templates} = {
78            900 => { '^a : ^b' => 1 },
79    };
80    
81    test_v({
82            '900' => [
83                    { 'a' => 'foo : bar', 'b' => 'baz' },
84                    { 'a' => 'foo', 'b' => 'baz' },
85                    { 'a' => 'foo' },
86                    { 'a' => 'foo : bar' },
87            ],
88    });
89    
90    ok (my $e = $v->report, 'report');
91    
92    diag $e;
93    diag dump( $v->{errors} );
94    
95    ok( $v->save_delimiters_templates, 'save_delimiters_templates' );
96    
97    ok(my $v2 = new WebPAC::Validate(
98            delimiters => [ ' : ', ' ; ', ' / ', ' \. ', ' = ' ],
99            delimiters_path => $path,
100            debug => $debug,
101    ), "new");
102    
103    is_deeply( $v->{_delimiters_templates}, $v2->{_validate_delimiters_templates}, 'save/load ok');

Legend:
Removed from v.828  
changed lines
  Added in v.837

  ViewVC Help
Powered by ViewVC 1.1.26