facf0c92e0
Red Bear OS is a full fork. All sources must be available from git clone with zero network access. Removed gitignore rules that excluded fetched source trees under recipes/*/source/, local/recipes/kde/*/source/, local/recipes/qt/*/source/, and vendor source trees. Build artifacts (target/, build/, source.tar, *.o, *.so) remain excluded. 127291 files added — kernel, relibc, base, bootloader, pkgar, all KDE/Qt frameworks, mesa, wayland, DRM drivers, and every other recipe source.
112 lines
2.5 KiB
Bash
Executable File
112 lines
2.5 KiB
Bash
Executable File
#! /bin/sh
|
|
. "${srcdir=.}/init.sh"; path_prepend_ . ../src
|
|
|
|
# Tests for the general string extraction facilities of the Perl backend
|
|
# (with option --extract-all).
|
|
|
|
cat <<\EOPERL > xg-pl-4.pl
|
|
use strict;
|
|
|
|
# A double quoted string.
|
|
print "'Your command, please?', asked the waiter.\n";
|
|
# A double quoted string with interpolations.
|
|
my $polite = 'please';
|
|
print "'Your recommendation, $polite?', answered the guest.\n";
|
|
# A reference.
|
|
my $ref1 = \$polite;
|
|
my $ref2 = \$ref1;
|
|
my $ref3 = \$ref2;
|
|
print "Yes, $$$$ref3!\n";
|
|
# The qq operator and some of the more esoteric string interpolation
|
|
# features of Perl.
|
|
print (qq {\uU\lp \LaNd\E \ldo\lWn, \Uoh\E, yeah\Q!!!\E\\!\n});
|
|
# The q operator.
|
|
print q<E-Mail: <no@spam.org>. >;
|
|
# Should not be found.
|
|
{ $polite =~ qr?le? }
|
|
|
|
# List interpolation.
|
|
print "Your Perl include path starts with '$INC[0]' and it " .
|
|
"ends with '$INC[-1]'. $#INC directories are searched.\n";
|
|
# Here documents.
|
|
print <<EOF, <<'EOF';
|
|
Line 1\nLine 2
|
|
EOF
|
|
Line 1\nStill line 1
|
|
EOF
|
|
# Perl code inside strings.
|
|
sub hello_func { return 'Hello' };
|
|
print "@{[hello_func]} world!\n";
|
|
# Backticks.
|
|
print `ls $0`;
|
|
print qx;ls $0;;
|
|
|
|
if (!defined($size = -s $filename)) {
|
|
# The above s is part of the function -s, not
|
|
# the substitution operator!
|
|
}
|
|
|
|
# The rest requires a Unicode aware Perl.
|
|
require 5.006;
|
|
print "\U\x70\LO\154\x{69}\x{004E}a \Q\lRu\LLeS\E\041\n";
|
|
# FIXME: The following should actually produce 'Polina4ka' in cyrillic letters.
|
|
#print "\u\x{43f}\L\x{41E}\x{43b}\x{418}\E\x{43d}" .
|
|
# "\x{430}\x{447}\x{43a}\x{430}\n";
|
|
EOPERL
|
|
|
|
: ${XGETTEXT=xgettext}
|
|
LC_MESSAGES=C LC_ALL= \
|
|
${XGETTEXT} -a --omit-header --no-location -o xg-pl-4.tmp.pot xg-pl-4.pl || Exit 1
|
|
LC_ALL=C tr -d '\r' < xg-pl-4.tmp.pot > xg-pl-4.pot || Exit 1
|
|
|
|
cat <<\EOF > xg-pl-4.ok
|
|
msgid "'Your command, please?', asked the waiter.\n"
|
|
msgstr ""
|
|
|
|
msgid "please"
|
|
msgstr ""
|
|
|
|
msgid "'Your recommendation, $polite?', answered the guest.\n"
|
|
msgstr ""
|
|
|
|
msgid "Yes, $$$$ref3!\n"
|
|
msgstr ""
|
|
|
|
msgid "Up and down, OH, yeah\\!\\!\\!\\!\n"
|
|
msgstr ""
|
|
|
|
msgid "E-Mail: <no@spam.org>. "
|
|
msgstr ""
|
|
|
|
msgid ""
|
|
"Your Perl include path starts with '$INC[0]' and it ends with '$INC[-1]'. "
|
|
"$#INC directories are searched.\n"
|
|
msgstr ""
|
|
|
|
msgid ""
|
|
"Line 1\n"
|
|
"Line 2\n"
|
|
msgstr ""
|
|
|
|
msgid "Line 1\\nStill line 1\n"
|
|
msgstr ""
|
|
|
|
msgid "Hello"
|
|
msgstr ""
|
|
|
|
msgid "@{[hello_func]} world!\n"
|
|
msgstr ""
|
|
|
|
msgid "ls $0"
|
|
msgstr ""
|
|
|
|
msgid "Polina rules!\n"
|
|
msgstr ""
|
|
EOF
|
|
|
|
: ${DIFF=diff}
|
|
${DIFF} xg-pl-4.ok xg-pl-4.pot
|
|
result=$?
|
|
|
|
exit $result
|