add test for on_connect_do=string parsing in helper, release
[catagits/Catalyst-Model-DBIC-Schema.git] / t / 08helper.t
index e7b2a9d..748242e 100644 (file)
@@ -10,7 +10,6 @@ use Catalyst::Helper::Model::DBIC::Schema;
 use Storable 'dclone';
 eval "use Catalyst::Helper";
 plan skip_all => 'Catalyst::Helper required for tests' if $@;
-plan tests => 40;
 
 my $helper      = Catalyst::Helper->new;
 $helper->{base} = $Bin;
@@ -26,6 +25,9 @@ my $i;
 $i = instance(schema_class => 'ASchemaClass');
 is $i->old_schema, 1, '->load_classes detected correctly';
 
+throws_ok { $i = instance(args => [$static, 'DbI:SQLite:myapp.db']) }
+    qr/case matters/i, "wrong case for 'dbi:' DSN part";
+
 $i = instance(args => ['traits=Caching']);
 is_deeply $i->traits, ['Caching'], 'one trait';
 is $i->helper->{traits}, "['Caching']", 'one trait as string';
@@ -115,6 +117,16 @@ is $i->helper->{connect_info}{name_sep}, 'q{.}',
     'connect_info name_sep as string';
 
 $i = instance(args => [
+    $static, $sqlite, 'on_connect_do=PRAGMA foreign_keys = ON'
+]);
+
+is $i->connect_info->{on_connect_do},
+    'PRAGMA foreign_keys = ON', 'on_connect_do string';
+
+is $i->helper->{connect_info}{on_connect_do},
+    'q{PRAGMA foreign_keys = ON}', 'on_connect_do string as string';
+
+$i = instance(args => [
     $static, 'components=TimeStamp', $sqlite, '', $on_connect_do,
     $quote_char, $name_sep
 ]);
@@ -153,6 +165,8 @@ 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';
 
+done_testing;
+
 sub instance {
     Catalyst::Helper::Model::DBIC::Schema->new(
         schema_class => 'AnotherSchemaClass',