Commit 18637452 authored by Simon Green's avatar Simon Green

Bug 893589 - 004template.t fails when templates in extension directory

r=dkl, a=simon
parent 52cbd16e
......@@ -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) {
......
......@@ -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);
}
......
......@@ -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 = ();
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment