X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?a=blobdiff_plain;f=t%2F18ttschema-producer.t;h=3118da8156b939cdaacbb871004d0a78f0cc8c03;hb=aee4b66eb2152b7066ced4def46e0223eb1649b1;hp=5002d1e54d38c444358e2ed56f7e5090833c398e;hpb=08d91aada45b94a16f3660b5cc10384df5616ff9;p=dbsrgits%2FSQL-Translator.git diff --git a/t/18ttschema-producer.t b/t/18ttschema-producer.t index 5002d1e..3118da8 100644 --- a/t/18ttschema-producer.t +++ b/t/18ttschema-producer.t @@ -1,4 +1,4 @@ -#!/usr/bin/perl -w +#!/usr/bin/perl -w # vim:filetype=perl # Before `make install' is performed this script should be runnable with @@ -16,12 +16,11 @@ use FindBin qw/$Bin/; #============================================================================= BEGIN { - maybe_plan(6, - 'XML::XPath', + maybe_plan(6, 'SQL::Translator::Parser::XML::SQLFairy', - 'Template', + 'Template 2.20', 'Test::Differences' - ) + ); } use Test::Differences; @@ -32,7 +31,7 @@ use SQL::Translator::Producer::TTSchema; { my $obj; $obj = SQL::Translator->new( - show_warnings => 1, + show_warnings => 0, from => "XML-SQLFairy", filename => "$Bin/data/xml/schema.xml", to => "TTSchema", @@ -47,8 +46,11 @@ use SQL::Translator::Producer::TTSchema; my $out; lives_ok { $out = $obj->translate; } "Translate ran"; ok $out ne "" ,"Produced something!"; - local $/ = undef; # slurp - eq_or_diff $out, ,"Output looks right"; + eq_or_diff + $out, + do { local (@ARGV, $/) = "$Bin/data/template/testresult_basic.txt"; <> }, + "Output looks right" + ; } # Test passing of Template config @@ -59,7 +61,7 @@ use SQL::Translator::Producer::TTSchema; [%- END %]}; my $obj; $obj = SQL::Translator->new( - show_warnings => 1, + show_warnings => 0, from => "XML-SQLFairy", filename => "$Bin/data/xml/schema.xml", to => "TTSchema", @@ -79,168 +81,7 @@ use SQL::Translator::Producer::TTSchema; ok $out ne "" ,"Produced something!"; local $/ = undef; # slurp eq_or_diff $out, q{ - Table: Basic} + Table: Basic + Table: Another} ,"Output looks right"; } - - -__DATA__ -Schema: -Database: - -Foo: bar -Hello: world - -Table: Basic -========================================================================== - -Fields - id - data_type: int - size: 10 - is_nullable: 0 - default_value: - is_primary_key: 1 - is_unique: 0 - is_auto_increment: 1 - is_foreign_key: 0 - foreign_key_reference: - is_valid: 1 - order: 1 - table: Basic - - title - data_type: varchar - size: 100 - is_nullable: 0 - default_value: hello - is_primary_key: 0 - is_unique: 0 - is_auto_increment: 0 - is_foreign_key: 0 - foreign_key_reference: - is_valid: 1 - order: 2 - table: Basic - - description - data_type: text - size: 0 - is_nullable: 1 - default_value: - is_primary_key: 0 - is_unique: 0 - is_auto_increment: 0 - is_foreign_key: 0 - foreign_key_reference: - is_valid: 1 - order: 3 - table: Basic - - email - data_type: varchar - size: 255 - is_nullable: 1 - default_value: - is_primary_key: 0 - is_unique: 1 - is_auto_increment: 0 - is_foreign_key: 0 - foreign_key_reference: - is_valid: 1 - order: 4 - table: Basic - - explicitnulldef - data_type: varchar - size: 0 - is_nullable: 1 - default_value: - is_primary_key: 0 - is_unique: 0 - is_auto_increment: 0 - is_foreign_key: 0 - foreign_key_reference: - is_valid: 1 - order: 5 - table: Basic - - explicitemptystring - data_type: varchar - size: 0 - is_nullable: 1 - default_value: - is_primary_key: 0 - is_unique: 0 - is_auto_increment: 0 - is_foreign_key: 0 - foreign_key_reference: - is_valid: 1 - order: 6 - table: Basic - - emptytagdef - data_type: varchar - size: 0 - is_nullable: 1 - default_value: - is_primary_key: 0 - is_unique: 0 - is_auto_increment: 0 - is_foreign_key: 0 - foreign_key_reference: - is_valid: 1 - order: 7 - table: Basic - - timest - data_type: timestamp - size: 0 - is_nullable: 1 - default_value: - is_primary_key: 0 - is_unique: 0 - is_auto_increment: 0 - is_foreign_key: 0 - foreign_key_reference: - is_valid: 1 - order: 8 - table: Basic - - -Indices - titleindex - table: Basic - fields: title - type: NORMAL - options: - is_valid: 1 - - -Constraints - ? - type: PRIMARY KEY - fields: id - expression: - match_type: - reference_fields: - reference_table: - deferrable: 1 - on_delete: - on_update: - options: - is_valid: 1 - - emailuniqueindex - type: UNIQUE - fields: email - expression: - match_type: - reference_fields: - reference_table: - deferrable: 1 - on_delete: - on_update: - options: - is_valid: 1 -