X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?a=blobdiff_plain;f=t%2F16xml-parser.t;h=05c9ad8ede5e198eb0c9105c0aa59dc03554615c;hb=24d9fe69f45176a383f9faf545211caa180ae118;hp=bc2b7a5f29aedb7894fec201ba0203548e5d34bb;hpb=ec791002ba1fed6772d86a89de64ff65c1be3545;p=dbsrgits%2FSQL-Translator.git diff --git a/t/16xml-parser.t b/t/16xml-parser.t index bc2b7a5..05c9ad8 100644 --- a/t/16xml-parser.t +++ b/t/16xml-parser.t @@ -27,7 +27,7 @@ use constant DEBUG => (exists $opt{d} ? 1 : 0); #============================================================================= BEGIN { - maybe_plan(142, 'SQL::Translator::Parser::XML::SQLFairy'); + maybe_plan(204, 'SQL::Translator::Parser::XML::SQLFairy'); } my $testschema = "$Bin/data/xml/schema.xml"; @@ -57,6 +57,12 @@ schema_ok( $scma, { tables => [ { name => "Basic", + options => [ { ENGINE => 'InnoDB' } ], + extra => { + foo => "bar", + hello => "world", + bar => "baz", + }, fields => [ { name => "id", @@ -66,6 +72,7 @@ schema_ok( $scma, { size => 10, is_primary_key => 1, is_auto_increment => 1, + extra => { ZEROFILL => 1 }, }, { name => "title", @@ -87,44 +94,104 @@ schema_ok( $scma, { is_unique => 1, default_value => undef, is_nullable => 1, + extra => { + foo => "bar", + hello => "world", + bar => "baz", + } }, { name => "explicitnulldef", data_type => "varchar", default_value => undef, is_nullable => 1, + size => 255, }, { name => "explicitemptystring", data_type => "varchar", default_value => "", is_nullable => 1, + size => 255, }, { name => "emptytagdef", data_type => "varchar", default_value => "", is_nullable => 1, + comments => "Hello emptytagdef", + size => 255, + }, + { + name => "another_id", + data_type => "int", + size => "10", + default_value => 2, + is_nullable => 1, + is_foreign_key => 1, + }, + { + name => "timest", + data_type => "timestamp", + size => "0", + is_nullable => 1, }, ], constraints => [ { type => PRIMARY_KEY, fields => ["id"], + extra => { + foo => "bar", + hello => "world", + bar => "baz", + }, }, { name => 'emailuniqueindex', type => UNIQUE, fields => ["email"], - } + }, + { + type => FOREIGN_KEY, + fields => ["another_id"], + reference_table => "Another", + reference_fields => ["id"], + name => 'Basic_fk' + }, ], indices => [ { name => "titleindex", fields => ["title"], + extra => { + foo => "bar", + hello => "world", + bar => "baz", + }, + }, + ], + }, # end table Basic + { + name => "Another", + extra => { + foo => "bar", + hello => "world", + bar => "baz", + }, + options => [ { ENGINE => 'InnoDB' } ], + fields => [ + { + name => "id", + data_type => "int", + default_value => undef, + is_nullable => 0, + size => 10, + is_primary_key => 1, + is_auto_increment => 1, }, ], - } # end table Basic + }, # end table Another ], # end tables views => [ @@ -132,6 +199,11 @@ schema_ok( $scma, { name => 'email_list', sql => "SELECT email FROM Basic WHERE email IS NOT NULL", fields => ['email'], + extra => { + foo => "bar", + hello => "world", + bar => "baz", + }, }, ], @@ -140,8 +212,13 @@ schema_ok( $scma, { name => 'foo_trigger', perform_action_when => 'after', database_event => 'insert', - on_table => 'foo', + on_table => 'Basic', action => 'update modified=timestamp();', + extra => { + foo => "bar", + hello => "world", + bar => "baz", + }, }, ], @@ -152,6 +229,11 @@ schema_ok( $scma, { parameters => ['foo', 'bar'], owner => 'Nomar', comments => 'Go Sox!', + extra => { + foo => "bar", + hello => "world", + bar => "baz", + }, }, ],