--- trunk/t/1-validate-delimiters.t 2007/05/20 16:19:19 829 +++ trunk/t/1-validate-delimiters.t 2007/05/27 09:53:52 846 @@ -1,12 +1,13 @@ #!/usr/bin/perl -w use strict; -use Test::More tests => 4; +use Test::More tests => 11; use Test::Exception; use blib; use Data::Dump qw/dump/; use Cwd qw/abs_path/; +use File::Temp qw/ :POSIX /; BEGIN { use_ok( 'WebPAC::Validate' ); @@ -17,9 +18,12 @@ ok(my $abs_path = abs_path($0), "abs_path"); $abs_path =~ s#/[^/]*$#/#; +my $delimiters_path = tmpnam(); + ok(my $v = new WebPAC::Validate( path => "$abs_path/data/validate_test", delimiters => [ ' : ', ' ; ', ' / ', ' \. ', ' = ' ], + delimiters_path => $delimiters_path, debug => $debug, ), "new"); @@ -64,3 +68,40 @@ 901 => { "^a : / ^b" => 2 }, }, 'just subfields and delimiters'); +ok(my $dt = $v->delimiters_templates, 'delimiters_template'); +diag $dt; + +ok($dt = $v->delimiters_templates( report => 1 ), 'delimiters_template report'); +diag $dt; + +$v->{_validate_delimiters_templates} = { + 900 => { '^a : ^b' => 1 }, +}; + +test_v({ + '900' => [ + { 'a' => 'foo : bar', 'b' => 'baz' }, + { 'a' => 'foo', 'b' => 'baz' }, + { 'a' => 'foo' }, + { 'a' => 'foo : bar' }, + ], +}); + +ok (my $e = $v->report, 'report'); + +diag $e; +diag dump( $v->{errors} ); + +ok( $v->save_delimiters_templates, 'save_delimiters_templates' ); + +ok( -s $delimiters_path, "$delimiters_path " . -s $delimiters_path . " bytes" ); + +ok(my $v2 = new WebPAC::Validate( + delimiters => [ ' : ', ' ; ', ' / ', ' \. ', ' = ' ], + delimiters_path => $delimiters_path, + debug => $debug, +), "new"); + +is_deeply( $v->{_delimiters_templates}, $v2->{_validate_delimiters_templates}, 'save/load ok'); + +diag dump( $v, $v2 );