CLDR-Number
view release on metacpan or search on metacpan
t/inf-nan.t view on Meta::CPAN
use utf8;
use strict;
use warnings;
use open qw( :encoding(UTF-8) :std );
use Test::More tests => 28;
use CLDR::Number;
my $inf = 9**9**9;
my $neg = -$inf;
my $nan = -sin($inf);
my $cldr = CLDR::Number->new(locale => 'en');
my $decf = $cldr->decimal_formatter;
my $perf = $cldr->percent_formatter;
my $curf = $cldr->currency_formatter(currency_code => 'EUR');
is $cldr->infinity, 'â', 'infinity attribute';
is $cldr->nan, 'NaN', 'nan attribute';
is $decf->format($inf), 'â', 'format infinity';
is $decf->format($neg), '-â', 'format negative infinity';
is $decf->format($nan), 'NaN', 'format NaN';
SKIP: {
skip 'infinity and NaN strings not supported on this system', 6
if 'inf' != $inf;
is $decf->format('inf'), 'â', 'format lowercase "inf" string';
is $decf->format('-inf'), '-â', 'format lowercase "-inf" string';
is $decf->format('nan'), 'NaN', 'format lowercase "nan" string';
is $decf->format('Inf'), 'â', 'format titlecase "Inf" string';
is $decf->format('-Inf'), '-â', 'format titlecase "-Inf" string';
is $decf->format('NaN'), 'NaN', 'format titlecase "NaN" string';
}
is $perf->format($inf), 'â%', 'format infinity percent';
is $perf->format($neg), '-â%', 'format negative infinity percent';
is $perf->format($nan), 'NaN%', 'format NaN percent';
is $curf->format($inf), 'â¬â', 'format infinity euros';
is $curf->format($neg), '-â¬â', 'format negative infinity euros';
is $curf->format($nan), 'â¬NaN', 'format NaN euros';
is $decf->at_least($inf), 'â+', 'format at least infinity';
is $decf->at_least($nan), 'NaN+', 'format at least NaN';
is $decf->range($neg, $inf), '-âââ', 'format range of infinity';
is $decf->range($nan, $nan), 'NaNâNaN', 'format range of NaN';
$cldr = CLDR::Number->new(locale => 'dz');
$decf = $cldr->decimal_formatter;
$perf = $cldr->percent_formatter;
$curf = $cldr->currency_formatter(currency_code => 'BTN');
is $cldr->infinity, 'à½à¾²à½à½¦à¼à½à½ºà½', 'infinity attribute (dz)';
is $cldr->nan, 'ཨà½à¼à½à½', 'nan attribute (dz)';
is $decf->format($inf), 'à½à¾²à½à½¦à¼à½à½ºà½', 'format infinity (dz)';
is $decf->format($neg), '-à½à¾²à½à½¦à¼à½à½ºà½', 'format negative infinity (dz)';
is $decf->format($nan), 'ཨà½à¼à½à½', 'format NaN (dz)';
is $perf->format($inf), 'à½à¾²à½à½¦à¼à½à½ºà½Â %', 'format infinity percent (dz)';
is $curf->format($inf), 'Nu.à½à¾²à½à½¦à¼à½à½ºà½', 'format infinity ngultrums (dz)';
( run in 2.009 seconds using v1.01-cache-2.11-cpan-8f98c5d2c55 )