[Rt-commit] r2139 - in DBIx-SearchBuilder/trunk: . t
jesse at bestpractical.com
jesse at bestpractical.com
Fri Jan 28 10:32:16 EST 2005
Author: jesse
Date: Fri Jan 28 10:32:15 2005
New Revision: 2139
Added:
DBIx-SearchBuilder/trunk/t/01basics.t
DBIx-SearchBuilder/trunk/t/utils.pl
Modified:
DBIx-SearchBuilder/trunk/ (props changed)
DBIx-SearchBuilder/trunk/Changes
DBIx-SearchBuilder/trunk/t/00.load.t
DBIx-SearchBuilder/trunk/t/01records.t
DBIx-SearchBuilder/trunk/t/02records_object.t
Log:
r3937 at hualien: jesse | 2005-01-27T14:33:53.571575Z
Attached patch is ready to apply, but part of the work to make SB tests
more generic.
t/01basic.t - introduces some basic tests, like different handle loading
and testing that constructor return right objects. Now you don't need to
duplicate that tests in other test files.
t/utils.pl - is library of utils required for tests. Now it has:
@SupportedDrivers - list of supported back ends
get_handle - function that returns new handle by name
Regards. Ruslan.
Modified: DBIx-SearchBuilder/trunk/Changes
==============================================================================
--- DBIx-SearchBuilder/trunk/Changes (original)
+++ DBIx-SearchBuilder/trunk/Changes Fri Jan 28 10:32:15 2005
@@ -1,5 +1,10 @@
Revision history for Perl extension DBIx::SearchBuilder.
+
+1.23
+ - Now use DBI->quote_identifier to quote column and table names (Ruslan)
+ - Test suite updates (Ruslan)
+
1.22 Mon Jan 24 07:42:46 EST 2005
- Require encode since we require encode.
Modified: DBIx-SearchBuilder/trunk/t/00.load.t
==============================================================================
--- DBIx-SearchBuilder/trunk/t/00.load.t (original)
+++ DBIx-SearchBuilder/trunk/t/00.load.t Fri Jan 28 10:32:15 2005
@@ -1,18 +1,30 @@
-use Test::More tests=>12;
+use Test::More tests => 13;
+
+BEGIN { use_ok("DBIx::SearchBuilder"); }
+BEGIN { use_ok("DBIx::SearchBuilder::Handle"); }
+BEGIN { use_ok("DBIx::SearchBuilder::Handle::Informix"); }
+BEGIN { use_ok("DBIx::SearchBuilder::Handle::mysql"); }
+BEGIN { use_ok("DBIx::SearchBuilder::Handle::mysqlPP"); }
+BEGIN { use_ok("DBIx::SearchBuilder::Handle::ODBC"); }
-BEGIN { use_ok( "DBIx::SearchBuilder" ); }
-BEGIN { use_ok( "DBIx::SearchBuilder::Handle" ); }
-BEGIN { use_ok( "DBIx::SearchBuilder::Handle::Informix" ); }
-BEGIN { use_ok( "DBIx::SearchBuilder::Handle::mysql" ); }
-BEGIN { use_ok( "DBIx::SearchBuilder::Handle::mysqlPP" ); }
-BEGIN { use_ok( "DBIx::SearchBuilder::Handle::ODBC" ); }
BEGIN {
-SKIP: {
- skip "DBD::Oracle is not installed", 1 unless eval { require DBD::Oracle };
- use_ok( "DBIx::SearchBuilder::Handle::Oracle" );
-} }
-BEGIN { use_ok( "DBIx::SearchBuilder::Handle::Pg" ); }
-BEGIN { use_ok( "DBIx::SearchBuilder::Handle::Sybase" ); }
-BEGIN { use_ok( "DBIx::SearchBuilder::Handle::SQLite" ); }
-BEGIN { use_ok( "DBIx::SearchBuilder::Record" ); }
-BEGIN { use_ok( "DBIx::SearchBuilder::Record::Cachable" ); }
+ SKIP: {
+ skip "DBD::Oracle is not installed", 1
+ unless eval { require DBD::Oracle };
+ use_ok("DBIx::SearchBuilder::Handle::Oracle");
+ }
+}
+BEGIN { use_ok("DBIx::SearchBuilder::Handle::Pg"); }
+BEGIN { use_ok("DBIx::SearchBuilder::Handle::Sybase"); }
+BEGIN { use_ok("DBIx::SearchBuilder::Handle::SQLite"); }
+BEGIN { use_ok("DBIx::SearchBuilder::Record"); }
+BEGIN { use_ok("DBIx::SearchBuilder::Record::Cachable"); }
+
+# Commented out until ruslan sends code.
+#BEGIN {
+# SKIP: {
+# skip "Cache::Memcached is not installed", 1
+# unless eval { require Cache::Memcached };
+# use_ok("DBIx::SearchBuilder::Record::Memcached");
+# }
+#}
Added: DBIx-SearchBuilder/trunk/t/01basics.t
==============================================================================
--- (empty file)
+++ DBIx-SearchBuilder/trunk/t/01basics.t Fri Jan 28 10:32:15 2005
@@ -0,0 +1,27 @@
+#!/usr/bin/perl -w
+
+use strict;
+
+use Test::More;
+BEGIN { require "t/utils.pl" }
+our (@SupportedDrivers);
+
+my $total = scalar(@SupportedDrivers) * 4;
+plan tests => $total;
+
+foreach my $d ( @SupportedDrivers ) {
+SKIP: {
+ eval "require DBD::$d";
+ if( $@ ) {
+ skip "DBD::$d is not installed", 4;
+ }
+ use_ok('DBIx::SearchBuilder::Handle::'. $d);
+ my $handle = get_handle( $d );
+ isa_ok($handle, 'DBIx::SearchBuilder::Handle');
+ isa_ok($handle, 'DBIx::SearchBuilder::Handle::'. $d);
+ can_ok($handle, 'dbh');
+}
+}
+
+
+1;
Modified: DBIx-SearchBuilder/trunk/t/01records.t
==============================================================================
--- DBIx-SearchBuilder/trunk/t/01records.t (original)
+++ DBIx-SearchBuilder/trunk/t/01records.t Fri Jan 28 10:32:15 2005
@@ -5,22 +5,17 @@
use warnings;
use File::Spec;
use Test::More;
+BEGIN { require "t/utils.pl" }
+
eval "use DBD::SQLite";
if ($@) {
plan skip_all => "DBD::SQLite required for testing database interaction"
} else{
-plan tests => 34;
+plan tests => 30;
}
- my $handle;
-use_ok('DBIx::SearchBuilder::Handle::SQLite');
-
- $handle = DBIx::SearchBuilder::Handle::SQLite->new();
-
-isa_ok($handle, 'DBIx::SearchBuilder::Handle');
-isa_ok($handle, 'DBIx::SearchBuilder::Handle::SQLite');
- $handle->Connect( Driver => 'SQLite', Database => File::Spec->catfile(File::Spec->tmpdir(), "sb-test.$$"));
-can_ok($handle, 'dbh');
+my $handle = get_handle('SQLite');
+$handle->Connect( Driver => 'SQLite', Database => File::Spec->catfile(File::Spec->tmpdir(), "sb-test.$$"));
isa_ok($handle->dbh, 'DBI::db');
my $ret = $handle->SimpleQuery(TestApp::Address->schema);
Modified: DBIx-SearchBuilder/trunk/t/02records_object.t
==============================================================================
--- DBIx-SearchBuilder/trunk/t/02records_object.t (original)
+++ DBIx-SearchBuilder/trunk/t/02records_object.t Fri Jan 28 10:32:15 2005
@@ -5,21 +5,19 @@
use warnings;
use File::Spec;
+BEGIN { require "t/utils.pl" }
+
use Test::More;
eval "use DBD::SQLite";
if ($@) {
plan skip_all => "DBD::SQLite required for testing database interaction"
} else{
-plan tests => 13;
+plan tests => 9;
}
-use_ok('DBIx::SearchBuilder::Handle::SQLite');
-my $handle = DBIx::SearchBuilder::Handle::SQLite->new();
-
-isa_ok($handle, 'DBIx::SearchBuilder::Handle');
-isa_ok($handle, 'DBIx::SearchBuilder::Handle::SQLite');
+my $handle = get_handle('SQLite');
$handle->Connect( Driver => 'SQLite', Database => File::Spec->catfile(File::Spec->tmpdir(), "sb-test.$$"));
-can_ok($handle, 'dbh');
isa_ok($handle->dbh, 'DBI::db');
+
foreach( @{ TestApp->schema } ) {
my $ret = $handle->SimpleQuery($_);
isa_ok($ret,'DBI::st', "Inserted the schema. got a statement handle back");
Added: DBIx-SearchBuilder/trunk/t/utils.pl
==============================================================================
--- (empty file)
+++ DBIx-SearchBuilder/trunk/t/utils.pl Fri Jan 28 10:32:15 2005
@@ -0,0 +1,31 @@
+#!/usr/bin/perl -w
+
+use strict;
+
+our @SupportedDrivers = qw(
+ Informix
+ mysql
+ mysqlPP
+ ODBC
+ Oracle
+ Pg
+ SQLite
+ Sybase
+);
+
+
+sub get_handle
+{
+ my $type = shift;
+ my $class = 'DBIx::SearchBuilder::Handle::'. $type;
+ eval "require $class";
+ die $@ if $@;
+ my $handle;
+ {
+# no strict 'refs';
+ $handle = $class->new( @_ );
+ }
+ return $handle;
+}
+
+1;
More information about the Rt-commit
mailing list