+++ /dev/null
-use strict;
-use warnings;
-use Test::More;
-
-use lib qw(t/lib);
-use DBICTest;
-
-my $exp_warn = qr/The many-to-many relationship 'bars' is trying to create/;
-
-{
- my @w;
- local $SIG{__WARN__} = sub { $_[0] =~ $exp_warn ? push @w, $_[0] : warn $_[0] };
- my $code = gen_code ( suffix => 1 );
-
- local $ENV{DBIC_OVERWRITE_HELPER_METHODS_OK};
- eval "$code";
- ok (! $@, 'Eval code without warnings suppression')
- || diag $@;
-
- ok (@w, "Warning triggered without DBIC_OVERWRITE_HELPER_METHODS_OK");
-}
-
-{
- my @w;
- local $SIG{__WARN__} = sub { $_[0] =~ $exp_warn ? push @w, $_[0] : warn $_[0] };
-
- my $code = gen_code ( suffix => 2 );
-
- local $ENV{DBIC_OVERWRITE_HELPER_METHODS_OK} = 1;
- eval "$code";
- ok (! $@, 'Eval code with warnings suppression')
- || diag $@;
-
- ok (! @w, "No warning triggered with DBIC_OVERWRITE_HELPER_METHODS_OK");
-}
-
-sub gen_code {
-
- my $args = { @_ };
- my $suffix = $args->{suffix};
-
- return <<EOF;
-use strict;
-use warnings;
-
-{
- package #
- DBICTest::Schema::Foo${suffix};
- use base 'DBIx::Class::Core';
-
- __PACKAGE__->table('foo');
- __PACKAGE__->add_columns(
- 'fooid' => {
- data_type => 'integer',
- is_auto_increment => 1,
- },
- );
- __PACKAGE__->set_primary_key('fooid');
-
-
- __PACKAGE__->has_many('foo_to_bar' => 'DBICTest::Schema::FooToBar${suffix}' => 'bar');
- __PACKAGE__->many_to_many( foos => foo_to_bar => 'bar' );
-}
-{
- package #
- DBICTest::Schema::FooToBar${suffix};
-
- use base 'DBIx::Class::Core';
- __PACKAGE__->table('foo_to_bar');
- __PACKAGE__->add_columns(
- 'foo' => {
- data_type => 'integer',
- },
- 'bar' => {
- data_type => 'integer',
- },
- );
- __PACKAGE__->belongs_to('foo' => 'DBICTest::Schema::Foo${suffix}');
- __PACKAGE__->belongs_to('bar' => 'DBICTest::Schema::Foo${suffix}');
-}
-{
- package #
- DBICTest::Schema::Bar${suffix};
-
- use base 'DBIx::Class::Core';
-
- __PACKAGE__->table('bar');
- __PACKAGE__->add_columns(
- 'barid' => {
- data_type => 'integer',
- is_auto_increment => 1,
- },
- );
-
- __PACKAGE__->set_primary_key('barid');
- __PACKAGE__->has_many('foo_to_bar' => 'DBICTest::Schema::FooToBar${suffix}' => 'foo');
-
- __PACKAGE__->many_to_many( bars => foo_to_bar => 'foo' );
-
- sub add_to_bars {}
-}
-EOF
-
-}
-
-done_testing;