release 0.63
[catagits/Catalyst-Model-DBIC-Schema.git] / t / 08helper.t
index 748242e..0a08aae 100644 (file)
@@ -8,8 +8,8 @@ use Test::More;
 use Test::Exception;
 use Catalyst::Helper::Model::DBIC::Schema;
 use Storable 'dclone';
-eval "use Catalyst::Helper";
-plan skip_all => 'Catalyst::Helper required for tests' if $@;
+use Data::Dumper;
+use Test::Requires qw(Catalyst::Helper DBIx::Class::Schema::Loader);
 
 my $helper      = Catalyst::Helper->new;
 $helper->{base} = $Bin;
@@ -73,11 +73,13 @@ $i = instance(args => [$static, q{components=TimeStamp,Foo}]);
 is_deeply $i->components, ['InflateColumn::DateTime', 'TimeStamp', 'Foo'],
     'two extra components';
 
+# Different versions of perl and Data::Dumper serialise regexes differently
+my ($flagstart, $flagend, $postflag) = Dumper(qr//) =~ m{qr/(.*?)(\)?)/([a-z]*)};
 $i = instance(args => [$static, q{constraint=^(foo|bar)$}]);
 is $i->loader_args->{constraint}, qr/^(foo|bar)$/,
     'constraint loader arg';
 is $i->helper->{loader_args}{constraint},
-    q{qr/(?-xism:^(foo|bar)$)/},
+    qq{qr/$flagstart^(foo|bar)\$$flagend/$postflag},
     'constraint loader arg as string';
 
 $i = instance(args => [$static, q{exclude=^(foo|bar)$}]);
@@ -165,6 +167,18 @@ is $i->helper->{connect_info}{auto_savepoint}, 'q{1}',
 is $i->helper->{connect_info}{AutoCommit}, 'q{0}',
     'connect_info arg from extra hash as string';
 
+$i = instance(args => [
+    $static, 'components=TimeStamp', $sqlite, $on_connect_do,
+    $quote_char, $name_sep, 'auto_savepoint=1', 'AutoCommit=0',
+    'db_schema=myschema',
+]);
+
+is $i->loader_args->{db_schema}, 'myschema',
+    'loader arg after connect_info';
+
+ok ((not exists $i->helper->{connect_info}{db_schema}),
+    'loader args removed from connect_info');
+
 done_testing;
 
 sub instance {