X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?a=blobdiff_plain;f=t%2F86sqlt.t;h=ab76bbf67f8a8feec68d8fb066c9cdd0397f5838;hb=89479564f69e12460c2740d1d74c6a1253af18cb;hp=8211c9046006c5cbac7f9b42627d424562fafd46;hpb=70c49125fbb6ace2022621dc429f2815407940d9;p=dbsrgits%2FDBIx-Class.git diff --git a/t/86sqlt.t b/t/86sqlt.t index 8211c90..ab76bbf 100644 --- a/t/86sqlt.t +++ b/t/86sqlt.t @@ -10,7 +10,7 @@ plan skip_all => 'SQL::Translator required' if $@; my $schema = DBICTest->init_schema; -plan tests => 130; +plan tests => 131; my $translator = SQL::Translator->new( parser_args => { @@ -19,14 +19,23 @@ my $translator = SQL::Translator->new( producer_args => {}, ); -$translator->parser('SQL::Translator::Parser::DBIx::Class'); -$translator->producer('SQLite'); +{ + my $warn = ''; + local $SIG{__WARN__} = sub { $warn = shift }; -my $output = $translator->translate(); + my $relinfo = $schema->source('Artist')->relationship_info ('cds'); + local $relinfo->{attrs}{on_delete} = 'restrict'; + $translator->parser('SQL::Translator::Parser::DBIx::Class'); + $translator->producer('SQLite'); -ok($output, "SQLT produced someoutput") - or diag($translator->error); + my $output = $translator->translate(); + + ok($output, "SQLT produced someoutput") + or diag($translator->error); + + like ($warn, qr/^SQLT attribute .+? was supplied for relationship/, 'Warn about dubious on_delete/on_update attributes'); +} # Note that the constraints listed here are the only ones that are tested -- if # more exist in the Schema than are listed here and all listed constraints are @@ -128,14 +137,14 @@ my %fk_constraints = ( 'name' => 'artist_undirected_map_fk_id1', 'index_name' => 'artist_undirected_map_idx_id1', 'selftable' => 'artist_undirected_map', 'foreigntable' => 'artist', 'selfcols' => ['id1'], 'foreigncols' => ['artistid'], - on_delete => 'CASCADE', on_update => '', deferrable => 1, + on_delete => 'RESTRICT', on_update => 'CASCADE', deferrable => 1, }, { 'display' => 'artist_undirected_map->artist for id2', 'name' => 'artist_undirected_map_fk_id2', 'index_name' => 'artist_undirected_map_idx_id2', 'selftable' => 'artist_undirected_map', 'foreigntable' => 'artist', 'selfcols' => ['id2'], 'foreigncols' => ['artistid'], - on_delete => 'CASCADE', on_update => '', deferrable => 1, + on_delete => '', on_update => 'CASCADE', deferrable => 1, }, ], @@ -203,7 +212,6 @@ my %fk_constraints = ( on_delete => '', on_update => '', deferrable => 1, }, ], - ); my %unique_constraints = (