[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