4 use Test::More tests => 5;
8 use Data::Dump qw/dump/;
12 use_ok( 'WebPAC::Validate' );
15 my $debug = shift @ARGV;
17 ok(my $abs_path = abs_path($0), "abs_path");
18 $abs_path =~ s#/[^/]*$#/#;
20 ok(my $v = new WebPAC::Validate(
21 path => "$abs_path/data/validate_test",
22 delimiters => [ ' : ', ' ; ', ' / ', ' \. ', ' = ' ],
26 diag "rules = ", dump( $v->{rules} );
31 my $row = shift || die "no row?";
35 $row->{'000'} = [ 42 ];
38 my $e = $v->validate_rec( $row );
40 diag ">> validate $d\n",dump($e) if ($debug);
45 { 'a' => 'a : aa = aaa : a ; a', 'b' => 'b ; b ; b ; b ; a : / z . z . ' },
46 { 'a' => 'a : a : a', 'c' => [ 'a : b ; c', 'a : b ; c / d' ] },
47 { 'a' => 'a : b / c' },
48 { 'a' => 'a : b / c' },
51 { 'a' => 'a : b / c', 'b' => 'foo' },
52 { 'a' => 'a : b / c', 'b' => 'foo' },
56 diag dump($v->{_delimiters_templates});
58 is_deeply( $v->{_delimiters_templates}, {
61 "^a : : ^c : ; ^c : ; / " => 1,
62 "^a : = : ; ^b ; ; ; ; : . . " => 1,
64 901 => { "^a : / ^b" => 2 },
65 }, 'just subfields and delimiters');
67 ok(my $dt = $v->delimiters_templates, 'delimiters_template');