The Perl Toolchain Summit needs more sponsors. If your company depends on Perl, please support this very important event.
# Before `make install' is performed this script should be runnable with
# `make test'. After `make install' it should work as `perl HTML-Template-Compiled.t'
# $Id: 12_path.t 985 2007-11-04 21:03:50Z tinita $

use Test::More tests => 5;
BEGIN { use_ok('HTML::Template::Compiled') };
use File::Spec ();
use lib 't';
use HTC_Utils qw($tdir);

eval {
	my $htc = HTML::Template::Compiled->new(
		path => [
            File::Spec->catfile(qw(t templates_foo)),
            $tdir,
        ],
		filename => File::Spec->catfile(qw(a file1.html)),
		search_path_on_include => 0,
		#debug => 1,
	);
};
print "err: $@\n"  unless $ENV{HARNESS_ACTIVE};
my $f = File::Spec->catfile(qw/ a file1.html /);
cmp_ok($@, '=~', qr{'\Q$f\E' not found}, "search_path_on_include off");

my $htc = HTML::Template::Compiled->new(
	path => ["$tdir/subdir", "$tdir/subdir2"],
	filename => File::Spec->catfile(qw(a file1.html)),
    search_path_on_include => 1,
	#debug => 1,
);
my $out = $htc->output;
$out =~ tr/\r\n//d;
ok(
	$out =~ m{Template t/templates/subdir/a/file1.htmlTemplate t/templates/subdir/a/file2.html},
	"include form current dir"
);
	


{
#    local $TODO = "path not yet correctly implemented";
    my $out = '';
    eval {
        my $htc = HTML::Template::Compiled->new(
            path => File::Spec->catfile(qw(t templates)),
            filename => 'subdir/a/path.html',
			search_path_on_include => 1,
        );
        $out = $htc->output;
        #warn __PACKAGE__.':'.__LINE__.$".Data::Dumper->Dump([\$out], ['out']);
    };
    #warn __PACKAGE__.':'.__LINE__.": error? $@\n";
    cmp_ok($out, '=~', 'this is t/templates/subdir/b.html', 'search path option on include');

}

{
    my $out = '';
    eval {
        my $htc = HTML::Template::Compiled->new(
            path => File::Spec->catfile(qw(t templates)),
            filename => 'subdir/a/path2.html',
			search_path_on_include => 2,
        );
        $out = $htc->output;
#        warn __PACKAGE__.':'.__LINE__.$".Data::Dumper->Dump([\$out], ['out']);
    };
#    warn __PACKAGE__.':'.__LINE__.": error? $@\n";
    cmp_ok($out, '=~', qr{this is t/templates/subdir/b.html.*this is templates/subdir/a/path2_inc.html}s, 'search current path and path option on include');

}