Commit | Line | Data |
44930c36 |
1 | use strict; |
2 | use warnings; |
3 | use Test::More; |
cb56422b |
4 | |
d8190011 |
5 | use lib qw(t/lib); |
6 | use DBICTest; # do not remove even though it is not used |
44930c36 |
7 | |
0647e0cc |
8 | my $warnings; |
9 | eval { |
10 | local $SIG{__WARN__} = sub { $warnings .= shift }; |
44930c36 |
11 | package DBICNSTest; |
12 | use base qw/DBIx::Class::Schema/; |
13 | __PACKAGE__->load_namespaces; |
0647e0cc |
14 | }; |
15 | ok(!$@, 'load_namespaces doesnt die') or diag $@; |
16 | like($warnings, qr/load_namespaces found ResultSet class C with no corresponding Result class/, 'Found warning about extra ResultSet classes'); |
17 | |
18 | like($warnings, qr/load_namespaces found ResultSet class DBICNSTest::ResultSet::D that does not subclass DBIx::Class::ResultSet/, 'Found warning about ResultSets with incorrect subclass'); |
44930c36 |
19 | |
20 | my $source_a = DBICNSTest->source('A'); |
21 | isa_ok($source_a, 'DBIx::Class::ResultSource::Table'); |
22 | my $rset_a = DBICNSTest->resultset('A'); |
23 | isa_ok($rset_a, 'DBICNSTest::ResultSet::A'); |
44930c36 |
24 | |
25 | my $source_b = DBICNSTest->source('B'); |
26 | isa_ok($source_b, 'DBIx::Class::ResultSource::Table'); |
27 | my $rset_b = DBICNSTest->resultset('B'); |
28 | isa_ok($rset_b, 'DBIx::Class::ResultSet'); |
ff767ddb |
29 | |
30 | for my $moniker (qw/A B/) { |
31 | my $class = "DBICNSTest::Result::$moniker"; |
1d3108a4 |
32 | ok(!defined($class->result_source_instance->source_name), "Source name of $moniker not defined"); |
ff767ddb |
33 | } |
1d3108a4 |
34 | |
35 | done_testing; |