#!/usr/bin/perl

use warnings;
use strict;
use Test::More;
use Test::SQL::Translator;
use FindBin qw/$Bin/;

BEGIN {
  maybe_plan(1, 'SQL::Translator::Parser::XML', 'SQL::Translator::Producer::XML');
}

use SQL::Translator;

# Producing a schema with a Translator different from the one the schema was
# generated should just work. After all the $schema object is just data.

my $base_file = "$Bin/data/xml/schema.xml";
my $base_t    = SQL::Translator->new;
$base_t->$_(1) for qw/add_drop_table no_comments/;

# create a base schema attached to $base_t
my $base_schema = $base_t->translate(
  parser => 'XML',
  file   => $base_file,
) or die $base_t->error;

# now create a new translator and try to feed it the same schema
my $new_t = SQL::Translator->new;
$new_t->$_(1) for qw/add_drop_table no_comments/;

my $sql = $new_t->translate(
  data     => $base_schema,
  producer => 'SQLite'
);

TODO: {
  local $TODO = 'This will probably not work before the rewrite';

  like(
    $sql,
    qr/^\s*CREATE TABLE/m
    ,    #assume there is at least one create table statement
    "Received some meaningful output from the producer",
  );
}
