#!/usr/bin/env perl -w
use strict;
use warnings;
use Test::More qw( no_plan );
use Text::Template::Simple;
use File::Spec;

my $t = Text::Template::Simple->new;
my $i = Text::Template::Simple->new(
           include_paths => [ qw( t/data/path1   t/data/path2 ) ],
        );

my $i_got_1 = $i->compile('test1.tts');
my $i_got_2 = $i->compile('test2.tts');

my $t_got_1 = $t->compile('test1.tts');
my $t_got_2 = $t->compile('test2.tts');

my $tf_got_1 = eval { $t->compile([ FILE => 'test1.tts']); } || $@;
my $tf_got_2 = eval { $t->compile([ FILE => 'test2.tts']); } || $@;

my $canon = File::Spec->canonpath( 't/data/path2/test3.tts' );

ok($i_got_1 eq 'test1: test1.tts', 'Include path successful for test1');
ok($i_got_2 eq "test2: test2.tts - dynamic $canon - static "
              .'<%= $0 %>', 'Include path/dynamic/static successful for test1:'
              ."'$i_got_2'");

ok($t_got_1 eq 'test1.tts', 'First test: Parameter interpreted as string');
ok($t_got_2 eq 'test2.tts', 'Second test: Parameter interpreted as string');

my $c = 'code died since file does not exists and include_paths unset';

like($tf_got_1, qr/ \QError opening 'test1.tts' for reading\E /xms, "First test: $c");
like($tf_got_2, qr/ \QError opening 'test2.tts' for reading\E /xms, "Second test: $c");
