#!perl use warnings; use strict; use Data::Dumper; use Test::More tests => 11; use FindBin qw($Bin); use Test::XML; use Encode; use Template::TAL; my $data = { e1 => "\x{e9}", e2 => "

\x{e9}

", }; my $template = Encode::encode_utf8(<<"END_TEMPLATE");

\x{e9}

END_TEMPLATE my $expected = <<"END_EXPECTED";

é

é

é

END_EXPECTED for my $charset (qw( utf-8 iso-8859-1 iso-8859-2)) { ok( my $tt = Template::TAL->new( output => "Template::TAL::Output::XML", charset => $charset, ), "got TT object for $charset"); my $output = $tt->process(\$template, $data); ok( $output =~ /$charset/, "output contains charset" ); is_xml($output, $expected, "xml for $charset") or warn $output,$expected; } ok( my $tt = Template::TAL->new( output => "Template::TAL::Output::XML", charset => "ASCII", ), "got TT object for XML / ASCII output"); my $output = $tt->process(\$template, $data); like( $output, qr/é/, "ascii encoded");