summaryrefslogtreecommitdiff
path: root/rt/lib/t/regression/00-mason-syntax.t
blob: ce692a3b1f7207a769c9b0bb0c298167969bbbb6 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
#!/usr/bin/perl

use strict;
use warnings;

use Test::More tests => 1;

my $ok = 1;

use File::Find;
find( {
    no_chdir => 1,
    wanted   => sub {
        return if /\.(?:jpe?g|png|gif|rej|\~)$/i;
        return unless -f $_;
        diag "testing $_" if $ENV{'TEST_VERBOSE'};
        eval { compile_file($_) } and return;
        $ok = 0;
        diag "error in ${File::Find::name}:\n$@";
    },
}, 'html');
ok($ok, "mason syntax is ok");

use HTML::Mason;
use HTML::Mason::Compiler;
use HTML::Mason::Compiler::ToObject;

sub compile_file {
    my $file = shift;

    open my $fh, '<:utf8', $file or die "couldn't open '$file': $!";
    my $text = do { local $/; <$fh> };
    close $fh or die "couldn't close '$file': $!";

    my $compiler = new HTML::Mason::Compiler::ToObject;
    $compiler->compile(
        comp_source => $text,
        name => 'my',
        $HTML::Mason::VERSION >= 1.36? (comp_path => 'my'): (),
    );
    return 1;
}