X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?a=blobdiff_plain;f=t%2F24yaml.t;h=08757d9f47f3a5e7006ff76cdb2be67b36f3852d;hb=d1ca5a5cb007ddb2f361d314ae4c26ddd4308aa4;hp=be6e333761a2ffc2ebe3b4e3188c541560e1f2ae;hpb=d3fad3998a3f824c3eb36b14d373bc71c9c4b3d1;p=dbsrgits%2FSQL-Translator.git diff --git a/t/24yaml.t b/t/24yaml.t index be6e333..08757d9 100644 --- a/t/24yaml.t +++ b/t/24yaml.t @@ -1,48 +1,247 @@ -#!/usr/local/bin/perl -# vim: set ft=perl: - +use warnings; use strict; -use Test::More tests => 2; +use Test::More; use Test::Differences; +use Test::SQL::Translator qw(maybe_plan); use SQL::Translator; +use FindBin '$Bin'; -my $create = q| -CREATE TABLE random ( - id int auto_increment PRIMARY KEY, - foo varchar(255) not null default '', - updated timestamp -); -|; +BEGIN { + maybe_plan(2, + 'SQL::Translator::Parser::SQLite', + 'SQL::Translator::Producer::YAML'); +} -my $yaml = q|--- #YAML:1.0 -random: - id: - order: 1 - name: id - type: int - size: 11 - extra: - foo: - order: 2 - name: foo - type: varchar - size: 255 - extra: - updated: - order: 3 - name: updated - type: timestamp - size: 0 - extra: -|; +my $sqlt_version = $SQL::Translator::VERSION; +use YAML qw(Dump Load); +my $yaml = Dump(Load(<new( - parser => "MySQL", - producer => "YAML" +my $file = "$Bin/data/sqlite/create.sql"; +open FH, "<$file" or die "Can't read '$file': $!\n"; +local $/; +my $data = ; +my $tr = SQL::Translator->new( + parser => 'SQLite', + producer => 'YAML', + data => $data, ); - -ok($out = $tr->translate(\$create), 'Translate MySQL to YAML'); -eq_or_diff($out, $yaml, 'YAML matches expected'); - +my $out; +ok( $out = $tr->translate, 'Translate SQLite to YAML' ); +eq_or_diff( $out, $yaml, 'YAML matches expected' );