1#!/usr/bin/perl 2 3use warnings; 4use strict; 5use Test::More; 6use Test::SQL::Translator; 7use FindBin qw/$Bin/; 8 9BEGIN { 10 maybe_plan(1, 'SQL::Translator::Parser::XML', 11 'SQL::Translator::Producer::XML'); 12} 13 14use SQL::Translator; 15 16# Producing a schema with a Translator different from the one the schema was 17# generated should just work. After all the $schema object is just data. 18 19 20my $base_file = "$Bin/data/xml/schema.xml"; 21my $base_t = SQL::Translator->new; 22$base_t->$_ (1) for qw/add_drop_table no_comments/; 23 24# create a base schema attached to $base_t 25my $base_schema = $base_t->translate ( 26 parser => 'XML', 27 file => $base_file, 28) or die $base_t->error; 29 30# now create a new translator and try to feed it the same schema 31my $new_t = SQL::Translator->new; 32$new_t->$_ (1) for qw/add_drop_table no_comments/; 33 34my $sql = $new_t->translate ( 35 data => $base_schema, 36 producer => 'SQLite' 37); 38 39TODO: { 40 local $TODO = 'This will probably not work before the rewrite'; 41 42 like ( 43 $sql, 44 qr/^\s*CREATE TABLE/m, #assume there is at least one create table statement 45 "Received some meaningful output from the producer", 46 ); 47} 48