File: 17_escape.t

package info (click to toggle)
libhtml-template-compiled-perl 0.94-1
  • links: PTS, VCS
  • area: main
  • in suites: squeeze
  • size: 668 kB
  • ctags: 370
  • sloc: perl: 4,265; makefile: 5
file content (59 lines) | stat: -rw-r--r-- 1,707 bytes parent folder | download
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
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
# Before `make install' is performed this script should be runnable with
# `make test'. After `make install' it should work as `perl HTML-Template-Compiled.t'
# $Id: 17_escape.t 1102 2009-08-21 13:56:24Z tinita $

use lib 'blib/lib';
use Test::More tests => 4;
use Data::Dumper;
use File::Spec;
use strict;
use warnings;
local $Data::Dumper::Indent = 1; local $Data::Dumper::Sortkeys = 1;
BEGIN { use_ok('HTML::Template::Compiled') };
BEGIN { use_ok('HTML::Template::Compiled::Plugin::XMLEscape') };
$HTML::Template::Compiled::NEW_CHECK = 2;
my $cache = File::Spec->catfile('t', 'cache');

{

	my $htc = HTML::Template::Compiled->new(
		scalarref => \<<'EOM',
<tmpl_var html>
<tmpl_var nohtml ESCAPE=0>
EOM
		default_escape => 'HTML',
		debug => 0,
	);
	my $html = '<html>';
	my $nohtml = $html;
	$htc->param(
		html => $html,
		nohtml => $nohtml,
	);
    $html = HTML::Template::Compiled::Utils::escape_html($html);
	my $out = $htc->output;
	$out =~ tr/\n\r //d;
	#print $out,$/;
	cmp_ok($out, "eq", $html . $nohtml, "default_escape");
}

{

    my $htc = HTML::Template::Compiled->new(
        scalarref => \<<"EOM",
        <xml foo="<%= foo escape=xml_attr %>"><%= foo escape=xml %></xml>
EOM
        plugin => [qw(::XMLEscape)],
        debug => 0,
    );
    #warn Data::Dumper->Dump([\$htc], ['htc']);
    my $foo = "<to_escape>";
    my $xml = HTML::Template::Compiled::Plugin::XMLEscape::escape_xml($foo);
    my $xml_attr = HTML::Template::Compiled::Plugin::XMLEscape::escape_xml_attr($foo);
    $htc->param(foo => $foo);
    my $out = $htc->output;
	$out =~ tr/\n\r//d;
    $out =~ s/^\s*//;
    #print $out, $/;
    cmp_ok($out, 'eq', qq{<xml foo="$xml_attr">$xml</xml>}, "Plugin XMLEscape");
}