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.
172 lines
4.7 KiB
Bash
Executable File
172 lines
4.7 KiB
Bash
Executable File
#!/bin/sh
|
|
. "${srcdir=.}/init.sh"; path_prepend_ . ../src
|
|
|
|
# More tests for C# support: string syntax
|
|
|
|
LC_ALL=C tr '%' '\015' <<\EOF > xg-cs-3.cs
|
|
class TestCase {
|
|
public static void Main (String[] args) {
|
|
// Test recognition of \u escapes.
|
|
GetString ("B\u00f6se B\u00fcbchen");
|
|
// \u escapes with more than one u are invalid.
|
|
GetString ("Japanese: \uu65e5\uuu672c\u8A9e");
|
|
GetString ("embedded\nnewline");
|
|
// Spaces from end of comment are removed. %GetString("dummy");
|
|
// Two backslashes (unlike in Java, where this is just one backslash).
|
|
GetString ("\u005c\u005c");
|
|
// A 6-character string (unlike in Java, where this is just one backslash).
|
|
GetString ("\\u005c");
|
|
// A single backslash.
|
|
GetString ("\\");
|
|
// There is only one \u recognition pass.
|
|
GetString ("\u005cu005c");
|
|
// Octal escape sequences are not recognized, except for \0.
|
|
GetString ("\134");
|
|
// Escape sequences in strings.
|
|
GetString ("t -> \t, b -> \b, n -> \n, dquote -> \", squote -> \' ...");
|
|
// Hex escapes are recognized.
|
|
GetString ("bel: \x07\n");
|
|
GetString // Recognized despite comments
|
|
( /* Even across multiline
|
|
comment! */ "this is a single " /* now comes the concatenation! */ + // after +
|
|
"long line");
|
|
// Verbatim string literals are extracted.
|
|
GetString (@"verbatim 1");
|
|
// In verbatim string literals, no escape sequences are recognized.
|
|
GetString (@"verbatim 2 \u005c \\ \t \b \n \'");
|
|
// In verbatim string literals, only doubled delimiters are recognized.
|
|
GetString (@"verbatim 3 ""test");
|
|
// Normal and verbatim string literals can be concatenated.
|
|
GetString ("left - \"quot" + @"ation"" - right");
|
|
// Character literals are not extracted.
|
|
GetString ('x');
|
|
// Invalid concatenations are not concatenated.
|
|
GetString ("fooba"+'r');
|
|
// Verify that a comma inside braces is hidden.
|
|
MyGetString (new Object[] { "don't", "fool", "me" }, "this is the second argument");
|
|
}
|
|
}
|
|
EOF
|
|
|
|
: ${XGETTEXT=xgettext}
|
|
# delete POT-Creation-Date: line because the date depends on local time.
|
|
${XGETTEXT} --output xg-cs-3.tmp --add-location -c -kMyGetString:2 xg-cs-3.cs 2>/dev/null || Exit 1
|
|
sed -e '/\"POT-Creation-Date:.*/d' < xg-cs-3.tmp | LC_ALL=C tr -d '\r' > xg-cs-3.po || Exit 1
|
|
|
|
cat <<\EOF > xg-cs-3.ok
|
|
# SOME DESCRIPTIVE TITLE.
|
|
# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
|
|
# This file is distributed under the same license as the PACKAGE package.
|
|
# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
|
|
#
|
|
#, fuzzy
|
|
msgid ""
|
|
msgstr ""
|
|
"Project-Id-Version: PACKAGE VERSION\n"
|
|
"Report-Msgid-Bugs-To: \n"
|
|
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
|
|
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
|
|
"Language-Team: LANGUAGE <LL@li.org>\n"
|
|
"Language: \n"
|
|
"MIME-Version: 1.0\n"
|
|
"Content-Type: text/plain; charset=UTF-8\n"
|
|
"Content-Transfer-Encoding: 8bit\n"
|
|
|
|
#. Test recognition of \u escapes.
|
|
#: xg-cs-3.cs:4
|
|
msgid "Böse Bübchen"
|
|
msgstr ""
|
|
|
|
#. \u escapes with more than one u are invalid.
|
|
#: xg-cs-3.cs:6
|
|
msgid "Japanese: \\uu65e5\\uuu672c語"
|
|
msgstr ""
|
|
|
|
#: xg-cs-3.cs:7
|
|
msgid ""
|
|
"embedded\n"
|
|
"newline"
|
|
msgstr ""
|
|
|
|
#. Spaces from end of comment are removed.
|
|
#: xg-cs-3.cs:8
|
|
msgid "dummy"
|
|
msgstr ""
|
|
|
|
#. Two backslashes (unlike in Java, where this is just one backslash).
|
|
#: xg-cs-3.cs:10
|
|
msgid "\\\\"
|
|
msgstr ""
|
|
|
|
#. A 6-character string (unlike in Java, where this is just one backslash).
|
|
#. There is only one \u recognition pass.
|
|
#: xg-cs-3.cs:12 xg-cs-3.cs:16
|
|
msgid "\\u005c"
|
|
msgstr ""
|
|
|
|
#. A single backslash.
|
|
#: xg-cs-3.cs:14
|
|
msgid "\\"
|
|
msgstr ""
|
|
|
|
#. Octal escape sequences are not recognized, except for \0.
|
|
#: xg-cs-3.cs:18
|
|
msgid "\\134"
|
|
msgstr ""
|
|
|
|
#. Escape sequences in strings.
|
|
#: xg-cs-3.cs:20
|
|
msgid ""
|
|
"t -> \t, b -> \b, n -> \n"
|
|
", dquote -> \", squote -> ' ..."
|
|
msgstr ""
|
|
|
|
#. Hex escapes are recognized.
|
|
#: xg-cs-3.cs:22
|
|
msgid "bel: \a\n"
|
|
msgstr ""
|
|
|
|
#. Recognized despite comments
|
|
#. Even across multiline
|
|
#. comment!
|
|
#: xg-cs-3.cs:25
|
|
msgid "this is a single long line"
|
|
msgstr ""
|
|
|
|
#. Verbatim string literals are extracted.
|
|
#: xg-cs-3.cs:28
|
|
msgid "verbatim 1"
|
|
msgstr ""
|
|
|
|
#. In verbatim string literals, no escape sequences are recognized.
|
|
#: xg-cs-3.cs:30
|
|
msgid "verbatim 2 \\u005c \\\\ \\t \\b \\n \\'"
|
|
msgstr ""
|
|
|
|
#. In verbatim string literals, only doubled delimiters are recognized.
|
|
#: xg-cs-3.cs:32
|
|
msgid "verbatim 3 \"test"
|
|
msgstr ""
|
|
|
|
#. Normal and verbatim string literals can be concatenated.
|
|
#: xg-cs-3.cs:34
|
|
msgid "left - \"quotation\" - right"
|
|
msgstr ""
|
|
|
|
#. Invalid concatenations are not concatenated.
|
|
#: xg-cs-3.cs:38
|
|
msgid "fooba"
|
|
msgstr ""
|
|
|
|
#. Verify that a comma inside braces is hidden.
|
|
#: xg-cs-3.cs:40
|
|
msgid "this is the second argument"
|
|
msgstr ""
|
|
EOF
|
|
|
|
: ${DIFF=diff}
|
|
${DIFF} xg-cs-3.ok xg-cs-3.po
|
|
result=$?
|
|
|
|
exit $result
|