Text-MessageFormat
view release on metacpan or search on metacpan
use strict;
use Test::More tests => 25;
use Text::MessageFormat;
my @Tests = do {
local $/ = '';
map {
my($name, $format, $args, $output) = split /\n/;
$args = [ grep length, split /\|/, $args ];
[ $name, $format, $args, $output ];
} <DATA>;
};
for my $test (@Tests) {
my($name, $format, $args, $output) = @$test;
local $TODO = "unimplemented" if $name =~ s/^#\s*//;
my $mf = Text::MessageFormat->new($format);
is $mf->format(@$args), $output, $name;
}
__END__
usual Test
File {1} contains {0} files.
3|MyDisk
File MyDisk contains 3 files.
doublequote
"{0}"
Foo
"Foo"
double quotes with args
Back to the {0}''s
90
Back to the 90's
escapes {}
'''{'0}''
|
'{0}'
escapes {}
'''{0}'''
|
'{0}'
number
{0,number}
10
10
# number ingteger
{0,number,integer}
3.3
3
# number currency
{0,number,currency}
1000
$1,000.00
# number percent
{0,number,percent}
0.888
88.8%
( run in 1.120 second using v1.01-cache-2.11-cpan-364913b4093 )