[Bast-commits] r7308 - branches/DBIx-Class-Schema-Loader/current/t

caelum at dev.catalyst.perl.org caelum at dev.catalyst.perl.org
Wed Aug 12 11:26:14 GMT 2009


Author: caelum
Date: 2009-08-12 11:26:13 +0000 (Wed, 12 Aug 2009)
New Revision: 7308

Removed:
   branches/DBIx-Class-Schema-Loader/current/t/11mysql_current_timestamp.t
Modified:
   branches/DBIx-Class-Schema-Loader/current/t/11mysql_common.t
Log:
fix mysql tests for CURRENT_TIMESTAMP

Modified: branches/DBIx-Class-Schema-Loader/current/t/11mysql_common.t
===================================================================
--- branches/DBIx-Class-Schema-Loader/current/t/11mysql_common.t	2009-08-12 00:58:06 UTC (rev 7307)
+++ branches/DBIx-Class-Schema-Loader/current/t/11mysql_common.t	2009-08-12 11:26:13 UTC (rev 7308)
@@ -28,9 +28,16 @@
                     value ENUM('foo', 'bar', 'baz')
                 )
             },
+            qq{
+                CREATE TABLE mysql_loader_test2 (
+                  id INTEGER UNSIGNED NOT NULL PRIMARY KEY,
+                  somedate TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP,
+                  somestr VARCHAR(100) NOT NULL DEFAULT 'foo'
+                )
+            },
         ],
-        drop   => [ qw/ mysql_loader_test1 / ],
-        count  => 3,
+        drop   => [ qw/ mysql_loader_test1 mysql_loader_test2 / ],
+        count  => 5,
         run    => sub {
             my ($schema, $monikers, $classes) = @_;
         
@@ -44,6 +51,14 @@
             like($column_info->{data_type}, qr/^enum$/i, 'MySQL ENUM type');
             is_deeply($column_info->{extra}->{list}, [qw/foo bar baz/],
                       'MySQL ENUM values');
+
+            $rs = $schema->resultset($monikers->{mysql_loader_test2});
+            my $column_info = $rs->result_source->column_info('somedate');
+            my $default     = $column_info->{default_value};
+            ok (ref($default) eq 'SCALAR'),
+                'CURRENT_TIMESTAMP default_value is a scalar ref';
+            like $$default, qr/^CURRENT_TIMESTAMP\z/i,
+                'CURRENT_TIMESTAMP default eq "CURRENT_TIMESTAMP"';
         },
     }
 );

Deleted: branches/DBIx-Class-Schema-Loader/current/t/11mysql_current_timestamp.t
===================================================================
--- branches/DBIx-Class-Schema-Loader/current/t/11mysql_current_timestamp.t	2009-08-12 00:58:06 UTC (rev 7307)
+++ branches/DBIx-Class-Schema-Loader/current/t/11mysql_current_timestamp.t	2009-08-12 11:26:13 UTC (rev 7308)
@@ -1,71 +0,0 @@
-use strict;
-use lib qw(t/lib);
-use Test::More;
-use DBI;
-
-my $DUMP_DIR;
-BEGIN { 
-    $DUMP_DIR = './t/_common_dump';
-}
-
-use lib $DUMP_DIR;
-use DBIx::Class::Schema::Loader 'make_schema_at', "dump_to_dir:$DUMP_DIR";
-use File::Path;
-use Test::Exception;
-
-my ($dsn, $user, $password) = map $ENV{"DBICTEST_MYSQL_$_"}, qw/DSN USER PASS/;
-
-if( !$dsn || !$user ) {
-    plan skip_all => 'You need to set the DBICTEST_MYSQL_DSN, _USER, and _PASS'
-                     .' environment variables';
-}
-
-eval "use SQL::Translator '0.09007';";
-plan skip_all => 'SQL::Translator 0.09007 or greater required'
-    if $@;
-
-plan tests => 2;
-
-my $dbh = DBI->connect($dsn, $user, $password, {
-    RaiseError => 1, PrintError => 0
-});
-
-eval { $dbh->do('DROP TABLE loadertest') };
-$dbh->do(q{
-    CREATE TABLE loadertest (
-      id INT PRIMARY KEY,
-      somedate TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP,
-      somestr VARCHAR(100) NOT NULL DEFAULT 'foo'
-    ) Engine=InnoDB
-});
-# XXX there needs to be code to distinguish these two types of defaults
-
-rmtree $DUMP_DIR;
-
-make_schema_at(
-    'TestSL::Schema', 
-    {
-        use_namespaces => 1,
-        constraint => qr/^loadertest\z/
-    },
-    [ $dsn, $user, $password, ]
-);
-
-lives_ok { require TestSL::Schema } 'schema loads';
-
-$dbh->do('DROP TABLE loadertest');
-
-my $schema = TestSL::Schema->connect($dsn, $user, $password);
-
-my @warnings;
-local $SIG{__WARN__} = sub { push @warnings, shift };
-
-$schema->deploy;
-
-ok (not(grep /Invalid default/, @warnings)), 'default deployed';
-diag $_ for @warnings;
-
-END {
-    rmtree $DUMP_DIR;
-    eval { $dbh->do('DROP TABLE loadertest') };
-}




More information about the Bast-commits mailing list