#!/usr/bin/perl -w
use strict;
use Test::More tests => 7;
use File::Spec;
use FindBin;
use vars qw/@INC %INC/;
unshift @INC, ($FindBin::Bin);
use_ok('PAR');
my $par = File::Spec->catfile($FindBin::Bin, 'hello.par');
ok(-f $par, 'PAR file for testing exists.');
eval "use PAR { file => '$par'};";
warn $@ if $@;
ok(!$@, "use PAR {file =>...} threw error");
require Hello;
my $res = Hello::hello();
ok($res, "Hello from PAR returned true");
delete $INC{'Hello.pm'};
%PAR::PAR_INC = %PAR::PAR_INC = ();
@PAR::PAR_INC = @PAR::PAR_INC = ();
@PAR::PAR_INC_LATE = @PAR::PAR_INC_LATE = ();
eval "use PAR { file => '$par', fallback => 1 };";
warn $@ if $@;
ok(!$@, "use PAR {file=>...,fallback=>1} threw error");
undef *Hello::hello;
require Hello;
$res = Hello::hello();
ok(!$res, "Hello from filesys returned false");
ok(eval("require Data; 1;"), 'fallback works');
print PAR->import({run => 'hello', file => $par});
ok(0, 'should not be reached if hello from par file is executed!');
syntax highlighted by Code2HTML, v. 0.9.1