aboutsummaryrefslogtreecommitdiffstats
path: root/t/004template.t
diff options
context:
space:
mode:
Diffstat (limited to 't/004template.t')
-rw-r--r--t/004template.t118
1 files changed, 65 insertions, 53 deletions
diff --git a/t/004template.t b/t/004template.t
index be0dd04ec..8429b774f 100644
--- a/t/004template.t
+++ b/t/004template.t
@@ -20,6 +20,7 @@
# Contributor(s): Jacob Steenhagen <jake@bugzilla.org>
# Zach Lipton <zach@zachlipton.com>
# David D. Kilzer <ddkilzer@kilzer.net>
+# Tobias Burnus <burnus@net-b.de>
#
#################
@@ -37,8 +38,7 @@ use CGI qw(-no_debug);
use File::Spec 0.82;
use Template;
-use Test::More tests => ( scalar(@Support::Templates::referenced_files)
- + scalar(@Support::Templates::actual_files) * 2);
+use Test::More tests => ( scalar(@referenced_files) + $num_actual_files * 2 );
# Capture the TESTOUT from Test::More or Test::Builder for printing errors.
# This will handle verbosity for us automatically.
@@ -54,72 +54,84 @@ my $fh;
}
}
-my $include_path = $Support::Templates::include_path;
+# Checks whether one of the passed files exists
+sub existOnce {
+ foreach my $file (@_) {
+ return $file if -e $file;
+ }
+ return 0;
+}
# Check to make sure all templates that are referenced in
# Bugzilla exist in the proper place.
-foreach my $file(@Support::Templates::referenced_files) {
- my $path = File::Spec->catfile($include_path, $file);
- if (-e $path) {
- ok(1, "$path exists");
- } else {
- ok(0, "$path does not exist --ERROR");
+foreach my $lang (@languages) {
+ foreach my $file (@referenced_files) {
+ my @path = map(File::Spec->catfile($_, $file),
+ split(':', $include_path{$lang}));
+ if (my $path = existOnce(@path)) {
+ ok(1, "$path exists");
+ } else {
+ ok(0, "$file cannot be located --ERROR");
+ print $fh "Looked in:\n " . join("\n ", @path);
+ }
}
}
-# Processes all the templates to make sure they have good syntax
-my $provider = Template::Provider->new(
-{
- INCLUDE_PATH => $include_path ,
- # Need to define filters used in the codebase, they don't
- # actually have to function in this test, just be defined.
- # See globals.pl for the actual codebase definitions.
- FILTERS =>
+foreach my $include_path (@include_paths) {
+ # Processes all the templates to make sure they have good syntax
+ my $provider = Template::Provider->new(
{
- html_linebreak => sub { return $_; },
- js => sub { return $_ } ,
- strike => sub { return $_ } ,
- url_quote => sub { return $_ } ,
- xml => sub { return $_ } ,
- quoteUrls => sub { return $_ } ,
- bug_link => [ sub { return sub { return $_; } }, 1] ,
- csv => sub { return $_ } ,
- time => sub { return $_ } ,
- },
-}
-);
-
-foreach my $file(@Support::Templates::actual_files) {
- my $path = File::Spec->catfile($include_path, $file);
- if (-e $path) {
- my ($data, $err) = $provider->fetch($file);
-
- if (!$err) {
- ok(1, "$file syntax ok");
+ INCLUDE_PATH => $include_path ,
+ # Need to define filters used in the codebase, they don't
+ # actually have to function in this test, just be defined.
+ # See globals.pl for the actual codebase definitions.
+ FILTERS =>
+ {
+ html_linebreak => sub { return $_; },
+ js => sub { return $_ } ,
+ strike => sub { return $_ } ,
+ url_quote => sub { return $_ } ,
+ xml => sub { return $_ } ,
+ quoteUrls => sub { return $_ } ,
+ bug_link => [ sub { return sub { return $_; } }, 1] ,
+ csv => sub { return $_ } ,
+ time => sub { return $_ } ,
+ },
+ }
+ );
+
+ foreach my $file (@{$actual_files{$include_path}}) {
+ my $path = File::Spec->catfile($include_path, $file);
+ if (-e $path) {
+ my ($data, $err) = $provider->fetch($file);
+
+ if (!$err) {
+ ok(1, "$file syntax ok");
+ }
+ else {
+ ok(0, "$file has bad syntax --ERROR");
+ print $fh $data . "\n";
+ }
}
else {
- ok(0, "$file has bad syntax --ERROR");
- print $fh $data . "\n";
+ ok(1, "$path doesn't exist, skipping test");
}
}
- else {
- ok(1, "$path doesn't exist, skipping test");
- }
-}
-# check to see that all templates have a version string:
+ # check to see that all templates have a version string:
-foreach my $file(@Support::Templates::actual_files) {
- my $path = File::Spec->catfile($include_path, $file);
- open(TMPL, $path);
- my $firstline = <TMPL>;
- if ($firstline =~ /\d+\.\d+\@[\w\.-]+/) {
- ok(1,"$file has a version string");
- } else {
- ok(0,"$file does not have a version string --ERROR");
+ foreach my $file (@{$actual_files{$include_path}}) {
+ my $path = File::Spec->catfile($include_path, $file);
+ open(TMPL, $path);
+ my $firstline = <TMPL>;
+ if ($firstline =~ /\d+\.\d+\@[\w\.-]+/) {
+ ok(1,"$file has a version string");
+ } else {
+ ok(0,"$file does not have a version string --ERROR");
+ }
+ close(TMPL);
}
- close(TMPL);
}
exit 0;