fix new rel tests for older DBIC
[dbsrgits/DBIx-Class-Schema-Loader.git] / t / lib / dbixcsl_firebird_extra_tests.pm
index 464b92e..582a180 100644 (file)
@@ -6,26 +6,6 @@ use Test::More;
 use Test::Exception;
 
 sub extra { +{
-    create => [
-# test a mixed case table
-        q{
-            CREATE TABLE "Firebird_Loader_Test1" (
-                "Id" INTEGER NOT NULL PRIMARY KEY
-            )
-        },
-        q{
-            CREATE GENERATOR "Gen_Firebird_Loader_Test1_Id"
-        },
-        q{
-            CREATE TRIGGER "Firebird_Loader_Test1_BI" for "Firebird_Loader_Test1"
-            ACTIVE BEFORE INSERT POSITION 0
-            AS
-            BEGIN
-             IF (NEW."Id" IS NULL) THEN
-              NEW."Id" = GEN_ID("Gen_Firebird_Loader_Test1_Id",1);
-            END
-        },
-    ],
     pre_drop_ddl => [
         q{DROP TRIGGER "Firebird_Loader_Test1_BI"},
         q{DROP GENERATOR "Gen_Firebird_Loader_Test1_Id"},
@@ -33,11 +13,42 @@ sub extra { +{
     drop   => [
         q{"Firebird_Loader_Test1"}
     ],
-    count  => 5,
+    count  => 6,
     run    => sub {
         my ($schema, $monikers, $classes) = @_;
 
-        ok ((my $rsrc = eval { $schema->resultset($monikers->{Firebird_Loader_Test1})->result_source }),
+        my $dbh = $schema->storage->dbh;
+
+# create a mixed case table
+        $dbh->do($_) for (
+q{
+    CREATE TABLE "Firebird_Loader_Test1" (
+        "Id" INTEGER NOT NULL PRIMARY KEY,
+        "Foo" INTEGER DEFAULT 42
+    )
+},
+q{
+    CREATE GENERATOR "Gen_Firebird_Loader_Test1_Id"
+},
+q{
+    CREATE TRIGGER "Firebird_Loader_Test1_BI" for "Firebird_Loader_Test1"
+    ACTIVE BEFORE INSERT POSITION 0
+    AS
+    BEGIN
+     IF (NEW."Id" IS NULL) THEN
+      NEW."Id" = GEN_ID("Gen_Firebird_Loader_Test1_Id",1);
+    END
+},
+        );
+
+        $schema->_loader->{unquoted_ddl} = 0;
+        $schema->_loader->_setup;
+        {
+            local $SIG{__WARN__} = sub {};
+            $schema->rescan;
+        }
+
+        ok ((my $rsrc = eval { $schema->resultset('FirebirdLoaderTest1')->result_source }),
             'got rsrc for mixed case table');
 
         ok ((my $col_info = eval { $rsrc->column_info('Id') }),
@@ -48,6 +59,8 @@ sub extra { +{
         is $col_info->{is_auto_increment}, 1, 'is_auto_increment detected for mixed case trigger';
 
         is $col_info->{sequence}, 'Gen_Firebird_Loader_Test1_Id', 'correct mixed case sequence name';
+
+        is eval { $rsrc->column_info('Foo')->{default_value} }, 42, 'default_value detected for mixed case column';
     },
 }}