Locale-TextDomain-OO
view release on metacpan or search on metacpan
t/42_functional_interface.t view on Meta::CPAN
#!perl -T
use strict;
use warnings;
use Test::More tests => 20;
use Test::NoWarnings;
use Test::Exception;
use Test::Differences;
BEGIN {
require_ok('Locale::TextDomain::OO');
require_ok('Locale::TextDomain::OO::Lexicon::File::MO');
require_ok('Locale::TextDomain::OO::FunctionalInterface');
Locale::TextDomain::OO::FunctionalInterface->import;
}
throws_ok
sub {
Locale::TextDomain::OO::FunctionalInterface->import(undef);
},
qr{\A \QAn undefined value is not a function name}xms,
'undefined function name';
throws_ok
sub {
Locale::TextDomain::OO::FunctionalInterface->import('__y');
},
qr{\A \Q"__y" is not exported}xms,
'function __y failed';
${$loc_ref} = Locale::TextDomain::OO->new(
language => 'de',
domain => 'test',
category => 'LC_MESSAGES',
logger => sub { note shift },
plugins => [ qw(
Expand::Gettext::DomainAndCategory
Expand::Maketext
) ],
);
Locale::TextDomain::OO::Lexicon::File::MO
->new(
logger => sub { note shift },
)
->lexicon_ref({
search_dirs => [ './t/LocaleData' ],
decode => 1,
data => [
'*:LC_MESSAGES:test' => '*/LC_MESSAGES/test.mo',
'*:LC_MESSAGES:test_maketext' => '*/LC_MESSAGES/test_maketext.mo',
],
});
# gettext
is
__('This is a text.'),
'Das ist ein Text.',
'__';
is
__npx(
'appointment',
'This is {dates :num} date.',
'This are {dates :num} dates.',
1,
dates => 1,
),
'Das ist 1 Date.',
'__npx 1';
( run in 1.186 second using v1.01-cache-2.11-cpan-39bf76dae61 )