#!/usr/bin/perl -w use strict; use Test::More tests => 13; BEGIN { use_ok('Rose::DB'); require 't/test-lib.pl'; # Pg My::DB2->register_db( domain => 'default', type => 'pg', driver => 'Pg', database => 'test', host => 'localhost', username => 'postgres', ); # Oracle My::DB2->register_db( domain => 'default', type => 'oracle', driver => 'oracle', database => 'test', host => 'localhost', username => '', password => '', ); # MySQL My::DB2->register_db( domain => 'default', type => 'mysql', driver => 'mysql', database => 'test', host => 'localhost', username => 'root', ); # Informix My::DB2->register_db( domain => 'test', type => 'informix', driver => 'Informix', database => 'test@test', ); } my $db = My::DB2->new(domain => 'test', type => 'pg'); ok($db->isa('My::DB2::Pg'), 'My::DB2::Pg 1'); is($db->subclass_special_pg, 'PG', 'My::DB2::Pg 2'); $db = My::DB2->new(domain => 'test', type => 'oracle'); ok($db->isa('My::DB2::Oracle'), 'My::DB2::Oracle 1'); is($db->subclass_special_oracle, 'ORACLE', 'My::DB2::Oracle 2'); $db = My::DB2->new(domain => 'test', type => 'mysql'); ok($db->isa('My::DB2::MySQL'), 'My::DB2::MySQL 1'); is($db->subclass_special_mysql, 'MYSQL', 'My::DB2::MySQL 2'); $db = My::DB2->new(domain => 'test', type => 'informix'); ok($db->isa('My::DB2::Informix'), 'My::DB2::Informix 1'); is($db->subclass_special_informix, 'INFORMIX', 'My::DB2::Informix 2'); eval { $db = My::DBReg->new(domain => 'test', type => 'mysql') }; ok($@, 'My::DBReg no such db'); $db = My::DBReg->new(domain => 'test', type => 'pg_sub'); ok($db->isa('My::DBReg'), 'My::DBReg isa My::DBReg'); ok($db->isa('Rose::DB'), 'My::DBReg isa Rose::DB'); ok($db->isa('Rose::DB::Pg'), 'My::DBReg isa Rose::DB::Pg');