4 # Before `make install' is performed this script should be runnable with
5 # `make test'. After `make install' it should work as `perl test.pl'
7 # SQL::Translator::Filter::HelloWorld - Test filter in a package
8 #=============================================================================
9 package SQL::Translator::Filter::HelloWorld;
12 use vars qw/$VERSION/;
16 my ($schema,$args) = (shift,shift);
18 my $greeting = $args->{greeting} || "Hello";
24 # Hack to allow sqlt to see our module as it wasn't loaded from a .pm
25 $INC{'SQL/Translator/Filter/HelloWorld.pm'}
26 = 'lib/SQL/Translator/Filter/HelloWorld.pm';
28 #=============================================================================
35 use Test::SQL::Translator qw(maybe_plan);
40 maybe_plan(4, 'YAML', 'Test::Differences')
42 use Test::Differences;
95 parser_type: SQL::Translator::Parser::YAML
97 producer_type: SQL::Translator::Producer::YAML
103 # Parse the test XML schema
105 $obj = SQL::Translator->new(
112 # Filter from SQL::Translator::Filter::*
119 ) or die "Failed to create translator object: ".SQL::Translator->error;
122 # my ($sqlt,$ans_yaml,$name) = @_;
125 # my $out = eval { $sqlt->translate };
126 # fail( $sqlt->error ) if $sqlt->error;
127 # fail( "No output" ) unless $out;
128 # eq_or_diff $out, $ans_yaml ,"Translated $name";
132 lives_ok { $out = $obj->translate; } "Translate ran";
133 is $obj->error, '' ,"No errors";
134 ok $out ne "" ,"Produced something!";
135 eq_or_diff $out, $ans_yaml ,"Output looks right";