Locale-Unicode-Data
view release on metacpan or search on metacpan
t/01.locale-data.t view on Meta::CPAN
can_ok( $cldr, 'normalise' );
can_ok( $cldr, 'number_format_l10n' );
can_ok( $cldr, 'number_formats_l10n' );
can_ok( $cldr, 'number_symbol_l10n' );
can_ok( $cldr, 'number_symbols_l10n' );
can_ok( $cldr, 'number_system' );
can_ok( $cldr, 'number_systems' );
can_ok( $cldr, 'number_system_l10n' );
can_ok( $cldr, 'number_systems_l10n' );
can_ok( $cldr, 'pass_error' );
can_ok( $cldr, 'person_name_default' );
can_ok( $cldr, 'person_name_defaults' );
can_ok( $cldr, 'plural_count' );
can_ok( $cldr, 'plural_range' );
can_ok( $cldr, 'plural_ranges' );
can_ok( $cldr, 'plural_rule' );
can_ok( $cldr, 'plural_rules' );
can_ok( $cldr, 'rbnf' );
can_ok( $cldr, 'rbnfs' );
can_ok( $cldr, 'reference' );
can_ok( $cldr, 'references' );
can_ok( $cldr, 'script' );
can_ok( $cldr, 'scripts' );
can_ok( $cldr, 'script_l10n' );
can_ok( $cldr, 'scripts_l10n' );
can_ok( $cldr, 'split_interval' );
can_ok( $cldr, 'subdivision' );
can_ok( $cldr, 'subdivisions' );
can_ok( $cldr, 'subdivision_l10n' );
can_ok( $cldr, 'subdivisions_l10n' );
can_ok( $cldr, 'territory' );
can_ok( $cldr, 'territories' );
can_ok( $cldr, 'territory_l10n' );
can_ok( $cldr, 'territories_l10n' );
can_ok( $cldr, 'time_format' );
can_ok( $cldr, 'time_formats' );
can_ok( $cldr, 'time_relative_l10n' );
can_ok( $cldr, 'time_relatives_l10n' );
can_ok( $cldr, 'timezone' );
can_ok( $cldr, 'timezones' );
can_ok( $cldr, 'timezone_canonical' );
can_ok( $cldr, 'timezone_city' );
can_ok( $cldr, 'timezones_cities' );
can_ok( $cldr, 'timezone_formats' );
can_ok( $cldr, 'timezones_formats' );
can_ok( $cldr, 'timezone_info' );
can_ok( $cldr, 'timezones_info' );
can_ok( $cldr, 'timezone_names' );
can_ok( $cldr, 'timezones_names' );
can_ok( $cldr, 'unit_alias' );
can_ok( $cldr, 'unit_aliases' );
can_ok( $cldr, 'unit_constant' );
can_ok( $cldr, 'unit_constants' );
can_ok( $cldr, 'unit_conversion' );
can_ok( $cldr, 'unit_conversions' );
can_ok( $cldr, 'unit_l10n' );
can_ok( $cldr, 'units_l10n' );
can_ok( $cldr, 'unit_prefix' );
can_ok( $cldr, 'unit_prefixes' );
can_ok( $cldr, 'unit_pref' );
can_ok( $cldr, 'unit_prefs' );
can_ok( $cldr, 'unit_quantity' );
can_ok( $cldr, 'unit_quantities' );
can_ok( $cldr, 'variant' );
can_ok( $cldr, 'variants' );
can_ok( $cldr, 'variant_l10n' );
can_ok( $cldr, 'variants_l10n' );
can_ok( $cldr, 'week_preference' );
can_ok( $cldr, 'week_preferences' );
my $db_file = $cldr->datafile;
ok( defined( $db_file ) && length( $db_file // '' ), 'database file' );
SKIP:
{
if( !$db_file )
{
skip( "No file object returned", 1 );
}
ok( -e( $db_file ), "Database file exists" );
};
my $dbh = $cldr->database_handler;
isa_ok( $dbh, 'DBI::db' );
SKIP:
{
if( !$dbh )
{
skip( "Unable to get a database handler.", 1 );
}
my $sth_list_tables = eval
{
$dbh->prepare( q{SELECT name FROM sqlite_master WHERE type IN ('table','view') AND name NOT LIKE 'sqlite_%' UNION ALL SELECT name FROM sqlite_temp_master WHERE type IN ('table','view') ORDER BY name} )
} || BAIL_OUT( "Error preparing statement to retrieve a list of all tables: ", ( $@ || $dbh->errstr ) );
$sth_list_tables->execute;
my @tables = map( $_->[0], @{$sth_list_tables->fetchall_arrayref} );
my $expected = [qw(
aliases annotations bcp47_currencies bcp47_extensions
bcp47_timezones bcp47_values calendar_append_formats
calendar_available_formats calendar_cyclics_l10n
calendar_datetime_formats calendar_eras
calendar_eras_l10n calendar_formats_l10n
calendar_interval_formats calendar_terms calendars
calendars_l10n casings code_mappings collations
collations_l10n currencies currencies_info
currencies_l10n date_fields_l10n date_terms day_periods
language_population languages languages_match
likely_subtags locale_number_systems locales
locales_info locales_l10n metainfos metazones
metazones_names number_formats_l10n number_symbols_l10n
number_systems number_systems_l10n person_name_defaults
plural_ranges plural_rules
rbnf refs scripts scripts_l10n subdivisions
subdivisions_l10n territories territories_l10n
time_formats time_relative_l10n timezones timezones_cities
timezones_cities_extended timezones_cities_supplemental
timezones_formats timezones_info timezones_names
unit_aliases unit_constants unit_conversions
unit_prefixes unit_prefs unit_quantities units_l10n
variants variants_l10n week_preferences
)];
is_deeply( \@tables, $expected, 'tables' );
};
my $vers = $cldr->cldr_version;
is( $vers, $CLDR_VERSION, 'CLDR version' );
my $tests =
{
# NOTE: aliases
aliases =>
[
{
method => 'alias',
args => [qw( alias i-klingon type language )],
expect =>
{
alias => 'i-klingon',
replacement => [qw( tlh )],
reason => 'deprecated',
type => 'language',
comment => 'Klingon',
},
},
{
method => 'alias',
args => [qw( alias USA type territory )],
expect =>
{
alias => 'USA',
replacement => [qw( US )],
reason => 'overlong',
type => 'territory',
comment => 'United States',
},
},
{
method => 'alias',
args => [qw( alias heploc type variant )],
expect =>
{
alias => 'heploc',
replacement => [qw( alalc97 )],
reason => 'deprecated',
type => 'variant',
comment => 'heploc',
},
},
{
method => 'alias',
args => [qw( alias Qaai type script )],
expect =>
{
alias => 'Qaai',
replacement => [qw( Zinh )],
reason => 'deprecated',
type => 'script',
comment => 'deprecated ISO territories in 3066 + CLDR ones (older deprecated ISO codes',
},
},
t/01.locale-data.t view on Meta::CPAN
args => [category => 'mass'],
expect => 'array',
},
],
# NOTE: units_l10n
units_l10n =>
[
{
method => 'unit_l10n',
args => [qw( unit_id length-kilometer locale en format_length long unit_type regular count one )],
expect =>
{
locale => 'en',
format_length => 'long',
unit_type => 'regular',
unit_id => 'length-kilometer',
unit_pattern => '{0} kilometer',
pattern_type => 'regular',
locale_name => 'kilometers',
count => 'one',
gender => undef,
gram_case => undef,
},
},
{
method => 'units_l10n',
args => [],
expect => 'array',
},
{
method => 'units_l10n',
args => [locale => 'en'],
expect => 'array',
},
{
method => 'units_l10n',
args => [locale => 'en', format_length => 'long', unit_type => 'regular', unit_id => 'length-kilometer', pattern_type => 'regular'],
expect => 'array',
},
],
# NOTE: unit_prefixes
unit_prefixes =>
[
{
method => 'unit_prefix',
args => [unit_id => 'micro'],
expect =>
{
unit_id => 'micro',
symbol => 'μ',
power => 10,
factor => -6,
},
},
{
method => 'unit_prefixes',
args => [],
expect => 'array',
},
],
# NOTE: unit_prefs
unit_prefs =>
[
{
method => 'unit_pref',
args => [unit_id => 'square-meter'],
expect =>
{
unit_id => 'square-meter',
territory => '001',
category => 'area',
usage => 'default',
geq => undef,
skeleton => undef,
},
},
{
method => 'unit_prefs',
args => [],
expect => 'array',
},
{
method => 'unit_prefs',
args => [territory => 'US'],
expect => 'array',
},
{
method => 'unit_prefs',
args => [category => 'area'],
expect => 'array',
},
],
# NOTE: unit_quantities
unit_quantities =>
[
{
method => 'unit_quantity',
args => [base_unit => 'kilogram'],
expect =>
{
base_unit => 'kilogram',
quantity => 'mass',
status => 'simple',
comment => undef,
},
},
{
method => 'unit_quantities',
args => [],
expect => 'array',
},
{
method => 'unit_quantities',
args => [quantity => 'mass'],
expect => 'array',
},
],
# NOTE: variants
variants =>
[
{
method => 'variant',
args => [variant => 'valencia'],
expect =>
{
variant => 'valencia',
status => 'regular',
},
},
{
method => 'variants',
args => [],
expect => 'array',
},
],
# NOTE: variants_l10n
variants_l10n =>
[
{
method => 'variant_l10n',
args => [qw( variant valencia locale en )],
expect =>
{
locale => 'en',
variant => 'valencia',
locale_name => 'Valencian',
alt => undef,
},
( run in 0.832 second using v1.01-cache-2.11-cpan-8f98c5d2c55 )