X-Git-Url: http://git.rot13.org/?a=blobdiff_plain;f=t%2F1-validate-delimiters.t;h=96b6b9ed0286dbabc0d11ced7faeb5547c79c0a8;hb=6d4f4e4344ff7f46057a759a337a6bc61127ae8e;hp=c6bcb76b813a2e34a5e88bb3eb3616c119e0ed57;hpb=b046467495828bb672adbd35f48704d805e94668;p=webpac2 diff --git a/t/1-validate-delimiters.t b/t/1-validate-delimiters.t index c6bcb76..96b6b9e 100755 --- a/t/1-validate-delimiters.t +++ b/t/1-validate-delimiters.t @@ -1,33 +1,27 @@ #!/usr/bin/perl -w use strict; -use Test::More tests => 11; -use Test::Exception; use blib; -use Data::Dump qw/dump/; -use Cwd qw/abs_path/; +use Test::More tests => 15; + use File::Temp qw/ :POSIX /; BEGIN { +use_ok( 'WebPAC::Test' ); use_ok( 'WebPAC::Validate' ); } -my $debug = shift @ARGV; - -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, + %LOG, ), "new"); -diag "rules = ", dump( $v->{rules} ); +diag "rules = ", dump( $v->{rules} ) if ( $debug ); $v->{rules} = {}; @@ -38,7 +32,7 @@ sub test_v { $row->{'000'} = [ 42 ]; - $v->reset_errors; + $v->reset; my $e = $v->validate_rec( $row ); diag ">> validate $d\n",dump($e) if ($debug); @@ -57,7 +51,7 @@ test_v({ ], }); -diag dump($v->{_delimiters_templates}); +diag dump($v->{_delimiters_templates}) if ( $debug ); is_deeply( $v->{_delimiters_templates}, { 900 => { @@ -68,11 +62,16 @@ is_deeply( $v->{_delimiters_templates}, { 901 => { "^a : / ^b" => 2 }, }, 'just subfields and delimiters'); -ok(my $dt = $v->delimiters_templates, 'delimiters_template'); -diag $dt; +ok(! $v->delimiters_templates, 'no accumulated delimiters_template'); -ok($dt = $v->delimiters_templates( report => 1 ), 'delimiters_template report'); -diag $dt; +ok(my $dt = $v->delimiters_templates( current_input => 1 ), 'delimiters_template'); +diag $dt if ( $debug ); + +ok($dt = $v->delimiters_templates( report => 1, current_input => 1 ), 'delimiters_template report'); +diag $dt if ( $debug ); + +$v->reset; +ok( $v->delimiters_templates, 'have accumulated delimiters_templates'); $v->{_validate_delimiters_templates} = { 900 => { '^a : ^b' => 1 }, @@ -89,12 +88,15 @@ test_v({ ok (my $e = $v->report, 'report'); -diag $e; -diag dump( $v->{errors} ); +diag $e if ( $debug ); ok( $v->save_delimiters_templates, 'save_delimiters_templates' ); -ok( -s $delimiters_path, "$delimiters_path " . -s $delimiters_path . " bytes" ); +ok( -s $delimiters_path, "$delimiters_path " . ( -s $delimiters_path ) . " bytes" ); + +ok( $v->save_delimiters_templates, 'save_delimiters_templates to existing file' ); + +ok( -s $delimiters_path . '.new' , "new file created" ); ok(my $v2 = new WebPAC::Validate( delimiters => [ ' : ', ' ; ', ' / ', ' \. ', ' = ' ], @@ -102,6 +104,6 @@ ok(my $v2 = new WebPAC::Validate( debug => $debug, ), "new"); -is_deeply( $v->{_delimiters_templates}, $v2->{_validate_delimiters_templates}, 'save/load ok'); +is_deeply( $v->{_accumulated_delimiters_templates}, $v2->{_validate_delimiters_templates}, 'save/load ok'); -diag dump( $v, $v2 ); +diag dump( $v, $v2 ) if $debug;