mirror of
https://https.git.savannah.gnu.org/git/gettext.git
synced 2026-01-27 01:44:30 +00:00
* gettext-tools/tests/xgettext-sh-1: Add tests of strings with embedded expressions. * gettext-tools/tests/xgettext-python-1: Likewise. * gettext-tools/tests/xgettext-tcl-2: Likewise. * gettext-tools/tests/xgettext-ruby-2: Likewise. * gettext-tools/tests/xgettext-javascript-3: Likewise.
127 lines
3.7 KiB
Bash
Executable File
127 lines
3.7 KiB
Bash
Executable File
#!/bin/sh
|
|
. "${srcdir=.}/init.sh"; path_prepend_ . ../src
|
|
|
|
# Test of Python support: escape sequences, string concatenation,
|
|
# strings with embedded expressions.
|
|
|
|
cat <<\EOF > xg-py-1.py
|
|
# interpret_ansic = true, interpret_unicode = false, f_string = false
|
|
_(b"abc\
|
|
\\def\'ghi\"jkl\a\b\f\n\r\t\v x\040x\x7ey\u0142\U00010123\N{LATIN SMALL LETTER Z}");
|
|
|
|
# interpret_ansic = false, interpret_unicode = false, f_string = false
|
|
_(br"abc\
|
|
\\def\'ghi\"jkl\a\b\f\n\r\t\v x\040x\x7ey\u0142\U00010123\N{LATIN SMALL LETTER Z}");
|
|
|
|
# interpret_ansic = true, interpret_unicode = true, f_string = false
|
|
_("abc\
|
|
\\def\'ghi\"jkl\a\b\f\n\r\t\v x\040x\x7ey\u0142\U00010123\N{LATIN SMALL LETTER Z}");
|
|
|
|
# interpret_ansic = false, interpret_unicode = true, f_string = false
|
|
_(r"abc\
|
|
\\def\'ghi\"jkl\a\b\f\n\r\t\v x\040x\x7ey\u0142\U00010123\N{LATIN SMALL LETTER Z}");
|
|
|
|
# interpret_ansic = true, interpret_unicode = true, f_string = false
|
|
_(u"abc\
|
|
\\def\'ghi\"jkl\a\b\f\n\r\t\v x\040x\x7ey\u0142\U00010123\N{LATIN SMALL LETTER Z}");
|
|
|
|
# interpret_ansic = true, interpret_unicode = true, f_string = true
|
|
_(f"abc\
|
|
\\def\'ghi\"jkl{{m\{{n\\{{o\\\{{p\\\\{{q\\\\\{{r}}s\}}t\\}}u\\\}}v\\\\}}w\\\\\}}x\a\b\f\n\r\t\v x\040x\x7ey\u0142\U00010123");
|
|
|
|
# interpret_ansic = false, interpret_unicode = true, f_string = true
|
|
_(fr"Abc\
|
|
\\def\'ghi\"jkl{{m\{{n\\{{o\\\{{p\\\\{{q\\\\\{{r}}s\}}t\\}}u\\\}}v\\\\}}w\\\\\}}x\a\b\f\n\r\t\v x\040x\x7ey\u0142\U00010123");
|
|
|
|
# This will not be extracted.
|
|
_(CATEGORIES["default"]["name"]);
|
|
|
|
# string concatenation
|
|
_("abc" "def" + "ghi"
|
|
"jkl" + mno)
|
|
|
|
# strings with embedded expressions
|
|
_(f"embedded_1_{foo}_bar");
|
|
_(f"embedded_2_{_('embedded_2_sub1')}_bar_{_('embedded_2_sub2')}_baz");
|
|
_(f"embedded_3");
|
|
EOF
|
|
|
|
: ${XGETTEXT=xgettext}
|
|
${XGETTEXT} --add-comments --no-location -o xg-py-1.tmp xg-py-1.py 2>xg-py-1.err
|
|
test $? = 0 || { cat xg-py-1.err; Exit 1; }
|
|
func_filter_POT_Creation_Date xg-py-1.tmp xg-py-1.pot
|
|
|
|
cat <<\EOF > xg-py-1.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"
|
|
|
|
#. interpret_ansic = true, interpret_unicode = false, f_string = false
|
|
msgid ""
|
|
"abc\\def'ghi\"jkl\a\b\f\n"
|
|
"\r\t\v x x~y\\u0142\\U00010123\\N{LATIN SMALL LETTER Z}"
|
|
msgstr ""
|
|
|
|
#. interpret_ansic = false, interpret_unicode = false, f_string = false
|
|
#. interpret_ansic = false, interpret_unicode = true, f_string = false
|
|
msgid ""
|
|
"abc\\\n"
|
|
"\\\\def\\'ghi\\\"jkl\\a\\b\\f\\n\\r\\t\\v "
|
|
"x\\040x\\x7ey\\u0142\\U00010123\\N{LATIN SMALL LETTER Z}"
|
|
msgstr ""
|
|
|
|
#. interpret_ansic = true, interpret_unicode = true, f_string = false
|
|
msgid ""
|
|
"abc\\def'ghi\"jkl\a\b\f\n"
|
|
"\r\t\v x x~ył𐄣z"
|
|
msgstr ""
|
|
|
|
#. interpret_ansic = true, interpret_unicode = true, f_string = true
|
|
msgid ""
|
|
"abc\\def'ghi\"jkl{m\\{n\\{o\\\\{p\\\\{q\\\\\\{r}s\\}t\\}u\\\\}v\\\\}w\\\\\\}"
|
|
"x\a\b\f\n"
|
|
"\r\t\v x x~ył𐄣"
|
|
msgstr ""
|
|
|
|
#. interpret_ansic = false, interpret_unicode = true, f_string = true
|
|
msgid ""
|
|
"Abc\\\n"
|
|
"\\\\def\\'ghi\\\"jkl{m\\{n\\\\{o\\\\\\{p\\\\\\\\{q\\\\\\\\\\{r}s\\}t\\\\}u\\"
|
|
"\\\\}v\\\\\\\\}w\\\\\\\\\\}x\\a\\b\\f\\n\\r\\t\\v "
|
|
"x\\040x\\x7ey\\u0142\\U00010123"
|
|
msgstr ""
|
|
|
|
#. string concatenation
|
|
msgid "abcdefghijkl"
|
|
msgstr ""
|
|
|
|
msgid "embedded_2_sub1"
|
|
msgstr ""
|
|
|
|
msgid "embedded_2_sub2"
|
|
msgstr ""
|
|
|
|
msgid "embedded_3"
|
|
msgstr ""
|
|
EOF
|
|
|
|
: ${DIFF=diff}
|
|
${DIFF} xg-py-1.ok xg-py-1.pot
|
|
result=$?
|
|
|
|
exit $result
|