Add generic custom_column_info, remove oracle specific test
[dbsrgits/DBIx-Class-Schema-Loader.git] / t / lib / dbixcsl_common_tests.pm
index 31bd90e..ebc12c1 100644 (file)
@@ -57,10 +57,21 @@ sub _monikerize {
     return undef;
 }
 
+sub _custom_column_info {
+    my $info = shift;
+
+    if ( lc( $info->{TABLE_NAME} ) eq 'loader_test11' 
+        and lc( $info->{COLUMN_NAME} ) eq 'loader_test10' 
+    ){
+        return { is_numeric => 1 }
+    }
+    return;
+}
+
 sub run_tests {
     my $self = shift;
 
-    plan tests => 145 + ($self->{extra}->{count} || 0);
+    plan tests => 146 + ($self->{extra}->{count} || 0);
 
     $self->create();
 
@@ -92,7 +103,7 @@ sub setup_schema {
 
     my %loader_opts = (
         constraint              =>
-           qr/^(?:\S+\.)?(?:$self->{vendor}_)?loader_test[0-9]+(?!.*_)/i,
+           qr/^(?:\S+\.)?(?:(?:$self->{vendor}|extra)_)?loader_test[0-9]+(?!.*_)/i,
         relationships           => 1,
         additional_classes      => 'TestAdditional',
         additional_base_classes => 'TestAdditionalBase',
@@ -102,6 +113,7 @@ sub setup_schema {
         inflect_plural          => { loader_test4 => 'loader_test4zes' },
         inflect_singular        => { fkid => 'fkid_singular' },
         moniker_map             => \&_monikerize,
+        custom_column_info      => \&_custom_column_info,
         debug                   => $debug,
         use_namespaces          => 0,
         dump_directory          => $DUMP_DIR,
@@ -603,11 +615,13 @@ sub test_schema {
         my $class11   = $classes->{loader_test11};
         my $rsobj11   = $conn->resultset($moniker11);
 
-        isa_ok( $rsobj10, "DBIx::Class::ResultSet" ); 
+        isa_ok( $rsobj10, "DBIx::Class::ResultSet" );
         isa_ok( $rsobj11, "DBIx::Class::ResultSet" );
 
         ok($class10->column_info('loader_test11')->{is_foreign_key}, 'Foreign key detected');
         ok($class11->column_info('loader_test10')->{is_foreign_key}, 'Foreign key detected');
+        # Added by custom_column_info
+        ok($class11->column_info('loader_test10')->{is_numeric}, 'is_numeric detected');
 
         my $obj10 = $rsobj10->create({ subject => 'xyzzy' });
 
@@ -1120,7 +1134,7 @@ sub create {
         qq{
             CREATE TABLE loader_test11 (
                 id11 $self->{auto_inc_pk},
-                message VARCHAR(8) DEFAULT 'foo',
+                a_message VARCHAR(8) DEFAULT 'foo',
                 loader_test10 INTEGER $self->{null},
                 FOREIGN KEY (loader_test10) REFERENCES loader_test10 (id10)
             ) $self->{innodb}
@@ -1144,7 +1158,7 @@ sub create {
         qq{
             CREATE TABLE loader_test11 (
                 id11 $self->{auto_inc_pk},
-                message VARCHAR(8) DEFAULT 'foo',
+                a_message VARCHAR(8) DEFAULT 'foo',
                 loader_test10 INTEGER $self->{null},
                 FOREIGN KEY (loader_test10) REFERENCES loader_test10 (id10)
             ) $self->{innodb}