use lib qw(t/lib);
use DBICTest;
+use DBIx::Class::_Util 'sigwarn_silencer';
BEGIN {
require DBIx::Class;
eval <<'EOE' or die $@;
END {
+ # we are in END - everything remains global
+ #
$^W = 1; # important, otherwise DBI won't trip the next fail()
$SIG{__WARN__} = sub {
fail "Unexpected global destruction warning"
lives_ok (sub {
my $sqlt_schema = do {
- local $SIG{__WARN__} = sub {
- warn @_
- unless $_[0] =~ /Ignoring relationship .+ related resultsource .+ is not registered with this schema/
- };
+ local $SIG{__WARN__} = sigwarn_silencer(
+ qr/Ignoring relationship .+ related resultsource .+ is not registered with this schema/
+ );
create_schema({ schema => $partial_schema });
};
}, 'partial schema tests successful');
}
+{
+ my $cd_rsrc = $schema->source('CD');
+ $cd_rsrc->name(\'main.cd');
+
+ my $sqlt_schema = create_schema(
+ { schema => $schema },
+ args => { ignore_constraint_names => 0, ignore_index_names => 0 }
+ );
+
+ foreach my $source_name (qw(CD)) {
+ my $table = get_table($sqlt_schema, $schema, $source_name);
+ ok(
+ !(grep {$_->name =~ m/main\./} $table->get_indices),
+ 'indices have periods stripped out'
+ );
+ ok(
+ !(grep {$_->name =~ m/main\./} $table->get_constraints),
+ 'constraints have periods stripped out'
+ );
+ }
+}
+
done_testing;
sub create_schema {