X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?a=blobdiff_plain;f=t%2F05bgep-re.t;h=1c55bc456a18c885cf4cc5dd1f3878d6c0214e77;hb=5a0c7b434ab26721269fb21199e93568cf17bd83;hp=18bd3ffbe0e8bc66a1979d2bf736de68b8033fb6;hpb=35bab74243827d6e141cd8b3986b1e9bb1f37f07;p=dbsrgits%2FSQL-Translator.git diff --git a/t/05bgep-re.t b/t/05bgep-re.t index 18bd3ff..1c55bc4 100644 --- a/t/05bgep-re.t +++ b/t/05bgep-re.t @@ -3,22 +3,56 @@ # use strict; -use Data::Dumper; + +use File::Spec::Functions qw(catfile tmpdir); +use File::Temp qw(tempfile); +use FindBin qw($Bin); use SQL::Translator; -use SQL::Translator::Parser::MySQL qw(parse); +use Test::More; +use Test::SQL::Translator qw(maybe_plan); + +# This aggravates me; XML::Writer produces tons of warnings. +local $SIG{__WARN__} = sub { + CORE::warn(@_) + unless $_[0] =~ m#XML/Writer#; +}; + +BEGIN { + maybe_plan(2, + 'SQL::Translator::Parser::MySQL', + 'SQL::Translator::Producer::XML::SQLFairy'); +} + +my @data = qw(data mysql BGEP-RE-create.sql); +my $test_data = (-d "t") + ? catfile($Bin, @data) + : catfile($Bin, "t", @data); -$SQL::Translator::DEBUG = 0; +my $tr = SQL::Translator->new( + parser => 'MySQL', + producer => 'XML-SQLFairy', + filename => $test_data +); +my $data = $tr->translate; -my $tr = SQL::Translator->new; +ok($data, "MySQL->XML-SQLFairy"); -my $datafile = "t/data/mysql/BGEP-RE-create.sql"; -my $data; -open FH, $datafile or die "Can't open $datafile: $!"; -read(FH, $data, -s $datafile); -close FH; +SKIP: { + eval { + require XML::Parser; + }; + if ($@) { + skip "Can't load XML::Parser" => 1; + } -print "Data is ", length $data, " bytes\n"; -#print $data; + # Can't get XML::Parser::parsestring to do Useful Things + my ($fh, $fname) = tempfile('sqlfXXXX', + UNLINK => 1, + SUFFIX => '.xml', + DIR => tmpdir); + print $fh $data; + $fh->close; -my $val = parse($tr, $data); -print Dumper($val); + ok(XML::Parser->new->parsefile($fname), + "Successfully parsed output"); +}