summaryrefslogtreecommitdiffstats
path: root/t
diff options
context:
space:
mode:
authorSimon Green <sgreen@redhat.com>2013-09-26 04:20:02 +0200
committerSimon Green <sgreen@redhat.com>2013-09-26 04:20:02 +0200
commit186374529e05a18e216ee96675d80488289c9c42 (patch)
treea9d7be657d39e1c8ad05c28320a9f6d7fa0b6690 /t
parent52cbd16ef02a1098249758e30d12fc314926f3ef (diff)
downloadbugzilla-186374529e05a18e216ee96675d80488289c9c42.tar.gz
bugzilla-186374529e05a18e216ee96675d80488289c9c42.tar.xz
Bug 893589 - 004template.t fails when templates in extension directory
r=dkl, a=simon
Diffstat (limited to 't')
-rw-r--r--t/004template.t16
-rw-r--r--t/Support/Files.pm8
-rw-r--r--t/Support/Templates.pm16
3 files changed, 26 insertions, 14 deletions
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 = ();