X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?a=blobdiff_plain;f=t%2Finflate%2Ffile_column.t;h=453adeefe7ae98b606c087883ef0cdb519874dd1;hb=11f335cd8c3310770f6c8d0724a54dd528119734;hp=24407e2f993f2e237f7cc8d4a62c33e214c2b327;hpb=123df5269e2a19f93ff072bbf92832fb23d19f4c;p=dbsrgits%2FDBIx-Class.git diff --git a/t/inflate/file_column.t b/t/inflate/file_column.t index 24407e2..453adee 100644 --- a/t/inflate/file_column.t +++ b/t/inflate/file_column.t @@ -1,12 +1,14 @@ +BEGIN { do "./t/lib/ANFANG.pm" or die ( $@ || $! ) } +use DBIx::Class::Optional::Dependencies -skip_all_without => qw( ic_file ); + use strict; use warnings; use Test::More; -use lib qw(t/lib); - use DBICTest; use DBICTest::Schema; +use File::Temp (); use File::Compare; use Path::Class qw/file/; @@ -19,8 +21,6 @@ use Path::Class qw/file/; use warnings; use base qw/DBICTest::BaseResult/; - use File::Temp qw/tempdir/; - __PACKAGE__->load_components (qw/InflateColumn::File/); __PACKAGE__->table('file_columns'); @@ -29,7 +29,7 @@ use Path::Class qw/file/; file => { data_type => 'varchar', is_file_column => 1, - file_column_path => tempdir(CLEANUP => 1), + file_column_path => File::Temp->newdir( CLEANUP => 1, DIR => DBICTest::Util::tmpdir() ), size => 255 } ); @@ -42,6 +42,15 @@ my $schema = DBICTest->init_schema; plan tests => 10; +if (not $ENV{DBICTEST_SQLT_DEPLOY}) { + $schema->storage->dbh->do(<<'EOF'); + CREATE TABLE file_columns ( + id INTEGER PRIMARY KEY, + file VARCHAR(255) + ) +EOF +} + my $rs = $schema->resultset('FileColumn'); my $source_file = file(__FILE__); my $fname = $source_file->basename; @@ -79,7 +88,7 @@ $fh = $new_source_file->open('r') or die "failed to open $new_source_file: $!\n" $fc->file({ handle => $fh, filename => $new_fname }); $fc->update; -TODO: { +{ local $TODO = 'design change required'; ok ( ! -e $storage, 'old storage does not exist' ); }; @@ -92,8 +101,8 @@ $fc = $rs->find({ id => $fc->id }); is ( $fc->file->{filename}, $new_fname, 'new filname matches' ); ok ( compare($new_storage, $new_source_file) == 0, 'new content matches' ); -if ($^O =~ /win32|cygwin/i) { - close $fc->file->{handle}; # can't delete open files on Windows +if ($^O eq 'MSWin32') { + close $fc->file->{handle}; # can't delete open files on Win32 } $fc->delete; @@ -111,8 +120,8 @@ $storage = file( $fc->file->{filename}, ); -TODO: { +{ local $TODO = 'need resultset delete override to delete_all'; $rs->delete; ok ( ! -e $storage, 'storage does not exist after $rs->delete' ); -}; +}