rename the load_namespaces tests
[dbsrgits/DBIx-Class.git] / t / 39load_namespaces_1.t
diff --git a/t/39load_namespaces_1.t b/t/39load_namespaces_1.t
new file mode 100644 (file)
index 0000000..bd70370
--- /dev/null
@@ -0,0 +1,34 @@
+#!/usr/bin/perl
+
+use strict;
+use warnings;
+use Test::More;
+
+unshift(@INC, './t/lib');
+
+plan tests => 9;
+
+my $warnings;
+eval {
+    local $SIG{__WARN__} = sub { $warnings .= shift };
+    package DBICNSTest;
+    use base qw/DBIx::Class::Schema/;
+    __PACKAGE__->load_namespaces;
+};
+ok(!$@) or diag $@;
+like($warnings, qr/load_namespaces found ResultSet class C with no corresponding source-definition class/);
+like($warnings, qr/load_namespaces found Result class C with no corresponding source-definition class/);
+
+my $source_a = DBICNSTest->source('A');
+isa_ok($source_a, 'DBIx::Class::ResultSource::Table');
+my $rset_a   = DBICNSTest->resultset('A');
+isa_ok($rset_a, 'DBICNSTest::ResultSet::A');
+my $resclass_a    = DBICNSTest->resultset('A')->result_class;
+is($resclass_a, 'DBICNSTest::Result::A');
+
+my $source_b = DBICNSTest->source('B');
+isa_ok($source_b, 'DBIx::Class::ResultSource::Table');
+my $rset_b   = DBICNSTest->resultset('B');
+isa_ok($rset_b, 'DBIx::Class::ResultSet');
+my $resclass_b    = DBICNSTest->resultset('B')->result_class;
+is($resclass_b, 'DBICNSTest::Source::B');