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