xgettext-perl-4 revision 1.1.1.1
1#! /bin/sh 2 3# Tests for the general string extraction facilities of the Perl backend 4# (with option --extract-all). 5 6tmpfiles="" 7trap 'rm -fr $tmpfiles' 1 2 3 15 8 9tmpfiles="$tmpfiles xg-pl-4.pl" 10cat <<\EOPERL > xg-pl-4.pl 11use strict; 12 13# A double quoted string. 14print "'Your command, please?', asked the waiter.\n"; 15# A double quoted string with interpolations. 16my $polite = 'please'; 17print "'Your recommendation, $polite?', answered the guest.\n"; 18# A reference. 19my $ref1 = \$polite; 20my $ref2 = \$ref1; 21my $ref3 = \$ref2; 22print "Yes, $$$$ref3!\n"; 23# The qq operator and some of the more esoteric string interpolation 24# features of Perl. 25print (qq {\uU\lp \LaNd\E \ldo\lWn, \Uoh\E, yeah\Q!!!\E\\!\n}); 26# The q operator. 27print q<E-Mail: <no@spam.org>. >; 28# Should not be found. 29{ $polite =~ qr?le? } 30 31# List interpolation. 32print "Your Perl include path starts with '$INC[0]' and it " . 33 "ends with '$INC[-1]'. $#INC directories are searched.\n"; 34# Here documents. 35print <<EOF, <<'EOF'; 36Line 1\nLine 2 37EOF 38Line 1\nStill line 1 39EOF 40# Perl code inside strings. 41sub hello_func { return 'Hello' }; 42print "@{[hello_func]} world!\n"; 43# Backticks. 44print `ls $0`; 45print qx;ls $0;; 46 47if (!defined($size = -s $filename)) { 48 # The above s is part of the function -s, not 49 # the substitution operator! 50} 51 52# The rest requires a Unicode aware Perl. 53require 5.006; 54print "\U\x70\LO\154\x{69}\x{004E}a \Q\lRu\LLeS\E\041\n"; 55# FIXME: The following should actually produce 'Polina4ka' in cyrillic letters. 56#print "\u\x{43f}\L\x{41E}\x{43b}\x{418}\E\x{43d}" . 57# "\x{430}\x{447}\x{43a}\x{430}\n"; 58EOPERL 59 60tmpfiles="$tmpfiles xg-pl-4.pot" 61: ${XGETTEXT=xgettext} 62LC_MESSAGES=C LC_ALL= \ 63${XGETTEXT} -a --omit-header --no-location -o xg-pl-4.pot xg-pl-4.pl 64test $? = 0 || { rm -fr $tmpfiles; exit 1; } 65 66tmpfiles="$tmpfiles xg-pl-4.ok" 67cat <<\EOF > xg-pl-4.ok 68msgid "'Your command, please?', asked the waiter.\n" 69msgstr "" 70 71msgid "please" 72msgstr "" 73 74msgid "'Your recommendation, $polite?', answered the guest.\n" 75msgstr "" 76 77msgid "Yes, $$$$ref3!\n" 78msgstr "" 79 80msgid "Up and down, OH, yeah\\!\\!\\!\\!\n" 81msgstr "" 82 83msgid "E-Mail: <no@spam.org>. " 84msgstr "" 85 86msgid "" 87"Your Perl include path starts with '$INC[0]' and it ends with '$INC[-1]'. " 88"$#INC directories are searched.\n" 89msgstr "" 90 91msgid "" 92"Line 1\n" 93"Line 2\n" 94msgstr "" 95 96msgid "Line 1\\nStill line 1\n" 97msgstr "" 98 99msgid "Hello" 100msgstr "" 101 102msgid "@{[hello_func]} world!\n" 103msgstr "" 104 105msgid "ls $0" 106msgstr "" 107 108msgid "Polina rules!\n" 109msgstr "" 110EOF 111 112: ${DIFF=diff} 113${DIFF} xg-pl-4.ok xg-pl-4.pot 114result=$? 115 116rm -fr $tmpfiles 117 118exit $result 119