Template-Syntax-Test: eigenes Compile-Cache-Verzeichnis für Tests
[kivitendo-erp.git] / t / template_syntax.t
1 use strict;
2
3 use lib 't';
4
5 use Support::Templates;
6
7 use File::Spec;
8 use File::Slurp;
9 use Template;
10 use Template::Provider;
11 use Test::More tests => ( scalar(@referenced_files));
12
13 my $template_path = 'templates/webpages/';
14
15 my $provider = Template::Provider->new({
16   INTERPOLATE  => 0,
17   EVAL_PERL    => 0,
18   ABSOLUTE     => 1,
19   CACHE_SIZE   => 0,
20   PLUGIN_BASE  => 'SL::Template::Plugin',
21   INCLUDE_PATH => '.:' . $template_path,
22   COMPILE_DIR  => 'users/templates-cache-for-tests',
23 });
24
25 foreach my $ref (@Support::Templates::referenced_files) {
26   my $file              = "${template_path}${ref}.html";
27   my ($result, $not_ok) = $provider->fetch($file);
28
29   if (!$not_ok) {
30     ok(1, "${file} does not contain errors");
31
32   } elsif (ref($result) eq 'Template::Exception') {
33     print STDERR $result->as_string;
34     ok(0, "${file} contains syntax errors");
35
36   } else {
37     die "Unknown result type: " . ref($result);
38   }
39 }
40
41 exit 0;