Locale-TextDomain-OO-Util
view release on metacpan or search on metacpan
t/02_join_split.t view on Meta::CPAN
#!perl -T
use strict;
use warnings;
use Test::More tests => 23;
use Test::NoWarnings;
use Test::Differences;
BEGIN {
use_ok 'Locale::TextDomain::OO::Util::JoinSplitLexiconKeys';
}
my $key_util = Locale::TextDomain::OO::Util::JoinSplitLexiconKeys->instance;
LEXICON_KEY: {
is
$key_util->join_lexicon_key,
'i-default::',
'join empty lexicon key';
eq_or_diff
$key_util->split_lexicon_key,
{},
'split undef lexicon key';
is
$key_util->join_lexicon_key({
language => 'de-de',
category => 'my category',
domain => 'my domain',
project => 'my project:my subproject',
}),
'de-de:my category:my domain:my project:my subproject',
'join lexicon key';
eq_or_diff
$key_util->split_lexicon_key('de-de:my category:my domain'),
{
language => 'de-de',
category => 'my category',
domain => 'my domain',
},
'split lexicon key';
eq_or_diff
$key_util->split_lexicon_key(':::my project:my subproject'),
{
language => q{},
category => q{},
domain => q{},
project => 'my project:my subproject',
},
'split lexicon key';
}
MESSAGE_KEY: {
is
$key_util->join_message_key({}),
q{},
'join empty message key';
eq_or_diff
$key_util->split_message_key,
{},
'split undef message key';
eq_or_diff
$key_util->join_message_key({
msgctxt => 'my context',
msgid => 'my singular',
msgid_plural => 'my plural',
}),
"my singular\x00my plural\x04my context",
( run in 0.525 second using v1.01-cache-2.11-cpan-39bf76dae61 )