--- trunk/t/1-validate-delimiters.t 2007/05/20 16:19:16 827 +++ trunk/t/1-validate-delimiters.t 2007/05/24 10:53:50 835 @@ -1,7 +1,7 @@ #!/usr/bin/perl -w use strict; -use Test::More tests => 4; +use Test::More tests => 7; use Test::Exception; use blib; @@ -19,7 +19,7 @@ ok(my $v = new WebPAC::Validate( path => "$abs_path/data/validate_test", - delimiters => [ ' : ', ' ; ', ' / ', ' \. ' ], + delimiters => [ ' : ', ' ; ', ' / ', ' \. ', ' = ' ], debug => $debug, ), "new"); @@ -41,15 +41,49 @@ } test_v({ - '900' => [ { 'a' => 'a : aa = aaa : a ; a', 'b' => 'b ; b ; b ; b ; a : / z . z . ' }, { 'c' => 'a : b ; c / d' } ] + '900' => [ + { 'a' => 'a : aa = aaa : a ; a', 'b' => 'b ; b ; b ; b ; a : / z . z . ' }, + { 'a' => 'a : a : a', 'c' => [ 'a : b ; c', 'a : b ; c / d' ] }, + { 'a' => 'a : b / c' }, + { 'a' => 'a : b / c' }, + ], + '901' => [ + { 'a' => 'a : b / c', 'b' => 'foo' }, + { 'a' => 'a : b / c', 'b' => 'foo' }, + ], }); diag dump($v->{_delimiters_templates}); is_deeply( $v->{_delimiters_templates}, { 900 => { - "^a : : ; ^b ; ; ; ; : . . " => 1, - "^a : : ; ^b ; ; ; ; : . . ^c : ; / " => 1, + "^a : / " => 2, + "^a : : ^c : ; ^c : ; / " => 1, + "^a : = : ; ^b ; ; ; ; : . . " => 1, }, + 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} );