mirror of
https://github.com/mozilla/gecko-dev.git
synced 2024-10-12 21:05:36 +00:00
A few enhancements to the template test:
* If there's a compilation error, report what it is * Don't try to compile a template if it doesn't exist - We already tested for that and issued an ERROR * Define the 'url' FILTER
This commit is contained in:
parent
7df3f08233
commit
c30466ca7c
@ -34,32 +34,56 @@ use Template;
|
||||
|
||||
my @testitems = @Support::Templates::testitems;
|
||||
my $include_path = $Support::Templates::include_path;
|
||||
# Capture the TESTERR from Test::More for printing errors.
|
||||
# This will handle verbosity for us automatically
|
||||
*TESTOUT = \*Test::More::TESTOUT;
|
||||
|
||||
# Check to make sure all templates that are referenced in
|
||||
# Bugzilla exist in the proper place.
|
||||
|
||||
my %exists;
|
||||
foreach my $file(@testitems) {
|
||||
if (-e $include_path . "/" . $file) {
|
||||
ok(1, "$file exists");
|
||||
$exists{$file} = 1;
|
||||
} else {
|
||||
ok(0, "$file does not exist --ERROR");
|
||||
}
|
||||
}
|
||||
|
||||
# Processes all the templates to make sure they have good syntax
|
||||
my $template = Template->new ({
|
||||
INCLUDE_PATH => $include_path,
|
||||
RELATIVE => 1
|
||||
});
|
||||
my $template = Template->new(
|
||||
{
|
||||
INCLUDE_PATH => $include_path ,
|
||||
RELATIVE => 1,
|
||||
# Need to define filters used in the codebase, they don't
|
||||
# actually have to function in this test, just be defined.
|
||||
FILTERS =>
|
||||
{
|
||||
url => sub { return $_ } ,
|
||||
}
|
||||
}
|
||||
);
|
||||
|
||||
open SAVEOUT, ">&STDOUT"; # stash the original output stream
|
||||
open SAVEERR, ">&STDERR";
|
||||
open STDOUT, "> /dev/null"; # discard all output
|
||||
open STDERR, "> /dev/null";
|
||||
foreach my $file(@testitems) {
|
||||
if ($template->process($file)) {
|
||||
ok(1, "$file syntax ok");
|
||||
} else {
|
||||
ok(0, "$file has bad syntax --ERROR");
|
||||
if ($exists{$file}) {
|
||||
if ($template->process($file)) {
|
||||
ok(1, "$file syntax ok");
|
||||
}
|
||||
else {
|
||||
print TESTOUT $template->error() . "\n";
|
||||
ok(0, "$file has bad syntax --ERROR");
|
||||
}
|
||||
}
|
||||
else {
|
||||
ok(1, "$file doesn't exists, skipping test");
|
||||
}
|
||||
}
|
||||
open STDOUT, ">&SAVEOUT"; # redirect back to original stream
|
||||
open STDERR, ">&SAVEERR";
|
||||
close SAVEOUT;
|
||||
close SAVEERR;
|
||||
|
Loading…
Reference in New Issue
Block a user