better CamelCASE support for naming=v8
[dbsrgits/DBIx-Class-Schema-Loader.git] / t / 70schema_base_dispatched.t
CommitLineData
cc15b78f 1use strict;
2use warnings;
de89deba 3use Test::More tests => 8;
cc15b78f 4use DBIx::Class::Schema::Loader 'make_schema_at';
5use lib 't/lib';
6use make_dbictest_db;
7
8make_schema_at(
9 'DBICTest::Schema::_test_schema_base',
10 {
11 naming => 'current',
12 schema_base_class => 'TestSchemaBaseClass',
13 schema_components => ['TestSchemaComponent'],
14 },
15 [ $make_dbictest_db::dsn ],
16);
17
18ok $TestSchemaBaseClass::test_ok,
19 'connected using schema_base_class';
20
21ok $DBIx::Class::TestSchemaComponent::test_component_ok,
22 'connected using schema_components';
de89deba 23
24# try an explicit dynamic schema
25
26$TestSchemaBaseClass::test_ok = 0;
27$DBIx::Class::TestSchemaComponent::test_component_ok = 0;
28
29{
30 package DBICTest::Schema::_test_schema_base_dynamic;
31 use base 'DBIx::Class::Schema::Loader';
32 __PACKAGE__->loader_options({
33 naming => 'current',
34 schema_base_class => 'TestSchemaBaseClass',
35 schema_components => ['TestSchemaComponent'],
36 });
37 # check that connection doesn't cause an infinite loop
38 sub connection { my $self = shift; return $self->next::method(@_) }
39}
40
41ok(my $schema =
42 DBICTest::Schema::_test_schema_base_dynamic->connect($make_dbictest_db::dsn),
43 'connected dynamic schema');
44
45ok $TestSchemaBaseClass::test_ok,
46 'connected using schema_base_class in dynamic schema';
47
48ok $DBIx::Class::TestSchemaComponent::test_component_ok,
49 'connected using schema_components in dynamic schema';
50
51# connect a second time
52
53$TestSchemaBaseClass::test_ok = 0;
54$DBIx::Class::TestSchemaComponent::test_component_ok = 0;
55
56ok($schema =
57 DBICTest::Schema::_test_schema_base_dynamic->connect($make_dbictest_db::dsn),
58 'connected dynamic schema a second time');
59
60ok $TestSchemaBaseClass::test_ok,
61 'connected using schema_base_class in dynamic schema a second time';
62
63ok $DBIx::Class::TestSchemaComponent::test_component_ok,
64 'connected using schema_components in dynamic schema a second time';