added test for mssql_odbc
Rafael Kitover [Wed, 27 May 2009 04:27:41 +0000 (04:27 +0000)]
lib/DBIx/Class/Schema/Loader/DBI/ODBC.pm
t/16mssql_odbc_common.t [new file with mode: 0644]

index 4cd29ef..a221ba3 100644 (file)
@@ -35,7 +35,7 @@ sub _rebless {
     # Translate the backend name into a perl identifier
     $dbtype =~ s/\W/_/gi;
     my $class = "DBIx::Class::Schema::Loader::DBI::ODBC::${dbtype}";
-    eval "require $class";
+    eval { $self->ensure_class_loaded($class) };
     bless $self, $class unless $@;
   }
 }
diff --git a/t/16mssql_odbc_common.t b/t/16mssql_odbc_common.t
new file mode 100644 (file)
index 0000000..893bb8e
--- /dev/null
@@ -0,0 +1,23 @@
+use strict;
+use lib qw(t/lib);
+use dbixcsl_common_tests;
+
+my $dsn      = $ENV{DBICTEST_MSSQL_ODBC_DSN} || '';
+my $user     = $ENV{DBICTEST_MSSQL_ODBC_USER} || '';
+my $password = $ENV{DBICTEST_MSSQL_ODBC_PASS} || '';
+
+my $tester = dbixcsl_common_tests->new(
+    vendor      => 'Microsoft',
+    quote_char  => [qw/[ ]/],
+    auto_inc_pk => 'INTEGER IDENTITY NOT NULL PRIMARY KEY',
+    dsn         => $dsn,
+    user        => $user,
+    password    => $password,
+);
+
+if( !$dsn || !$user ) {
+    $tester->skip_tests('You need to set the DBICTEST_MSSQL_ODBC_DSN, _USER, and _PASS environment variables');
+}
+else {
+    $tester->run_tests();
+}