From: Peter Rabbitson Date: Sat, 17 Jan 2009 18:47:53 +0000 (+0000) Subject: Fix borked t/bindtype_columns.t - TODO: still only tests PG, need to test Oracle... X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?a=commitdiff_plain;h=6ec7d1bb91a155777ad469cc219bf7442015f825;p=dbsrgits%2FDBIx-Class-Historic.git Fix borked t/bindtype_columns.t - TODO: still only tests PG, need to test Oracle as well --- diff --git a/t/bindtype_columns.t b/t/bindtype_columns.t index 12df2dc..05b514c 100644 --- a/t/bindtype_columns.t +++ b/t/bindtype_columns.t @@ -19,46 +19,32 @@ my $dbh = $schema->storage->dbh; { local $SIG{__WARN__} = sub {}; $dbh->do('DROP TABLE IF EXISTS artist'); + + # the blob/clob are for reference only, will be useful when we switch to SQLT and can test Oracle along the way $dbh->do(qq[ - CREATE TABLE artist + CREATE TABLE bindtype_test ( - artistid serial NOT NULL PRIMARY KEY, - media bytea NOT NULL, - name varchar(100) NULL, - rank integer NOT NULL DEFAULT '13', - charfield char(10) NULL + id serial NOT NULL PRIMARY KEY, + bytea bytea NULL, + blob bytea NULL, + clob text NULL ); ],{ RaiseError => 1, PrintError => 1 }); } -$schema->class('Artist')->load_components(qw/ - - PK::Auto - Core -/); - -$schema->class('Artist')->add_columns( - - "media", { - - data_type => "bytea", - is_nullable => 0, - }, -); - # test primary key handling my $big_long_string = 'abcd' x 250000; -my $new = $schema->resultset('Artist')->create({ media => $big_long_string }); +my $new = $schema->resultset('BindType')->create({ bytea => $big_long_string }); -ok($new->artistid, "Created a blob row"); -is($new->media, $big_long_string, "Set the blob correctly."); +ok($new->id, "Created a bytea row"); +is($new->bytea, $big_long_string, "Set the blob correctly."); -my $rs = $schema->resultset('Artist')->find({artistid=>$new->artistid}); +my $rs = $schema->resultset('BindType')->find({ id => $new->id }); -is($rs->get_column('media'), $big_long_string, "Created the blob correctly."); +is($rs->get_column('bytea'), $big_long_string, "Created the blob correctly."); -$dbh->do("DROP TABLE artist"); +$dbh->do("DROP TABLE bindtype_test"); diff --git a/t/lib/DBICTest/Schema.pm b/t/lib/DBICTest/Schema.pm index d217e47..857050f 100644 --- a/t/lib/DBICTest/Schema.pm +++ b/t/lib/DBICTest/Schema.pm @@ -8,6 +8,7 @@ no warnings qw/qw/; __PACKAGE__->load_classes(qw/ Artist SequenceTest + BindType Employee CD FileColumn diff --git a/t/lib/DBICTest/Schema/BindType.pm b/t/lib/DBICTest/Schema/BindType.pm new file mode 100644 index 0000000..e92a777 --- /dev/null +++ b/t/lib/DBICTest/Schema/BindType.pm @@ -0,0 +1,29 @@ +package # hide from PAUSE + DBICTest::Schema::BindType; + +use base 'DBIx::Class::Core'; + +__PACKAGE__->table('bindtype_test'); + +__PACKAGE__->add_columns( + 'id' => { + data_type => 'integer', + is_auto_increment => 1, + }, + 'bytea' => { + data_type => 'bytea', + is_nullable => 1, + }, + 'blob' => { + data_type => 'blob', + is_nullable => 1, + }, + 'clob' => { + data_type => 'clob', + is_nullable => 1, + }, +); + +__PACKAGE__->set_primary_key('id'); + +1; diff --git a/t/lib/sqlite.sql b/t/lib/sqlite.sql index fcdae19..263b234 100644 --- a/t/lib/sqlite.sql +++ b/t/lib/sqlite.sql @@ -1,6 +1,6 @@ -- -- Created by SQL::Translator::Producer::SQLite --- Created on Mon Nov 17 02:53:11 2008 +-- Created on Sat Jan 17 19:40:47 2009 -- BEGIN TRANSACTION; @@ -38,6 +38,17 @@ CREATE TABLE cd_artwork ( CREATE INDEX cd_artwork_idx_cd_id_cd_artwor ON cd_artwork (cd_id); -- +-- Table: bindtype_test +-- +CREATE TABLE bindtype_test ( + id INTEGER PRIMARY KEY NOT NULL, + bytea blob, + blob blob, + clob clob +); + + +-- -- Table: bookmark -- CREATE TABLE bookmark (