From: Brandon L. Black Date: Wed, 28 Jun 2006 14:10:06 +0000 (+0000) Subject: TreeLike test reverted to what it used to look like X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?a=commitdiff_plain;h=5db49b9aee9a586a76b37fd950bb9bc22bd5e985;p=dbsrgits%2FDBIx-Class-Historic.git TreeLike test reverted to what it used to look like 71mysql test fixed to support all versions (I hope) 19quotes test: minor cleanup to avoid spurious warning --- diff --git a/t/19quotes.t b/t/19quotes.t index be18f2d..9efad9b 100644 --- a/t/19quotes.t +++ b/t/19quotes.t @@ -28,7 +28,7 @@ cmp_ok( $rs->count, '==', 1, "join with fields quoted"); $rs = DBICTest::CD->search({}, { 'order_by' => 'year DESC'}); { - my $warnings; + my $warnings = ''; local $SIG{__WARN__} = sub { $warnings .= $_[0] }; my $first = eval{ $rs->first() }; ok( $warnings =~ /ORDER BY terms/, "Problem with ORDER BY quotes" ); @@ -38,7 +38,7 @@ my $order = 'year DESC'; $rs = DBICTest::CD->search({}, { 'order_by' => \$order }); { - my $warnings; + my $warnings = ''; local $SIG{__WARN__} = sub { $warnings .= $_[0] }; my $first = $rs->first(); ok( $warnings !~ /ORDER BY terms/, diff --git a/t/71mysql.t b/t/71mysql.t index 9dfa873..5fb027e 100644 --- a/t/71mysql.t +++ b/t/71mysql.t @@ -4,6 +4,7 @@ use warnings; use Test::More; use lib qw(t/lib); use DBICTest; +use DBI::Const::GetInfoType; my ($dsn, $user, $pass) = @ENV{map { "DBICTEST_MYSQL_${_}" } qw/DSN USER PASS/}; @@ -12,7 +13,7 @@ my ($dsn, $user, $pass) = @ENV{map { "DBICTEST_MYSQL_${_}" } qw/DSN USER PASS/}; plan skip_all => 'Set $ENV{DBICTEST_MYSQL_DSN}, _USER and _PASS to run this test' unless ($dsn && $user); -plan tests => 4; +plan tests => 5; DBICTest::Schema->compose_connection('MySQLTest' => $dsn, $user, $pass); @@ -66,17 +67,19 @@ my $test_type_info = { }, }; +SKIP: { + my $mysql_version = $dbh->get_info( $GetInfoType{SQL_DBMS_VER} ); -# mst - disabled because it can't decide whether to report CHAR or VARCHAR -# -# should figure out how to tell and make the test DWIM, but for the moment -# I'm not blocking a release for a single retarded database - -#my $type_info = MySQLTest->schema->storage->columns_info_for('artist'); -#is_deeply($type_info, $test_type_info, 'columns_info_for - column data types'); + skip "Cannot determine MySQL server version", 1 if !$mysql_version; + my ($v1, $v2, $v3) = split(/\./, $mysql_version); + if( ($v1 < 5) || ($v1 == 5 && $v2 == 0 && $v3 <= 3) ) { + $test_type_info->{charfield}->{data_type} = 'VARCHAR'; + } + my $type_info = MySQLTest->schema->storage->columns_info_for('artist'); + is_deeply($type_info, $test_type_info, 'columns_info_for - column data types'); +} # clean up our mess $dbh->do("DROP TABLE artist"); - diff --git a/t/lib/DBICTest/Schema/TreeLike.pm b/t/lib/DBICTest/Schema/TreeLike.pm index 73f9143..63bb975 100644 --- a/t/lib/DBICTest/Schema/TreeLike.pm +++ b/t/lib/DBICTest/Schema/TreeLike.pm @@ -12,7 +12,7 @@ __PACKAGE__->add_columns( }, ); __PACKAGE__->set_primary_key(qw/id/); -__PACKAGE__->belongs_to('parent', 'DBICTest::Schema::TreeLike', +__PACKAGE__->belongs_to('parent', 'TreeLike', { 'foreign.id' => 'self.parent' }); 1;