X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?a=blobdiff_plain;f=t%2F17sqlfxml-producer.t;h=31bbf0c479ea2912499e3b9678d2226beeeb5465;hb=ace08c3da3d5186a4014a946fd70cf335e051b70;hp=0f032e789cf46684fa390e6354cec8396a24a4d3;hpb=ec791002ba1fed6772d86a89de64ff65c1be3545;p=dbsrgits%2FSQL-Translator.git diff --git a/t/17sqlfxml-producer.t b/t/17sqlfxml-producer.t index 0f032e7..31bbf0c 100644 --- a/t/17sqlfxml-producer.t +++ b/t/17sqlfxml-producer.t @@ -23,14 +23,14 @@ my $file = "$Bin/data/mysql/sqlfxml-producer-basic.sql"; local $SIG{__WARN__} = sub { CORE::warn(@_) - unless $_[0] =~ m#XML/Writer#; + unless $_[0] =~ m!XML/Writer!; }; # Testing 1,2,3,4... #============================================================================= BEGIN { - maybe_plan(12, + maybe_plan(14, 'XML::Writer', 'Test::Differences', 'SQL::Translator::Producer::XML::SQLFairy'); @@ -47,31 +47,49 @@ use SQL::Translator::Producer::XML::SQLFairy; my ($obj,$ans,$xml); $ans = < - - - - comment on id field - - - - - - - - - - - - - - - - - - - - + + + + + + + + + comment on id field + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+
+ + + +
EOXML $obj = SQL::Translator->new( @@ -82,7 +100,7 @@ $obj = SQL::Translator->new( from => "MySQL", to => "XML-SQLFairy", ); -lives_ok {$xml = $obj->translate($file);} "Translate (attrib_values=>1) ran"; +$xml = $obj->translate($file) or die $obj->error; ok("$xml" ne "" ,"Produced something!"); print "XML:\n$xml" if DEBUG; # Strip sqlf header with its variable date so we diff safely @@ -99,11 +117,18 @@ eq_or_diff $xml, $ans, "XML looks right"; my ($obj,$ans,$xml); $ans = < - - select name, age from person - - + + + + + + select name, age from person + + + + + + EOXML $obj = SQL::Translator->new( @@ -122,6 +147,7 @@ EOXML name => $name, sql => $sql, fields => $fields, + extra => { hello => "world" }, schema => $s, ) or die $s->error; @@ -143,11 +169,26 @@ EOXML my ($obj,$ans,$xml); $ans = < - - update modified=timestamp(); - - + + + + + + + + + +
+
+ + + + update modified=timestamp(); + + + + +
EOXML $obj = SQL::Translator->new( @@ -162,14 +203,15 @@ EOXML my $name = 'foo_trigger'; my $perform_action_when = 'after'; my $database_event = 'insert'; - my $on_table = 'foo'; my $action = 'update modified=timestamp();'; + my $table = $s->add_table( name => "Basic" ) or die $s->error; my $t = $s->add_trigger( name => $name, perform_action_when => $perform_action_when, database_event => $database_event, - on_table => $on_table, + table => $table, action => $action, + extra => { hello => "world" }, ) or die $s->error; # As we have created a Schema we give translate a dummy string so that @@ -190,12 +232,19 @@ EOXML my ($obj,$ans,$xml); $ans = < - - select foo from bar - Go Sox! - - + + + + + + + + select foo from bar + Go Sox! + + + + EOXML $obj = SQL::Translator->new( @@ -218,6 +267,7 @@ EOXML parameters => $parameters, owner => $owner, comments => $comments, + extra => { hello => "world" }, ) or die $s->error; # As we have created a Schema we give translate a dummy string so that @@ -229,3 +279,59 @@ EOXML $xml =~ s/^([^\n]*\n){7}//m; eq_or_diff $xml, $ans ,"XML looks right"; } # end Procedure + +# +# Field.extra +# +{ +my ($obj,$ans,$xml); + +$ans = < + + + + + + + + + + + + + +
+
+ + + + +EOXML + + $obj = SQL::Translator->new( + debug => DEBUG, + trace => TRACE, + show_warnings => 1, + add_drop_table => 1, + from => "MySQL", + to => "XML-SQLFairy", + ); + my $s = $obj->schema; + my $t = $s->add_table( name => "Basic" ) or die $s->error; + my $f = $t->add_field( + name => "foo", + data_type => "integer", + size => "10", + ) or die $t->error; + $f->extra(ZEROFILL => "1"); + + # As we have created a Schema we give translate a dummy string so that + # it will run the produce. + lives_ok {$xml =$obj->translate("FOO");} "Translate (Field.extra) ran"; + ok("$xml" ne "" ,"Produced something!"); + print "XML:\n$xml" if DEBUG; + # Strip sqlf header with its variable date so we diff safely + $xml =~ s/^([^\n]*\n){7}//m; + eq_or_diff $xml, $ans ,"XML looks right"; +} # end extra