1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126
|
#!/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
|