diff options
Diffstat (limited to 'macros/texinfo/texinfo/tp/maintain/lib/libintl-perl/tests/03bind_textdomain_filter_pp.t')
-rw-r--r-- | macros/texinfo/texinfo/tp/maintain/lib/libintl-perl/tests/03bind_textdomain_filter_pp.t | 88 |
1 files changed, 88 insertions, 0 deletions
diff --git a/macros/texinfo/texinfo/tp/maintain/lib/libintl-perl/tests/03bind_textdomain_filter_pp.t b/macros/texinfo/texinfo/tp/maintain/lib/libintl-perl/tests/03bind_textdomain_filter_pp.t new file mode 100644 index 0000000000..4c12c600ff --- /dev/null +++ b/macros/texinfo/texinfo/tp/maintain/lib/libintl-perl/tests/03bind_textdomain_filter_pp.t @@ -0,0 +1,88 @@ +#! /usr/local/bin/perl -w + +# vim: syntax=perl +# vim: tabstop=4 + +use strict; + +use Test; + +use constant NUM_TESTS => 7; + +use Locale::Messages qw (LC_MESSAGES textdomain bind_textdomain_filter + gettext dgettext dcgettext + ngettext dngettext dcngettext); + +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; +} + +textdomain 'bogus'; + +my $gettext = gettext ('foobar'); +my $dgettext = dgettext (bogus => 'foobar'); +my $dcgettext = dcgettext (bogus => 'foobar', LC_MESSAGES); +my $ngettext = ngettext ('foobar', 'barbaz', 1); +my $dngettext = dngettext (bogus => 'foobar', 'barbaz', 1); +my $dcngettext = dcngettext (bogus => 'foobar', 'barbaz', 1, LC_MESSAGES); + +package MyPackage; + +use strict; + +sub new { + bless {}, shift; +} + +sub filterMethod { + my ($self, $string) = @_; + + return 'prefix - ' . $string; +}; + +package main; + +sub wrapper { + my ($string, $obj) = @_; + + $obj->filterMethod ($string); +} + +my $obj = MyPackage->new; +ok (bind_textdomain_filter ('bogus', \&wrapper, $obj)); + +my $prefix = 'prefix - '; +ok "$prefix$gettext", gettext ('foobar'); +ok "$prefix$dgettext", dgettext (bogus => 'foobar'); +ok "$prefix$dcgettext", dcgettext (bogus => 'foobar', LC_MESSAGES); +ok "$prefix$ngettext", ngettext ('foobar', 'barbaz', 1); +ok "$prefix$dngettext", dngettext (bogus => 'foobar', 'barbaz', 1); +ok "$prefix$dcngettext", + dcngettext (bogus => 'foobar', 'barbaz', 1, LC_MESSAGES); + +__END__ + +Local Variables: +mode: perl +perl-indent-level: 4 +perl-continued-statement-offset: 4 +perl-continued-brace-offset: 0 +perl-brace-offset: -4 +perl-brace-imaginary-offset: 0 +perl-label-offset: -4 +cperl-indent-level: 4 +cperl-continued-statement-offset: 2 +tab-width: 4 +End: |