From 186374529e05a18e216ee96675d80488289c9c42 Mon Sep 17 00:00:00 2001 From: Simon Green Date: Thu, 26 Sep 2013 12:20:02 +1000 Subject: Bug 893589 - 004template.t fails when templates in extension directory r=dkl, a=simon --- t/004template.t | 16 ++++++++++------ t/Support/Files.pm | 8 ++++---- t/Support/Templates.pm | 16 ++++++++++++---- 3 files changed, 26 insertions(+), 14 deletions(-) (limited to 't') diff --git a/t/004template.t b/t/004template.t index c81bccc45..298bb52c0 100644 --- a/t/004template.t +++ b/t/004template.t @@ -37,17 +37,21 @@ my $fh; } # Check to make sure all templates that are referenced in Bugzilla -# exist in the proper place in the English template directory. +# exist in the proper place in the English template or extension directory. # All other languages may or may not include any template as Bugzilla will # fall back to English if necessary. foreach my $file (@referenced_files) { - my $path = File::Spec->catfile($english_default_include_path, $file); - if (-e $path) { - ok(1, "$path exists"); - } else { - ok(0, "$path cannot be located --ERROR"); + my $found = 0; + foreach my $path (@english_default_include_paths) { + my $pathfile = File::Spec->catfile($path, $file); + if (-e $pathfile) { + $found = 1; + last; + } } + + ok($found, "$file found"); } foreach my $include_path (@include_paths) { diff --git a/t/Support/Files.pm b/t/Support/Files.pm index ed011a374..330a473b1 100644 --- a/t/Support/Files.pm +++ b/t/Support/Files.pm @@ -16,11 +16,11 @@ use File::Find; find(sub { push(@files, $File::Find::name) if $_ =~ /\.pm$/;}, 'Bugzilla'); push(@files, 'extensions/create.pl'); -my @extensions = glob('extensions/*'); -foreach my $extension (@extensions) { - # Skip disabled extensions - next if -e "$extension/disabled"; +@extensions = + grep { $_ ne 'extensions/create.pl' && ! -e "$_/disabled" } + glob('extensions/*'); +foreach my $extension (@extensions) { find(sub { push(@files, $File::Find::name) if $_ =~ /\.pm$/;}, $extension); } diff --git a/t/Support/Templates.pm b/t/Support/Templates.pm index c9a528e9f..2185d687f 100644 --- a/t/Support/Templates.pm +++ b/t/Support/Templates.pm @@ -12,9 +12,9 @@ use strict; use lib 't'; use parent qw(Exporter); @Support::Templates::EXPORT = - qw(@languages @include_paths $english_default_include_path + qw(@languages @include_paths @english_default_include_paths %include_path @referenced_files %actual_files $num_actual_files); -use vars qw(@languages @include_paths $english_default_include_path +use vars qw(@languages @include_paths @english_default_include_paths %include_path @referenced_files %actual_files $num_actual_files); use Bugzilla; @@ -34,10 +34,18 @@ use File::Spec; # All include paths @include_paths = (); -# English default include path -$english_default_include_path = +# English default include paths +push @english_default_include_paths, File::Spec->catdir(bz_locations()->{'templatedir'}, 'en', 'default'); +# And the extensions too +foreach my $extension (@Support::Files::extensions) { + my $dir = File::Spec->catdir($extension, 'template', 'en', 'default'); + if (-e $dir) { + push @english_default_include_paths, $dir; + } +} + # Files which are referenced in the cgi files @referenced_files = (); -- cgit v1.2.3-24-g4f1b