Get rid of Path::Class ( that *does* feel good )
[dbsrgits/DBIx-Class.git] / t / inflate / file_column.t
index 24407e2..453adee 100644 (file)
@@ -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' );
-};
+}