revert to previous formatting
[p5sagit/App-FatPacker.git] / t / pack.t
index 023dc00..c88b9e1 100644 (file)
--- a/t/pack.t
+++ b/t/pack.t
@@ -6,6 +6,7 @@ use File::Basename;
 use File::Copy;
 use File::Path;
 use File::Temp qw/tempdir/;
+use File::Spec;
 use Cwd;
 
 BEGIN { use_ok "App::FatPacker", "" }
@@ -29,15 +30,45 @@ print "1;\n";
 select STDOUT;
 close $temp_fh;
 
+# make sure we don't pick up things from our created dir
+chdir File::Spec->tmpdir;
+
 # Packed, now try using it:
 require $temp_fh;
 
 {
   require t::mod::a;
   no warnings 'once';
-  ok $t::mod::a::foo eq 'bar';
+  ok $t::mod::a::foo eq 'bar', "packed script works";
+}
+
+{
+
+    ok ref $INC[0], "\$INC[0] is a reference";
+    ok $INC[0]->can( "files" ), "\$INC[0] has a files method";
+
+    my @files = sort $INC[0]->files;
+
+    is_deeply( \@files, [
+        't/mod/a.pm',
+        't/mod/b.pm',
+        't/mod/c.pm',
+        't/mod/cond.pm',
+    ], "\$INC[0]->files returned the files" );
+
 }
 
-# moving away from the dir so it could be deleted
-chdir $cwd;
+
+if (my $testwith = $ENV{'FATPACKER_TESTWITH'}) {
+  for my $perl (split ' ', $testwith) {
+    my $out = system $perl, '-e',
+        q{alarm 5; require $ARGV[0]; require t::mod::a; exit($t::mod::a::foo eq 'bar' ? 0 : 1)}, $temp_fh;
+    ok !$out, "packed script works with $perl";
+
+    $out = system $perl, '-e',
+        q{alarm 5; require $ARGV[0]; exit( (sort $INC[0]->files)[0] eq 't/mod/a.pm' ? 0 : 1 )}, $temp_fh;
+    ok !$out, "\$INC[0]->files works with $perl";
+
+  }
+}