1e1051a39Sopenharmony_ci#!perl
2e1051a39Sopenharmony_ci
3e1051a39Sopenharmony_ciuse utf8;
4e1051a39Sopenharmony_ciuse strict;
5e1051a39Sopenharmony_ciuse warnings;
6e1051a39Sopenharmony_ciuse Test::More;
7e1051a39Sopenharmony_ciuse Encode;
8e1051a39Sopenharmony_ciuse File::Temp;
9e1051a39Sopenharmony_ci
10e1051a39Sopenharmony_ci# Non-CORE module(s)
11e1051a39Sopenharmony_ciunless (eval { require Test::More::UTF8; 1; } ) {
12e1051a39Sopenharmony_ci    plan skip_all => '[ Test::More::UTF8 ] is required for testing';
13e1051a39Sopenharmony_ci}
14e1051a39Sopenharmony_ci
15e1051a39Sopenharmony_ciplan tests => 3;
16e1051a39Sopenharmony_ci
17e1051a39Sopenharmony_ciuse_ok 'Text::Template' or exit 1;
18e1051a39Sopenharmony_ci
19e1051a39Sopenharmony_cimy $tmp_fh = File::Temp->new;
20e1051a39Sopenharmony_ci
21e1051a39Sopenharmony_ciprint $tmp_fh encode('UTF-8', "\x{4f60}\x{597d} {{\$name}}");
22e1051a39Sopenharmony_ci
23e1051a39Sopenharmony_ci$tmp_fh->flush;
24e1051a39Sopenharmony_ci
25e1051a39Sopenharmony_ci# UTF-8 encoded template file
26e1051a39Sopenharmony_cimy $str = Text::Template->new(
27e1051a39Sopenharmony_ci    TYPE     => 'FILE',
28e1051a39Sopenharmony_ci    SOURCE   => $tmp_fh->filename,
29e1051a39Sopenharmony_ci    ENCODING => 'UTF-8'
30e1051a39Sopenharmony_ci)->fill_in(HASH => { name => 'World' });
31e1051a39Sopenharmony_ci
32e1051a39Sopenharmony_ciis $str, "\x{4f60}\x{597d} World";
33e1051a39Sopenharmony_ci
34e1051a39Sopenharmony_ci$tmp_fh = File::Temp->new;
35e1051a39Sopenharmony_ci
36e1051a39Sopenharmony_ciprint $tmp_fh encode('iso-8859-1', "Ol\x{e1} {{\$name}}");
37e1051a39Sopenharmony_ci
38e1051a39Sopenharmony_ci$tmp_fh->flush;
39e1051a39Sopenharmony_ci
40e1051a39Sopenharmony_ci# ISO-8859-1 encoded template file
41e1051a39Sopenharmony_ci$str = Text::Template->new(
42e1051a39Sopenharmony_ci    TYPE     => 'FILE',
43e1051a39Sopenharmony_ci    SOURCE   => $tmp_fh->filename,
44e1051a39Sopenharmony_ci    ENCODING => 'iso-8859-1'
45e1051a39Sopenharmony_ci)->fill_in(HASH => { name => 'World' });
46e1051a39Sopenharmony_ci
47e1051a39Sopenharmony_ciis $str, "Ol\x{e1} World";
48