Make sure authors have all the deps
[gitmo/MooseX-Storage.git] / t / 101_io_atomic.t
index 20e0aa5..3e629d9 100644 (file)
@@ -4,10 +4,16 @@ use strict;
 use warnings;
 
 use Test::More;
+use File::Temp qw(tempdir);
+use File::Spec::Functions;
+my $dir = tempdir( CLEANUP => 1 );
+
+use Test::Requires {
+    'JSON::Any' => 0.01, # skip all if not installed
+    'IO::AtomicFile' => 0.01,
+};
 
 BEGIN {
-    eval "use IO::AtomicFile";
-    plan skip_all => "IO::AtomicFile is required for this test" if $@;        
     plan tests => 10;
     use_ok('MooseX::Storage');
 }
@@ -27,7 +33,7 @@ BEGIN {
        has 'object' => (is => 'ro', isa => 'Object');    
 }
 
-my $file = 'temp.json';
+my $file = catfile($dir,'temp.json');
 
 {
     my $foo = Foo->new(
@@ -57,4 +63,3 @@ my $file = 'temp.json';
     is($foo->object->number, 2, '... got the right number (in the embedded object)');
 }
 
-unlink $file;