03dcpgettext_pp.t 2.0 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273
  1. #! /usr/local/bin/perl -w
  2. # vim: syntax=perl
  3. # vim: tabstop=4
  4. use strict;
  5. use Test;
  6. use constant NUM_TESTS => 10;
  7. use Locale::Messages qw (bindtextdomain dcgettext dcpgettext LC_MESSAGES);
  8. require POSIX;
  9. require File::Spec;
  10. BEGIN {
  11. my $package;
  12. if ($0 =~ /_pp\.t$/) {
  13. $package = 'gettext_pp';
  14. } else {
  15. $package = 'gettext_xs';
  16. }
  17. my $selected = Locale::Messages->select_package ($package);
  18. if ($selected ne $package && 'gettext_xs' eq $package) {
  19. print "1..0 # Skip: Locale::$package not available here.\n";
  20. exit 0;
  21. }
  22. plan tests => NUM_TESTS;
  23. }
  24. my $locale_dir = $0;
  25. $locale_dir =~ s,[^/\\]+$,, or $locale_dir = '.';
  26. $locale_dir .= '/LocaleData';
  27. Locale::Messages::nl_putenv ("LANGUAGE=de_AT");
  28. Locale::Messages::nl_putenv ("LC_ALL=de_AT");
  29. Locale::Messages::nl_putenv ("LANG=de_AT");
  30. Locale::Messages::nl_putenv ("LC_MESSAGES=de_AT");
  31. Locale::Messages::nl_putenv ("OUTPUT_CHARSET=iso-8859-1");
  32. my $bound_dir = bindtextdomain existing => $locale_dir;
  33. ok defined $bound_dir;
  34. ok (File::Spec->catdir ($locale_dir), File::Spec->catdir ($bound_dir));
  35. $bound_dir = bindtextdomain additional => $locale_dir;
  36. ok defined $bound_dir;
  37. ok (File::Spec->catdir ($locale_dir), File::Spec->catdir ($bound_dir));
  38. # make sure dgettext and dpgettext return diff values
  39. ok 'Anzeigen', dcgettext (existing => 'View', LC_MESSAGES);
  40. ok 'Ansicht', dcpgettext (existing => 'Which folder would you like to view?','View', LC_MESSAGES);
  41. ok 'Not translated', dcpgettext (existing => 'none', 'Not translated', LC_MESSAGES);
  42. ok 'Ein weiterer Blick', dcpgettext (additional => 'Context', 'Another View', LC_MESSAGES);
  43. ok 'Not translated', dcpgettext (additional => 'none', 'Not translated', LC_MESSAGES);
  44. ok 'Ein weiterer Blick', dcpgettext (additional => 'Context', 'Another View', LC_MESSAGES);
  45. __END__
  46. Local Variables:
  47. mode: perl
  48. perl-indent-level: 4
  49. perl-continued-statement-offset: 4
  50. perl-continued-brace-offset: 0
  51. perl-brace-offset: -4
  52. perl-brace-imaginary-offset: 0
  53. perl-label-offset: -4
  54. cperl-indent-level: 4
  55. cperl-continued-statement-offset: 2
  56. tab-width: 4
  57. End: