package HTML::Examiner::Templates; use base qw( Template::Provider ); use warnings; use strict; =head1 NAME HTML::Examiner::Templates - this module store the templates =head1 VERSION Version 0.01_1 =cut our $VERSION = '0.01_2'; my $templates = { 'tag_contains_prop'=> <<'EOT' if (defined($v{[% ptree.function.pattern.element.prop %]})) { [% PROCESS src/error_report msg = ptree.function.action.msg %] } EOT , 'src/error_report'=> <<'EOT' HTML::Examiner::report("[% msg %]"); EOT , 'any_contains_prop' => <<'EOT' if (defined($v{[% ptree.function.pattern.element.prop %]})) { [% PROCESS src/error_report msg = ptree.function.action.msg %] } EOT , 'any_misses_prop' => <<'EOT' unless (defined($v{[% ptree.function.pattern.element.prop %]})) { [% PROCESS src/error_report msg = ptree.function.action.msg %] } EOT , 'content_matches_re' => <<'EOT' if ($c =~ /[% ptree.function.pattern.element.re %]/) { [% PROCESS src/error_report msg = ptree.function.action.msg %] } EOT , 'content_mismatches_re' => <<'EOT' if (not($c =~ /[% ptree.function.pattern.element.re %]/)) { [% PROCESS src/error_report msg = ptree.function.action.msg %] } EOT , 'prop_matches_re' => <<'EOT' if (defined($v{[% ptree.function.pattern.target.prop %]}) and ($v{[% ptree.function.pattern.target.prop %]} =~ /[% ptree.function.pattern.element.re %]/)) { [% PROCESS src/error_report msg = ptree.function.action.msg %] } EOT , 'prop_mismatches_re' => <<'EOT' if (defined($v{[% ptree.function.pattern.target.prop %]}) and not($v{[% ptree.function.pattern.target.prop %]} =~ /[% ptree.function.pattern.element.re %]/)) { [% PROCESS src/error_report msg = ptree.function.action.msg %] } EOT , 're_contains_prop' => <<'EOT' if ($q =~ /[% ptree.function.pattern.target.tag.re %]/ and defined($v{[% ptree.function.pattern.element.prop %]})) { push @{$HTML::Examiner::report}, "[% ptree.function.action.msg %]"; } EOT , 're_misses_prop' => <<'EOT' unless ($q =~ /[% ptree.function.pattern.target.tag.re %]/ and defined($v{[% ptree.function.pattern.element.prop %]})) { push @{$HTML::Examiner::report}, "[% ptree.function.action.msg %]"; } EOT , 'tag_exists' => <<'EOT' [% PROCESS src/error_report msg = ptree.function.action.msg %] EOT , 'tag_misses_prop' => <<'EOT' unless (defined($v{[% ptree.function.pattern.element.prop %]})) { [% PROCESS src/error_report msg = ptree.function.action.msg %] } EOT }; sub _template_modified { my($self,$path) = @_; return 1; } sub _template_content { my($self,$path) = @_; $path =~ s#^templates/##; $self->debug("get $path") if $self->{DEBUG}; my $data = $templates->{$path}; my $error = "error: $path not found"; my $mod_date = 1; return $data; } 1;