mirror of
https://github.com/openssl/openssl.git
synced 2024-12-21 06:09:35 +08:00
05c9c7b02d
Fixes #9287 Reviewed-by: Matt Caswell <matt@openssl.org> (Merged from https://github.com/openssl/openssl/pull/9828)
48 lines
944 B
Perl
Executable File
48 lines
944 B
Perl
Executable File
#!perl
|
|
|
|
use utf8;
|
|
use strict;
|
|
use warnings;
|
|
use Test::More;
|
|
use Encode;
|
|
use File::Temp;
|
|
|
|
# Non-CORE module(s)
|
|
unless (eval { require Test::More::UTF8; 1; } ) {
|
|
plan skip_all => '[ Test::More::UTF8 ] is required for testing';
|
|
}
|
|
|
|
plan tests => 3;
|
|
|
|
use_ok 'Text::Template' or exit 1;
|
|
|
|
my $tmp_fh = File::Temp->new;
|
|
|
|
print $tmp_fh encode('UTF-8', "\x{4f60}\x{597d} {{\$name}}");
|
|
|
|
$tmp_fh->flush;
|
|
|
|
# UTF-8 encoded template file
|
|
my $str = Text::Template->new(
|
|
TYPE => 'FILE',
|
|
SOURCE => $tmp_fh->filename,
|
|
ENCODING => 'UTF-8'
|
|
)->fill_in(HASH => { name => 'World' });
|
|
|
|
is $str, "\x{4f60}\x{597d} World";
|
|
|
|
$tmp_fh = File::Temp->new;
|
|
|
|
print $tmp_fh encode('iso-8859-1', "Ol\x{e1} {{\$name}}");
|
|
|
|
$tmp_fh->flush;
|
|
|
|
# ISO-8859-1 encoded template file
|
|
$str = Text::Template->new(
|
|
TYPE => 'FILE',
|
|
SOURCE => $tmp_fh->filename,
|
|
ENCODING => 'iso-8859-1'
|
|
)->fill_in(HASH => { name => 'World' });
|
|
|
|
is $str, "Ol\x{e1} World";
|