#! /usr/local/bin/perl -w
BEGIN {
my
$package
;
if
($0 =~ /_pp\.t$/) {
$package
=
'gettext_pp'
;
}
else
{
$package
=
'gettext_xs'
;
}
my
$selected
= Locale::Messages->select_package (
$package
);
if
(
$selected
ne
$package
&&
'gettext_xs'
eq
$package
) {
print
"1..0 # Skip: Locale::$package not available here.\n"
;
exit
0;
}
plan
tests
=> NUM_TESTS;
}
my
$locale_dir
= $0;
$locale_dir
=~ s,[^\\/]+$,, or
$locale_dir
=
'.'
;
$locale_dir
.=
'/LocaleData'
;
my
$textdomain
=
'existing'
;
Locale::Messages::nl_putenv (
"LANGUAGE=de_AT"
);
Locale::Messages::nl_putenv (
"LC_ALL=de_AT"
);
Locale::Messages::nl_putenv (
"LANG=de_AT"
);
Locale::Messages::nl_putenv (
"LC_MESSAGES=de_AT"
);
Locale::Messages::nl_putenv (
"OUTPUT_CHARSET=iso-8859-1"
);
my
$bound_dir
= bindtextdomain
$textdomain
=>
$locale_dir
;
ok
defined
$bound_dir
;
ok (File::Spec->catdir (
$bound_dir
), File::Spec->catdir (
$bound_dir
));
my
$bound_domain
= textdomain
$textdomain
;
ok
defined
$bound_domain
;
ok
$bound_domain
,
$textdomain
;
my
$missing_locale
=
'locale de_AT missing'
;
my
$setlocale
= Locale::Messages::setlocale (POSIX::LC_ALL() =>
''
);
if
(
$setlocale
&&
$setlocale
=~ /(?:austria|at)/i) {
$missing_locale
=
''
;
}
else
{
$setlocale
= Locale::Util::set_locale (POSIX::LC_ALL(),
'de'
,
'AT'
);
if
(
$setlocale
&&
$setlocale
=~ /(?:austria|at)/i) {
$missing_locale
=
''
;
}
}
skip
$missing_locale
, gettext (
'View'
),
'Anzeigen'
;
skip
$missing_locale
, pgettext (
'Which folder would you like to view?'
,
'View'
),
'Ansicht'
;
skip
$missing_locale
, pgettext (
'Which folder would you like to view? (2)'
,
'View'
),
'View 2'
;
ok pgettext (
'none'
,
'Not translated'
),
'Not translated'
;