6 BEGIN { print "1..6\n"; }
11 $SQL::Translator::DEBUG = 0;
15 my $pargs = $tr->parser_args;
17 my @fields = split /$pargs->{'delimiter'}/, $data;
22 # The "data" to be parsed
23 my $data = q(Id|Name|Phone Number|Favorite Flavor|);
25 my $tr = SQL::Translator->new;
27 # Pass parser_args as an explicit method call
28 $tr->parser(\&silly_parser);
29 $tr->parser_args(delimiter => '\|');
31 my $pargs = $tr->parser_args;
32 my $parsed = $tr->translate(\$data);
34 print "not " unless ($pargs->{'delimiter'} eq '\|');
35 print "ok 1 # parser_args works when called directly\n";
37 print "not " unless (scalar @{$parsed} == 4);
38 print "ok 2 # right number of fields\n";
40 # Now, pass parser_args indirectly...
41 $tr->parser(\&silly_parser, { delimiter => "\t" });
44 $pargs = $tr->parser_args;
45 $parsed = $tr->translate(\$data);
47 print "not " unless ($pargs->{'delimiter'} eq "\t");
48 print "ok 3 # parser_args works when called indirectly\n";
50 print "not " unless (scalar @{$parsed} == 4);
51 print "ok 4 # right number of fields with new delimiter\n";
54 $tr = SQL::Translator->new(parser => \&silly_parser,
55 parser_args => { delimiter => ":" });
57 $pargs = $tr->parser_args;
58 $parsed = $tr->translate(\$data);
60 print "not " unless ($pargs->{'delimiter'} eq ":");
61 print "ok 5 # parser_args works when called as constructor arg\n";
63 print "not " unless (scalar @{$parsed} == 4);
64 print "ok 6 # right number of fields with new delimiter\n";