[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