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 )