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